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

Reply via email to