RESOLVED FIXED 44573
[chromium] Implement clipping for composited layers
https://bugs.webkit.org/show_bug.cgi?id=44573
Summary [chromium] Implement clipping for composited layers
Vangelis Kokkevis
Reported 2010-08-24 18:55:00 PDT
The accelerated compositor in chromium doesn't yet handle layers that clip their descendants.
Attachments
Proposed patch (14.66 KB, patch)
2010-08-24 19:20 PDT, Vangelis Kokkevis
no flags
Proposed patch - removed temporary stencil clipping debug code (14.63 KB, patch)
2010-08-25 10:55 PDT, Vangelis Kokkevis
kbr: review+
Vangelis Kokkevis
Comment 1 2010-08-24 19:20:03 PDT
Created attachment 65359 [details] Proposed patch
Vangelis Kokkevis
Comment 2 2010-08-25 10:55:44 PDT
Created attachment 65436 [details] Proposed patch - removed temporary stencil clipping debug code
Kenneth Russell
Comment 3 2010-08-25 12:24:09 PDT
Comment on attachment 65436 [details] Proposed patch - removed temporary stencil clipping debug code Generally looks good. There's one piece of complexity below I'd ask you to rethink, but you can fix the issues below before commit. WebCore/platform/graphics/chromium/LayerChromium.cpp:456 + GLC(glUniform4f(sv->borderShaderColorLocation(), 0, 1 , 0, 0.7)); It's probably worth a comment that the color values don't matter here since the color mask is set to all false at this point. WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:506 + // will allow us up to 255 nested clipping layers which is hopefuly enough. hopefully WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:554 + ASSERT(!currentStencilValue); Because of this ASSERT, it feels to me like there must be some simpler logic just involving a test of "--currentStencilValue == 0" or similar, and getting rid of mustDisableStencil and stencilTestEnabledForSubtree. I'm not 100% sure of this though and don't want you to risk breaking your current logic if it's well tested, so feel free to just consider this for the future.
Vangelis Kokkevis
Comment 4 2010-08-26 11:09:38 PDT
Note You need to log in before you can comment on or make changes to this bug.