[Webkit-unassigned] [Bug 52868] [chromium] Fix redundant video frame paint on CSS LayerChromium for <video>
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Jan 24 18:33:19 PST 2011
https://bugs.webkit.org/show_bug.cgi?id=52868
James Robinson <jamesr at chromium.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #79691|review? |review-
Flag| |
--- Comment #3 from James Robinson <jamesr at chromium.org> 2011-01-24 18:33:19 PST ---
(From update of attachment 79691)
View in context: https://bugs.webkit.org/attachment.cgi?id=79691&action=review
> Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp:402
> + // If we are using GPU to render video, ignore requests to paint frames into
> + // canvas because it will be taken care of by VideoLayerChromium.
> + if (acceleratedRenderingInUse())
> + return;
Yeah, I'm pretty sure this will break painting from a h-w accelerated video into a 2d canvas. Please check if we have a layout test to cover this case and if not please add one (create a <video> and a <canvas>, on the canvas' 2d context do .drawImage(video, ...), assert that the pixels show up). I think the philip suite may have such a test.
2d and webgl canvases have the same issue. The basic problem is that you want the paint() call to actually render when painting into a 2d canvas but you don't want it to happen when doing 'normal' rendering, so there's an explicit call in CanvasRenderingContext2D::drawImage() to differentiate the two: http://trac.webkit.org/browser/trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp#L1260. makeRenderingResultsAvailable() ensures that the source canvas' ImageBuffer contains the actual bits of the source canvas, which is then drawn into the destination canvas. I think you need something a bit different here, but whatever the code is it would go somewhere around here: http://trac.webkit.org/browser/trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp#L1337.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list