Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e009963a7b178a306760b645e6a12e6a75ca4f4b
      
https://github.com/WebKit/WebKit/commit/e009963a7b178a306760b645e6a12e6a75ca4f4b
  Author: Carlos Garcia Campos <cgar...@igalia.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M Source/WebCore/page/scrolling/nicosia/ScrollingStateNodeNicosia.cpp
    M Source/WebCore/page/scrolling/nicosia/ScrollingTreeNicosia.cpp
    M Source/WebCore/platform/TextureMapper.cmake
    M Source/WebCore/platform/graphics/Damage.h
    M Source/WebCore/platform/graphics/GraphicsLayer.cpp
    M Source/WebCore/platform/graphics/GraphicsLayer.h
    M Source/WebCore/platform/graphics/GraphicsLayerClient.h
    M Source/WebCore/platform/graphics/nicosia/NicosiaPlatformLayer.h
    M Source/WebCore/platform/graphics/nicosia/NicosiaSceneIntegration.cpp
    M Source/WebCore/platform/graphics/nicosia/NicosiaSceneIntegration.h
    M Source/WebCore/platform/graphics/skia/SkiaPaintingEngine.cpp
    M Source/WebCore/platform/graphics/skia/SkiaPaintingEngine.h
    M 
Source/WebCore/platform/graphics/texmap/GraphicsLayerAsyncContentsDisplayDelegateTextureMapper.cpp
    M 
Source/WebCore/platform/graphics/texmap/GraphicsLayerAsyncContentsDisplayDelegateTextureMapper.h
    M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedAnimatedBackingStoreClient.cpp
    M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedAnimatedBackingStoreClient.h
    M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStoreProxy.cpp
    M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStoreProxy.h
    R 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp
    R 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h
    R 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayerCairo.cpp
    R 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayerSkia.cpp
    A 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.cpp
    A 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.h
    A 
Source/WebCore/platform/graphics/texmap/coordinated/GraphicsLayerCoordinated.cpp
    A 
Source/WebCore/platform/graphics/texmap/coordinated/GraphicsLayerCoordinated.h
    M Source/WebCore/rendering/RenderLayerBacking.cpp
    M Source/WebCore/rendering/RenderLayerBacking.h
    M Source/WebCore/rendering/RenderLayerCompositor.cpp
    M Source/WebCore/rendering/RenderLayerCompositor.h
    M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp
    M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h

  Log Message:
  -----------
  [CoordinatedGraphics] Introduce CoordinatedPlatformLayer
https://bugs.webkit.org/show_bug.cgi?id=283966

Reviewed by Alejandro G. Castro.

Rename CoordinatedGraphicsLayer as GraphicsLayerCoordinated since it's
the coordinated graphics implementation of GraphicsLayer. Also add
CoordinatedPlatformLayer class to keep the layers composition state to
be applied by the threaded compositor. This is an initial patch that
still uses NicosiaCompositionLayer in CoordinatedPlatformLayer so that
it doesn't require changes in the composition side.

* Source/WebCore/page/scrolling/nicosia/ScrollingStateNodeNicosia.cpp:
(WebCore::LayerRepresentation::platformLayerFromGraphicsLayer):
* Source/WebCore/page/scrolling/nicosia/ScrollingTreeNicosia.cpp:
(WebCore::ScrollingTreeNicosia::applyLayerPositionsInternal):
* Source/WebCore/platform/TextureMapper.cmake:
* Source/WebCore/platform/graphics/Damage.h:
* Source/WebCore/platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::supportsContentsTiling):
* Source/WebCore/platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::isGraphicsLayerCoordinated const):
(WebCore::GraphicsLayer::isCoordinatedGraphicsLayer const): Deleted.
* Source/WebCore/platform/graphics/nicosia/NicosiaPlatformLayer.h:
(Nicosia::PlatformLayer::createUpdateScope):
* Source/WebCore/platform/graphics/nicosia/NicosiaSceneIntegration.cpp:
(Nicosia::SceneIntegration::createUpdateScope):
(Nicosia::SceneIntegration::UpdateScope::UpdateScope):
(Nicosia::SceneIntegration::UpdateScope::~UpdateScope):
* Source/WebCore/platform/graphics/nicosia/NicosiaSceneIntegration.h:
* Source/WebCore/platform/graphics/skia/SkiaPaintingEngine.cpp:
(WebCore::SkiaPaintingEngine::recordDisplayList const):
(WebCore::SkiaPaintingEngine::paintIntoGraphicsContext const):
(WebCore::SkiaPaintingEngine::paintGraphicsLayerIntoBuffer const):
(WebCore::SkiaPaintingEngine::createBuffer const):
(WebCore::SkiaPaintingEngine::paintLayer):
(WebCore::SkiaPaintingEngine::postPaintingTask):
(WebCore::SkiaPaintingEngine::performPaintingTask):
* Source/WebCore/platform/graphics/skia/SkiaPaintingEngine.h:
* 
Source/WebCore/platform/graphics/texmap/GraphicsLayerAsyncContentsDisplayDelegateTextureMapper.cpp:
(WebCore::GraphicsLayerAsyncContentsDisplayDelegateTextureMapper::GraphicsLayerAsyncContentsDisplayDelegateTextureMapper):
(WebCore::GraphicsLayerAsyncContentsDisplayDelegateTextureMapper::updateGraphicsLayer):
* 
Source/WebCore/platform/graphics/texmap/GraphicsLayerAsyncContentsDisplayDelegateTextureMapper.h:
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedAnimatedBackingStoreClient.cpp:
(WebCore::CoordinatedAnimatedBackingStoreClient::create):
(WebCore::CoordinatedAnimatedBackingStoreClient::CoordinatedAnimatedBackingStoreClient):
(WebCore::CoordinatedAnimatedBackingStoreClient::update):
(WebCore::CoordinatedAnimatedBackingStoreClient::requestBackingStoreUpdateIfNeeded):
(WebCore::CoordinatedAnimatedBackingStoreClient::setCoverRect): Deleted.
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedAnimatedBackingStoreClient.h:
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStoreProxy.cpp:
(WebCore::CoordinatedBackingStoreProxy::updateIfNeeded):
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStoreProxy.h:
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
 Removed.
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h: 
Removed.
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayerCairo.cpp:
 Removed.
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayerSkia.cpp:
 Removed.
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.cpp:
 Added.
(WebCore::CoordinatedPlatformLayer::create):
(WebCore::CoordinatedPlatformLayer::CoordinatedPlatformLayer):
(WebCore::CoordinatedPlatformLayer::setOwner):
(WebCore::CoordinatedPlatformLayer::owner const):
(WebCore::CoordinatedPlatformLayer::invalidateClient):
(WebCore::CoordinatedPlatformLayer::notifyCompositionRequired):
(WebCore::CoordinatedPlatformLayer::setPosition):
(WebCore::CoordinatedPlatformLayer::syncPosition):
(WebCore::CoordinatedPlatformLayer::position const):
(WebCore::CoordinatedPlatformLayer::setBoundsOrigin):
(WebCore::CoordinatedPlatformLayer::syncBoundsOrigin):
(WebCore::CoordinatedPlatformLayer::boundsOrigin const):
(WebCore::CoordinatedPlatformLayer::setAnchorPoint):
(WebCore::CoordinatedPlatformLayer::anchorPoint const):
(WebCore::CoordinatedPlatformLayer::setSize):
(WebCore::CoordinatedPlatformLayer::size const):
(WebCore::CoordinatedPlatformLayer::setTransform):
(WebCore::CoordinatedPlatformLayer::transform const):
(WebCore::CoordinatedPlatformLayer::setChildrenTransform):
(WebCore::CoordinatedPlatformLayer::childrenTransform const):
(WebCore::CoordinatedPlatformLayer::didUpdateLayerTransform):
(WebCore::CoordinatedPlatformLayer::setVisibleRect):
(WebCore::CoordinatedPlatformLayer::setTransformedVisibleRect):
(WebCore::CoordinatedPlatformLayer::setScrollingNodeID):
(WebCore::CoordinatedPlatformLayer::setDrawsContent):
(WebCore::CoordinatedPlatformLayer::setMasksToBounds):
(WebCore::CoordinatedPlatformLayer::setPreserves3D):
(WebCore::CoordinatedPlatformLayer::setBackfaceVisibility):
(WebCore::CoordinatedPlatformLayer::setOpacity):
(WebCore::CoordinatedPlatformLayer::setContentsVisible):
(WebCore::CoordinatedPlatformLayer::contentsVisible const):
(WebCore::CoordinatedPlatformLayer::setContentsOpaque):
(WebCore::CoordinatedPlatformLayer::setContentsRect):
(WebCore::CoordinatedPlatformLayer::setContentsRectClipsDescendants):
(WebCore::CoordinatedPlatformLayer::setContentsClippingRect):
(WebCore::CoordinatedPlatformLayer::setContentsScale):
(WebCore::CoordinatedPlatformLayer::setContentsBuffer):
(WebCore::CoordinatedPlatformLayer::setContentsBufferNeedsDisplay):
(WebCore::CoordinatedPlatformLayer::setContentsImage):
(WebCore::CoordinatedPlatformLayer::setContentsColor):
(WebCore::CoordinatedPlatformLayer::setContentsTileSize):
(WebCore::CoordinatedPlatformLayer::setContentsTilePhase):
(WebCore::CoordinatedPlatformLayer::setDirtyRegion):
(WebCore::CoordinatedPlatformLayer::setDamage):
(WebCore::CoordinatedPlatformLayer::setFilters):
(WebCore::CoordinatedPlatformLayer::setMask):
(WebCore::CoordinatedPlatformLayer::setReplica):
(WebCore::CoordinatedPlatformLayer::setBackdrop):
(WebCore::CoordinatedPlatformLayer::setBackdropRect):
(WebCore::CoordinatedPlatformLayer::setAnimations):
(WebCore::CoordinatedPlatformLayer::setChildren):
(WebCore::CoordinatedPlatformLayer::setEventRegion):
(WebCore::CoordinatedPlatformLayer::setDebugBorder):
(WebCore::CoordinatedPlatformLayer::setShowRepaintCounter):
(WebCore::CoordinatedPlatformLayer::needsBackingStore const):
(WebCore::CoordinatedPlatformLayer::updateBackingStore):
(WebCore::CoordinatedPlatformLayer::updateContents):
(WebCore::CoordinatedPlatformLayer::purgeBackingStores):
(WebCore::CoordinatedPlatformLayer::paint):
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.h: 
Added.
(WebCore::CoordinatedPlatformLayer::id const):
(WebCore::CoordinatedPlatformLayer::compositionLayer const):
(WebCore::CoordinatedPlatformLayer::lock):
(WebCore::CoordinatedPlatformLayer::client const):
(WebCore::CoordinatedPlatformLayer::hasPendingTilesCreation const):
(WebCore::CoordinatedPlatformLayer::hasImageBackingStore const):
(WebCore::CoordinatedPlatformLayer::WTF_GUARDED_BY_LOCK):
* 
Source/WebCore/platform/graphics/texmap/coordinated/GraphicsLayerCoordinated.cpp:
 Added.
(WebCore::GraphicsLayer::create):
(WebCore::GraphicsLayerCoordinated::GraphicsLayerCoordinated):
(WebCore::GraphicsLayerCoordinated::~GraphicsLayerCoordinated):
(WebCore::GraphicsLayerCoordinated::primaryLayerID const):
(WebCore::GraphicsLayerCoordinated::setNeedsDisplay):
(WebCore::GraphicsLayerCoordinated::setNeedsDisplayInRect):
(WebCore::GraphicsLayerCoordinated::markDamageRectsUnreliable):
(WebCore::GraphicsLayerCoordinated::setPosition):
(WebCore::GraphicsLayerCoordinated::syncPosition):
(WebCore::GraphicsLayerCoordinated::setBoundsOrigin):
(WebCore::GraphicsLayerCoordinated::syncBoundsOrigin):
(WebCore::GraphicsLayerCoordinated::setAnchorPoint):
(WebCore::GraphicsLayerCoordinated::setSize):
(WebCore::GraphicsLayerCoordinated::setScrollingNodeID):
(WebCore::GraphicsLayerCoordinated::setTransform):
(WebCore::GraphicsLayerCoordinated::setChildrenTransform):
(WebCore::GraphicsLayerCoordinated::setDrawsContent):
(WebCore::GraphicsLayerCoordinated::setMasksToBounds):
(WebCore::GraphicsLayerCoordinated::setPreserves3D):
(WebCore::GraphicsLayerCoordinated::setBackfaceVisibility):
(WebCore::GraphicsLayerCoordinated::setOpacity):
(WebCore::GraphicsLayerCoordinated::setContentsVisible):
(WebCore::GraphicsLayerCoordinated::setContentsOpaque):
(WebCore::GraphicsLayerCoordinated::setContentsRect):
(WebCore::GraphicsLayerCoordinated::setContentsRectClipsDescendants):
(WebCore::GraphicsLayerCoordinated::setContentsTileSize):
(WebCore::GraphicsLayerCoordinated::setContentsTilePhase):
(WebCore::GraphicsLayerCoordinated::setContentsClippingRect):
(WebCore::GraphicsLayerCoordinated::setContentsNeedsDisplay):
(WebCore::GraphicsLayerCoordinated::setContentsToPlatformLayer):
(WebCore::GraphicsLayerCoordinated::setContentsDisplayDelegate):
(WebCore::GraphicsLayerCoordinated::createAsyncContentsDisplayDelegate):
(WebCore::GraphicsLayerCoordinated::setContentsToImage):
(WebCore::GraphicsLayerCoordinated::setContentsToSolidColor):
(WebCore::GraphicsLayerCoordinated::usesContentsLayer const):
(WebCore::GraphicsLayerCoordinated::setChildren):
(WebCore::GraphicsLayerCoordinated::addChild):
(WebCore::GraphicsLayerCoordinated::addChildAtIndex):
(WebCore::GraphicsLayerCoordinated::addChildBelow):
(WebCore::GraphicsLayerCoordinated::addChildAbove):
(WebCore::GraphicsLayerCoordinated::replaceChild):
(WebCore::GraphicsLayerCoordinated::willModifyChildren):
(WebCore::GraphicsLayerCoordinated::setEventRegion):
(WebCore::GraphicsLayerCoordinated::deviceOrPageScaleFactorChanged):
(WebCore::GraphicsLayerCoordinated::setFilters):
(WebCore::GraphicsLayerCoordinated::setMaskLayer):
(WebCore::GraphicsLayerCoordinated::setReplicatedByLayer):
(WebCore::GraphicsLayerCoordinated::setBackdropFilters):
(WebCore::GraphicsLayerCoordinated::setBackdropFiltersRect):
(WebCore::GraphicsLayerCoordinated::addAnimation):
(WebCore::GraphicsLayerCoordinated::removeAnimation):
(WebCore::GraphicsLayerCoordinated::pauseAnimation):
(WebCore::GraphicsLayerCoordinated::suspendAnimations):
(WebCore::GraphicsLayerCoordinated::resumeAnimations):
(WebCore::GraphicsLayerCoordinated::isRunningTransformAnimation const):
(WebCore::GraphicsLayerCoordinated::transformRelatedPropertyDidChange):
(WebCore::GraphicsLayerCoordinated::acceleratedAnimationsForTesting const):
(WebCore::GraphicsLayerCoordinated::setShowDebugBorder):
(WebCore::GraphicsLayerCoordinated::setShowRepaintCounter):
(WebCore::dumpInnerLayer):
(WebCore::GraphicsLayerCoordinated::dumpAdditionalProperties const):
(WebCore::GraphicsLayerCoordinated::filtersCanBeComposited const):
(WebCore::GraphicsLayerCoordinated::noteLayerPropertyChanged):
(WebCore::GraphicsLayerCoordinated::setNeedsUpdateLayerTransform):
(WebCore::GraphicsLayerCoordinated::flushCompositingState):
(WebCore::GraphicsLayerCoordinated::flushCompositingStateForThisLayerOnly):
(WebCore::GraphicsLayerCoordinated::computePositionRelativeToBase const):
(WebCore::GraphicsLayerCoordinated::computePixelAlignmentIfNeeded):
(WebCore::GraphicsLayerCoordinated::updateGeometry):
(WebCore::GraphicsLayerCoordinated::computeLayerTransformIfNeeded):
(WebCore::GraphicsLayerCoordinated::clampToSizeIfRectIsInfinite):
(WebCore::GraphicsLayerCoordinated::updateVisibleRect):
(WebCore::GraphicsLayerCoordinated::updateDamage):
(WebCore::GraphicsLayerCoordinated::updateDirtyRegion):
(WebCore::GraphicsLayerCoordinated::updateBackdropFilters):
(WebCore::GraphicsLayerCoordinated::updateBackdropFiltersRect):
(WebCore::GraphicsLayerCoordinated::updateAnimations):
(WebCore::GraphicsLayerCoordinated::updateIndicators):
(WebCore::GraphicsLayerCoordinated::updateContents):
(WebCore::GraphicsLayerCoordinated::commitLayerChanges):
(WebCore::GraphicsLayerCoordinated::needsCommit const):
(WebCore::GraphicsLayerCoordinated::recursiveCommitChanges):
* 
Source/WebCore/platform/graphics/texmap/coordinated/GraphicsLayerCoordinated.h: 
Added.
* Source/WebCore/rendering/RenderLayerCompositor.cpp:
(WebCore::scrollbarInclusionForVisibleRect):
(WebCore::RenderLayerCompositor::visibleRectForLayerFlushing const):
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp:
(WebKit::LayerTreeHost::~LayerTreeHost):
(WebKit::LayerTreeHost::flushLayers):
(WebKit::LayerTreeHost::attachLayer):
(WebKit::LayerTreeHost::detachLayer):
(WebKit::LayerTreeHost::notifyCompositionRequired):
(WebKit::LayerTreeHost::createGraphicsLayer):
(WebKit::LayerTreeHost::layerForTransientZoom const):
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h:

Canonical link: https://commits.webkit.org/287731@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to