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