WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
96563
[CSS Shaders] Cached validated programs are destroyed and recreated when there is only one custom filter animating
https://bugs.webkit.org/show_bug.cgi?id=96563
Summary
[CSS Shaders] Cached validated programs are destroyed and recreated when ther...
Max Vujovic
Reported
2012-09-12 14:42:23 PDT
In FilterEffectRenderer::build, we first clear the old effects and then create the new effects. Suppose we have one FECustomFilter animating on our page. In FilterEffectRenderer::build, we first destroy the old FECustomFilter. This removes its validated program from the cache since it was the last FECustomFilter using it. Then, we create the new FECustomFilter, and we have to create a new validated program. We need to keep the old effects around until we're done creating the new effects so that we can reuse validated programs.
Attachments
Patch
(2.90 KB, patch)
2012-09-12 15:33 PDT
,
Max Vujovic
no flags
Details
Formatted Diff
Diff
Patch
(2.36 KB, patch)
2012-09-12 15:57 PDT
,
Max Vujovic
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Max Vujovic
Comment 1
2012-09-12 15:33:48 PDT
Created
attachment 163721
[details]
Patch
Alexandru Chiculita
Comment 2
2012-09-12 15:43:44 PDT
Comment on
attachment 163721
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=163721&action=review
> Source/WebCore/rendering/FilterEffectRenderer.cpp:207 > + // New FECustomFilters can reuse cached resources from old FECustomFilters.
I think it would be easy to just create a new list and swap it here. It would be similar to clearing m_effects, while still keeping the old ones alive. FilterEffectList oldEffects; m_effects.swap(oldEffects);
Max Vujovic
Comment 3
2012-09-12 15:44:54 PDT
(In reply to
comment #2
)
> (From update of
attachment 163721
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=163721&action=review
> > > Source/WebCore/rendering/FilterEffectRenderer.cpp:207 > > + // New FECustomFilters can reuse cached resources from old FECustomFilters. > > I think it would be easy to just create a new list and swap it here. It would be similar to clearing m_effects, while still keeping the old ones alive. > > FilterEffectList oldEffects; > m_effects.swap(oldEffects);
Sure, I can do that.
Max Vujovic
Comment 4
2012-09-12 15:57:14 PDT
Created
attachment 163724
[details]
Patch Updated patch based on Alex's informal review.
WebKit Review Bot
Comment 5
2012-09-12 17:17:02 PDT
Comment on
attachment 163724
[details]
Patch Clearing flags on attachment: 163724 Committed
r128387
: <
http://trac.webkit.org/changeset/128387
>
WebKit Review Bot
Comment 6
2012-09-12 17:17:05 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.
Top of Page
Format For Printing
XML
Clone This Bug