[Webkit-unassigned] [Bug 76715] Refactor plugin drawing to be more data driven

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Jan 20 12:07:06 PST 2012


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





--- Comment #2 from Adrienne Walker <enne at google.com>  2012-01-20 12:07:06 PST ---
(From update of attachment 123343)
View in context: https://bugs.webkit.org/attachment.cgi?id=123343&action=review

> Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:682
> +struct PluginProgramBinding {

Whoa, I never knew this code existed.  Can you combine all four of these shader permutations? (If you want to make it a separate patch for clarity, feel welcome to.) It looks like PosTexStretch is PosTexTransform but with an identical translation and stretch for x and y.  And, "flip" could be considered just a change in tex transform, so there's no need for a separate shader for it or any of this boilerplate uniform-related template code.

> Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:723
> +        ASSERT(extensions->supports("GL_CHROMIUQUAD->iosurface"));

Search/replace typo?

> Source/WebCore/platform/graphics/chromium/cc/CCPluginDrawQuad.h:63
> +    CCPluginLayerImpl* m_layer;

>From a design perspective, I don't think quads should have backpointers back to their originating layers if it can be helped.  Architecturally, I'd be fine with the assumption that we call appendQuads prior to any draw call.  That would let you push all the io surface handling back into plugin layer, and simply give the quad a texture id.

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