RESOLVED FIXED 79048
Enable compositing when a CSS filter is animating
https://bugs.webkit.org/show_bug.cgi?id=79048
Summary Enable compositing when a CSS filter is animating
Dean Jackson
Reported 2012-02-20 15:05:53 PST
Now that we have hardware accelerated filters, and support for animation (at least on OS X), we should turn on compositing for animated filters.
Attachments
Patch (10.87 KB, patch)
2012-02-20 15:28 PST, Dean Jackson
no flags
Patch (14.21 KB, patch)
2012-02-20 17:52 PST, Dean Jackson
no flags
WK2 No Worky Testcase (754 bytes, text/html)
2012-02-20 17:53 PST, Dean Jackson
no flags
Patch (15.68 KB, patch)
2012-03-05 14:40 PST, Dean Jackson
no flags
Patch (21.50 KB, patch)
2012-03-05 21:37 PST, Dean Jackson
simon.fraser: review+
webkit.review.bot: commit-queue-
Dean Jackson
Comment 1 2012-02-20 15:06:10 PST
Dean Jackson
Comment 2 2012-02-20 15:28:44 PST
Dean Jackson
Comment 3 2012-02-20 15:38:45 PST
This patch seems too easy (but it works as verified by CA_PRINT_TREE). Simon, have I missed something?
Simon Fraser (smfr)
Comment 4 2012-02-20 16:05:36 PST
Comment on attachment 127858 [details] Patch Don't you need to test the layer output (layerTreeAsText())?. You'll also have to be careful that the first animating thing doesn't throw the rest into layers for the test.
Dean Jackson
Comment 5 2012-02-20 17:50:47 PST
(In reply to comment #4) > (From update of attachment 127858 [details]) > Don't you need to test the layer output (layerTreeAsText())?. Added a new test for that, but I've run into a problem. > You'll also have to be careful that the first animating thing doesn't throw the rest into layers for the test. I've added a couple of non-filtered elements. The problem is that the fix doesn't work in WebKit2. It works fine in WK1, but with WK2 the layer updates don't get painted. I do see the object jump into compositing mode, but only repaint if I do something tricky in the inspector (like highlight the object, then it paints that frame once). I've attached a simple example that exercises the feature. Hover over the first blue rectangle and it should animate. Doesn't work in WK2.
Dean Jackson
Comment 6 2012-02-20 17:52:12 PST
Dean Jackson
Comment 7 2012-02-20 17:53:08 PST
Created attachment 127880 [details] WK2 No Worky Testcase
Dean Jackson
Comment 8 2012-03-05 14:40:06 PST
WebKit Review Bot
Comment 9 2012-03-05 14:43:17 PST
Attachment 130206 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'LayoutTests/ChangeLog', u'LayoutTests/css3..." exit_code: 1 Source/WebCore/rendering/RenderLayerCompositor.cpp:1514: Line contains only semicolon. If this should be an empty statement, use { } instead. [whitespace/semicolon] [5] Total errors found: 1 in 7 files If any of these errors are false positives, please file a bug against check-webkit-style.
Dean Jackson
Comment 10 2012-03-05 15:01:06 PST
Style checker failure is because I have the semicolon for the return statement on a blank line, due to the #if. I think that's ok.
WebKit Review Bot
Comment 11 2012-03-05 16:02:32 PST
Comment on attachment 130206 [details] Patch Attachment 130206 [details] did not pass chromium-ews (chromium-xvfb): Output: http://queues.webkit.org/results/11836027 New failing tests: css3/filters/composited-during-animation-layertree.html
Dean Jackson
Comment 12 2012-03-05 17:03:30 PST
Comment on attachment 130206 [details] Patch Patch no worky in the case where an element is already composited. Also, layer tree output is platform-specific (as shown in failing test for chromium)
Dean Jackson
Comment 13 2012-03-05 21:37:41 PST
Dean Jackson
Comment 14 2012-03-05 21:39:00 PST
The platform that will produce interesting results for the layout tests is mac-future, but those results are not included here.
WebKit Review Bot
Comment 15 2012-03-05 22:31:02 PST
Comment on attachment 130281 [details] Patch Attachment 130281 [details] did not pass chromium-ews (chromium-xvfb): Output: http://queues.webkit.org/results/11833185 New failing tests: css3/filters/composited-during-transition-layertree.html css3/filters/composited-during-animation-layertree.html
Dean Jackson
Comment 16 2012-03-06 12:53:09 PST
I'm not sure why the chromium tests are failing. Since the results are platform specific anyway, I'll put them in the platform dir.
Dean Jackson
Comment 17 2012-03-06 13:01:38 PST
Note You need to log in before you can comment on or make changes to this bug.