Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 57e694a6b9841a540690bcab84b692e95d616bf1
https://github.com/WebKit/WebKit/commit/57e694a6b9841a540690bcab84b692e95d616bf1
Author: Carlos Garcia Campos <[email protected]>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M Source/WebCore/platform/CoordinatedGraphics.cmake
M Source/WebCore/platform/graphics/skia/SkiaCompositingLayer.cpp
M Source/WebCore/platform/graphics/skia/SkiaCompositingLayer.h
A
Source/WebCore/platform/graphics/texmap/coordinated/AcceleratedAnimation.cpp
A Source/WebCore/platform/graphics/texmap/coordinated/AcceleratedAnimation.h
A
Source/WebCore/platform/graphics/texmap/coordinated/AcceleratedAnimations.cpp
A
Source/WebCore/platform/graphics/texmap/coordinated/AcceleratedAnimations.h
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.cpp
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.h
M
Source/WebCore/platform/graphics/texmap/coordinated/GraphicsLayerCoordinated.cpp
M
Source/WebCore/platform/graphics/texmap/coordinated/GraphicsLayerCoordinated.h
Log Message:
-----------
[GTK][WPE] Skia compositor: add AcceleratedAnimations to replace
TextureMapperAnimations
https://bugs.webkit.org/show_bug.cgi?id=324439
Reviewed by Nikolas Zimmermann.
Add AcceleratedAnimation class, based on TextureAnimation, but split
into the immutable part, that is now ThreadSafeRefCounted, and the
mutable part that is a Playback struct stored by the
AcceleratedAnimations class together with the animation. This way when
copied across threads the immutable part is just a refcount operation
and the mutable part is trivially copyable.
* Source/WebCore/platform/CoordinatedGraphics.cmake:
* Source/WebCore/platform/graphics/skia/SkiaCompositingLayer.cpp:
(WebCore::SkiaCompositingLayer::syncAnimations):
* Source/WebCore/platform/graphics/skia/SkiaCompositingLayer.h:
* Source/WebCore/platform/graphics/texmap/coordinated/AcceleratedAnimation.cpp:
Added.
(WebCore::applyFilterAnimation):
(WebCore::applyOpacityAnimation):
(WebCore::applyTransformAnimation):
(WebCore::shouldReverseAnimationValue):
(WebCore::normalizedAnimationValue):
(WebCore::normalizedAnimationValueForFillsForwards):
(WebCore::AcceleratedAnimation::AcceleratedAnimation):
(WebCore::m_fillsForwards):
(WebCore::AcceleratedAnimation::apply const):
(WebCore::AcceleratedAnimation::timingFunctionForKeyframe const):
(WebCore::AcceleratedAnimation::applyInternal const):
(WebCore::m_direction):
(WebCore::AcceleratedAnimation::isTransformAnimation const):
* Source/WebCore/platform/graphics/texmap/coordinated/AcceleratedAnimation.h:
Added.
(WebCore::AcceleratedAnimation::Playback::start):
(WebCore::AcceleratedAnimation::Playback::pause):
(WebCore::AcceleratedAnimation::Playback::suspend):
(WebCore::AcceleratedAnimation::Playback::resume):
(WebCore::AcceleratedAnimation::create):
*
Source/WebCore/platform/graphics/texmap/coordinated/AcceleratedAnimations.cpp:
Added.
(WebCore::AcceleratedAnimations::update):
(WebCore::AcceleratedAnimations::add):
(WebCore::AcceleratedAnimations::remove):
(WebCore::AcceleratedAnimations::pause):
(WebCore::AcceleratedAnimations::suspend):
(WebCore::AcceleratedAnimations::resume):
(WebCore::AcceleratedAnimations::apply const):
(WebCore::AcceleratedAnimations::hasActiveAnimationsOfType const):
(WebCore::AcceleratedAnimations::hasRunningTransformAnimations const):
* Source/WebCore/platform/graphics/texmap/coordinated/AcceleratedAnimations.h:
Added.
(WebCore::AcceleratedAnimations::Entry::apply const):
(WebCore::AcceleratedAnimations::isEmpty const):
(WebCore::AcceleratedAnimations::size const):
(WebCore::AcceleratedAnimations::setTransforms):
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.cpp:
(WebCore::CoordinatedPlatformLayer::setAnimations):
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.h:
*
Source/WebCore/platform/graphics/texmap/coordinated/GraphicsLayerCoordinated.cpp:
(WebCore::GraphicsLayerCoordinated::addAnimation):
(WebCore::GraphicsLayerCoordinated::acceleratedAnimationsForTesting const):
(WebCore::GraphicsLayerCoordinated::computeLayerTransformIfNeeded):
(WebCore::GraphicsLayerCoordinated::updateAnimations):
*
Source/WebCore/platform/graphics/texmap/coordinated/GraphicsLayerCoordinated.h:
Canonical link: https://commits.webkit.org/321379@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications