Bug 91769 - Layout Test css3/filters/custom/custom-filter-animation.html is failing
Summary: Layout Test css3/filters/custom/custom-filter-animation.html is failing
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Alexandru Chiculita
Depends on:
Reported: 2012-07-19 12:17 PDT by Jer Noble
Modified: 2012-08-14 16:16 PDT (History)
4 users (show)

See Also:

Patch V1 (6.77 KB, patch)
2012-08-09 16:18 PDT, Alexandru Chiculita
dino: review+
dino: commit-queue-
Details | Formatted Diff | Diff
Patch for landing (6.76 KB, patch)
2012-08-14 14:21 PDT, Alexandru Chiculita
webkit.review.bot: commit-queue-
Details | Formatted Diff | Diff
Patch for landing (6.94 KB, patch)
2012-08-14 15:05 PDT, Alexandru Chiculita
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jer Noble 2012-07-19 12:17:49 PDT
Failure occurs in javascript:

9 Uncaught Error: There's no filter in "none"  animation-test-helpers.js:67

This test appears to be incorrectly authored.

Test was introduced in <http://trac.webkit.org/changeset/115487> which was the fix for https://bugs.webkit.org/show_bug.cgi?id=71406.
Comment 1 Alexandru Chiculita 2012-07-19 14:35:48 PDT
On what platform is this happening? I"m running this test on Mac Safari and Mac Chromium just fine.
Comment 2 Jer Noble 2012-07-19 15:08:32 PDT
Is ENABLE_CSS_FILTERS even turned on the Mac port?
Comment 3 Jer Noble 2012-07-19 15:11:42 PDT
Regardless, this is occurring on the Mountain Lion test bots, which unfortunately are still not public-access. :(
Comment 4 Alexandru Chiculita 2012-07-19 15:19:49 PDT
(In reply to comment #2)
> Is ENABLE_CSS_FILTERS even turned on the Mac port?

Both ENABLE_CSS_FILTERS and ENABLE_CSS_SHADERS are turned on the Mac port. That's at least on Lion. CSS Shaders also need WebGL enabled and also activated.

The error you see happens only when ENABLE_CSS_SHADERS is disabled at compile time, as we enable the runtime flags using the overridePreference call. I can only suppose that Mountain Lion has ENABLE_CSS_SHADERS turned of by default at compile time.

In that case, can you please add the whole the css3/filters/custom folder to the ignored list on Mountain Lion? And maybe a new bug to track the status of that compile time flag?
Comment 5 Jer Noble 2012-07-19 16:39:54 PDT
Mountain Lion doesn't have any differences from Lion when it comes to the ENABLE_CSS_SHADER flag.  And other tests in css3/filters/custom pass fine; it's just css3/filters/custom/custom-filter-animation.html that is failing.
Comment 6 Jer Noble 2012-07-19 16:50:32 PDT
Added the expected failing result to the mac/TestExpectations list in <http://trac.webkit.org/changeset/123136>.
Comment 7 Alexandru Chiculita 2012-08-09 10:15:05 PDT
There are two issues:
1. Safari Mac on Mountain Lion has accelerated animations support for filters. It is only enabled on ML at runtime. However, CSS Shaders are not composited in hardware yet, so it fallbacks to software rendering.   CSS animations will still try to apply using platform code meaning that WebKit will be stuck forever waiting for the animation started event.

2. The framebuffer is not attached again in repaints. That's because of a GraphicsContext3D bug: https://bugs.webkit.org/show_bug.cgi?id=93625

I will post patches for both bugs soon.
Comment 8 Alexandru Chiculita 2012-08-09 16:18:22 PDT
Created attachment 157574 [details]
Patch V1
Comment 9 Dean Jackson 2012-08-13 16:51:04 PDT
Comment on attachment 157574 [details]
Patch V1

View in context: https://bugs.webkit.org/attachment.cgi?id=157574&action=review

> Source/WebCore/ChangeLog:13
> +        Also the GraphicsContext3D doesn't update it's own internal m_boundFBO when a framebuffer is deleted,

typo it's -> its

> Source/WebCore/ChangeLog:17
> +        The man for glDeleteFramebuffer says that the bound framebuffer is unbound before deleting it.

I suggest "The documentation for glDeleteFramebuffer..."

> Source/WebCore/ChangeLog:20
> +        and GraphicsContext3DEfl.cpp, to make sure that m_boundFBO is not used for other purposes.

I think you left GraphicsContext3DEfl out of this patch. I'll r+ but cq- to either fix that or this ChangeLog.
Comment 10 Alexandru Chiculita 2012-08-14 14:21:09 PDT
Created attachment 158414 [details]
Patch for landing

Thanks Dean!

The efl change was there, but I've used the bad filename for it in the Changelog -> efl/GraphicsContext3DPrivate.cpp. I've updated the Changelog.
Comment 11 WebKit Review Bot 2012-08-14 14:37:24 PDT
Comment on attachment 158414 [details]
Patch for landing

Rejecting attachment 158414 [details] from commit-queue.

Failed to run "['/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '-..." exit_code: 2

Last 500 characters of output:
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp
patching file Source/WebCore/platform/graphics/efl/GraphicsContext3DPrivate.cpp
patching file Source/WebCore/platform/graphics/filters/FECustomFilter.cpp
patching file Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp

Failed to run "[u'/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply', u'--force']" exit_code: 1 cwd: /mnt/git/webkit-commit-queue/

Full output: http://queues.webkit.org/results/13489879
Comment 12 Alexandru Chiculita 2012-08-14 15:05:57 PDT
Created attachment 158421 [details]
Patch for landing

Comment 13 WebKit Review Bot 2012-08-14 16:16:51 PDT
Comment on attachment 158421 [details]
Patch for landing

Clearing flags on attachment: 158421

Committed r125617: <http://trac.webkit.org/changeset/125617>
Comment 14 WebKit Review Bot 2012-08-14 16:16:55 PDT
All reviewed patches have been landed.  Closing bug.