[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