[Webkit-unassigned] [Bug 76715] Refactor plugin drawing to be more data driven
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Jan 23 16:29:39 PST 2012
https://bugs.webkit.org/show_bug.cgi?id=76715
--- Comment #6 from Adrienne Walker <enne at google.com> 2012-01-23 16:29:40 PST ---
(From update of attachment 123578)
View in context: https://bugs.webkit.org/attachment.cgi?id=123578&action=review
> Source/WebCore/platform/graphics/chromium/PluginLayerChromium.cpp:66
> + if (!m_ioSurfaceTextureId)
> + m_ioSurfaceTextureId = rendererContext->createTexture();
If you're going to store the texture ID on the main thread, please use a ManagedTexture like other layer types. Otherwise, we can't track this GPU memory or make sure we're not using a bogus texture id when the context is lost. Additionally, you'll need to reserve it each frame and set m_ioSurfaceChanged if it stops being valid because the texture manager has evicted it. VideoLayerChromium is a good model to use here.
> Source/WebCore/platform/graphics/chromium/PluginLayerChromium.cpp:78
> + extensions->texImageIOSurface2DCHROMIUM(Extensions3D::TEXTURE_RECTANGLE_ARB,
> + m_ioSurfaceWidth,
> + m_ioSurfaceHeight,
> + m_ioSurfaceId,
> + 0);
I'm a little dubious about this texImage, since the texture id could be in use on the impl thread. reveman: If this texture id comes from a managed texture, is that sufficient to work with atomic updates? Does this also need to get wrapped in a texture updater?
--
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