[Webkit-unassigned] [Bug 76720] [chromium] Refactor video drawing to be more data driven

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jan 25 08:09:26 PST 2012


https://bugs.webkit.org/show_bug.cgi?id=76720





--- Comment #9 from Tim Dresser <tdresser at chromium.org>  2012-01-25 08:09:23 PST ---
(In reply to comment #7)
> I think texture upload could still be separated out from drawing if we added a CCLayerImpl::postDraw() function then, instead of a pre-draw one.  The guarantee would be that any layer that had appendQuads called on it would also get a postDraw() call.  Then, CCVideoLayerImpl::appendQuads could upload textures and take a lock, generating quads with not much more than texture ids and rects, while CCVideoLayerImpl::postDraw() would be able to hand back the frame.

appendQuads can't upload the textures, since it doesn't have access to the GraphicsContext3D, TextureAllocator, LayerRenderCapabilities, or TextureManager. 

Based on the comments on bug 76715, it feels like the texture upload should happen in LayerChromium::updateCompositorResources. I don't see how I can do this, as the TextureAllocator (required by CCVideoLayerImpl::copyPlaneToTexture)  is created in LayerRendererChromium::initializeSharedObjects, so I can't access it in updateCompositorResources.

I don't see how textures can be uploaded in either appendQuads or in updateCompositorResources. 

If we can figure out how to upload textures in updateCompositorResources, then I think we would want to create LayerChromium::postDraw() instead of CCLayerImpl::postDraw().

Any suggestions?

-- 
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