Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: c421dabfa6f1f22869daa21a724ddf6f05d15061
https://github.com/WebKit/WebKit/commit/c421dabfa6f1f22869daa21a724ddf6f05d15061
Author: Antoine Quint <[email protected]>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M Source/WebCore/platform/animation/AcceleratedEffect.cpp
Log Message:
-----------
[threaded-animation-resolution] don't accelerate filter interpolation if a
`drop-shadow()` operation is not last
https://bugs.webkit.org/show_bug.cgi?id=269591
Reviewed by Dean Jackson.
If a `filter` value is ever set on an animated target, we can only use
accelerated interpolation if it contains a
`drop-shadow()` operation as its last operation. The reason we need to
implement this constraint is because a
`CALayer` specifies drop shadow as a separate group of properties compared to
other filters and is applied last.
We rewrite our keyframe lookup code to be more straightforward although
possibly less efficient by using two separate
loops, one to create the list of relevant values for the animated filter
property, and one to iterate over all values.
The previous code failed to handle some cases with implicit keyframes. As we
iterate over the filter values, we now
find the longest list of filter operations and once we're done iterating, check
that list for a `drop-shadow()` operation
and only validate the filter if it's last or absent.
* Source/WebCore/platform/animation/AcceleratedEffect.cpp:
(WebCore::AcceleratedEffect::validateFilters):
Canonical link: https://commits.webkit.org/274877@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes