RESOLVED FIXED 88435
[chromium] Skip willDraw() and didDraw() on fully occluded layers
https://bugs.webkit.org/show_bug.cgi?id=88435
Summary [chromium] Skip willDraw() and didDraw() on fully occluded layers
Dana Jansens
Reported 2012-06-06 11:10:25 PDT
[chromium] Skip willDraw() on occluded layers, and only call didDraw() when willDraw() was called
Attachments
Patch (9.32 KB, patch)
2012-06-06 11:24 PDT, Dana Jansens
no flags
Archive of layout-test-results from ec2-cr-linux-04 (806.45 KB, application/zip)
2012-06-06 22:26 PDT, WebKit Review Bot
no flags
Patch (9.11 KB, patch)
2012-06-07 09:37 PDT, Dana Jansens
no flags
Dana Jansens
Comment 1 2012-06-06 11:24:13 PDT
Dana Jansens
Comment 2 2012-06-06 11:29:07 PDT
FYI This will allow us to do the texture upload in CCVideoLayerImpl::willDraw(). I will do that in a way that the layer doesn't need to access the 3d context though, using the CCRenderer's interfaces instead.
WebKit Review Bot
Comment 3 2012-06-06 22:26:25 PDT
Comment on attachment 146069 [details] Patch Attachment 146069 [details] did not pass chromium-ews (chromium-xvfb): Output: http://queues.webkit.org/results/12914108 New failing tests: css3/filters/effect-brightness-hw.html compositing/reflections/load-video-in-reflection.html compositing/reflections/reflection-on-composited.html platform/chromium/compositing/child-layer-3d-sorting.html css3/filters/effect-invert-hw.html css3/filters/effect-contrast-hw.html compositing/reflections/reflection-ordering.html
WebKit Review Bot
Comment 4 2012-06-06 22:26:29 PDT
Created attachment 146198 [details] Archive of layout-test-results from ec2-cr-linux-04 The attached test failures were seen while running run-webkit-tests on the chromium-ews. Bot: ec2-cr-linux-04 Port: <class 'webkitpy.common.config.ports.ChromiumXVFBPort'> Platform: Linux-2.6.35-28-virtual-x86_64-with-Ubuntu-10.10-maverick
Dana Jansens
Comment 5 2012-06-07 09:37:27 PDT
Adrienne Walker
Comment 6 2012-06-08 13:43:24 PDT
Comment on attachment 146310 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=146310&action=review R=me. I'm curious how video frame uploads will work in an ubercomp world, but this looks good for now. > Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp:531 > + // Make the viewport large so that we can have large layers that get considered for occlusion (small layers do not). Sad to have to bake these heuristic assumptions into tests.
Dana Jansens
Comment 7 2012-06-08 14:00:35 PDT
Comment on attachment 146310 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=146310&action=review >> Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp:531 >> + // Make the viewport large so that we can have large layers that get considered for occlusion (small layers do not). > > Sad to have to bake these heuristic assumptions into tests. Yeh, me too.. We'd have to expose something on CCLTHImpl though otherwise which seemed too much to me. Wdyt is the right thing to do?
Adrienne Walker
Comment 8 2012-06-08 14:15:34 PDT
(In reply to comment #7) > (From update of attachment 146310 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=146310&action=review > > >> Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp:531 > >> + // Make the viewport large so that we can have large layers that get considered for occlusion (small layers do not). > > > > Sad to have to bake these heuristic assumptions into tests. > > Yeh, me too.. We'd have to expose something on CCLTHImpl though otherwise which seemed too much to me. Wdyt is the right thing to do? Talking out loud, maybe this sort of thing should be a setting, where you could have one test for the setting itself, but other tests could assume a less hairy default behavior. I don't know that it's that important to fix; I was just remarking that it's unfortunate.
Dana Jansens
Comment 9 2012-06-08 14:24:59 PDT
Comment on attachment 146310 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=146310&action=review >>>> Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp:531 >>>> + // Make the viewport large so that we can have large layers that get considered for occlusion (small layers do not). >>> >>> Sad to have to bake these heuristic assumptions into tests. >> >> Yeh, me too.. We'd have to expose something on CCLTHImpl though otherwise which seemed too much to me. Wdyt is the right thing to do? > > Talking out loud, maybe this sort of thing should be a setting, where you could have one test for the setting itself, but other tests could assume a less hairy default behavior. > > I don't know that it's that important to fix; I was just remarking that it's unfortunate. Oh! A CCLayerTreeHostSetting sounds nice.. thanks for that. I'll make a bug.
WebKit Review Bot
Comment 10 2012-06-08 14:38:08 PDT
Comment on attachment 146310 [details] Patch Clearing flags on attachment: 146310 Committed r119867: <http://trac.webkit.org/changeset/119867>
WebKit Review Bot
Comment 11 2012-06-08 14:38:12 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.