[webkit-changes] [WebKit/WebKit] 0e338d: [CoordinatedGraphics][Nicosia] Simplify PlatformLa...
Carlos Garcia Campos
noreply at github.com
Thu Aug 22 07:01:21 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0e338de86164fcd5e0fea29842e2022c5774ff59
https://github.com/WebKit/WebKit/commit/0e338de86164fcd5e0fea29842e2022c5774ff59
Author: Carlos Garcia Campos <cgarcia at igalia.com>
Date: 2024-08-22 (Thu, 22 Aug 2024)
Changed paths:
M Source/WebCore/Headers.cmake
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
A Source/WebCore/page/scrolling/ScrollingPlatformLayer.h
M Source/WebCore/page/scrolling/ScrollingStateNode.h
M Source/WebCore/page/scrolling/ScrollingTreeFixedNode.h
M Source/WebCore/page/scrolling/ScrollingTreeOverflowScrollProxyNode.h
M Source/WebCore/page/scrolling/ScrollingTreePositionedNode.h
M Source/WebCore/page/scrolling/ScrollingTreeStickyNode.h
M Source/WebCore/page/scrolling/cocoa/ScrollingStateNode.mm
M Source/WebCore/page/scrolling/nicosia/ScrollingStateNodeNicosia.cpp
M Source/WebCore/page/scrolling/nicosia/ScrollingTreeFixedNodeNicosia.cpp
M Source/WebCore/page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.cpp
M Source/WebCore/page/scrolling/nicosia/ScrollingTreeOverflowScrollProxyNodeNicosia.cpp
M Source/WebCore/page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.cpp
M Source/WebCore/page/scrolling/nicosia/ScrollingTreePositionedNodeNicosia.cpp
M Source/WebCore/page/scrolling/nicosia/ScrollingTreeStickyNodeNicosia.cpp
M Source/WebCore/platform/SourcesNicosia.txt
M Source/WebCore/platform/TextureMapper.cmake
M Source/WebCore/platform/graphics/PlatformLayer.h
M Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBM.h
M Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBMTextureMapper.cpp
M Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBMTextureMapper.h
M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h
M Source/WebCore/platform/graphics/holepunch/MediaPlayerPrivateHolePunch.cpp
M Source/WebCore/platform/graphics/holepunch/MediaPlayerPrivateHolePunch.h
M Source/WebCore/platform/graphics/nicosia/NicosiaCompositionLayer.h
R Source/WebCore/platform/graphics/nicosia/NicosiaContentLayer.cpp
R Source/WebCore/platform/graphics/nicosia/NicosiaContentLayer.h
R Source/WebCore/platform/graphics/nicosia/NicosiaGCGLANGLELayer.cpp
R Source/WebCore/platform/graphics/nicosia/NicosiaGCGLANGLELayer.h
M Source/WebCore/platform/graphics/nicosia/NicosiaPlaceholderRenderingContextSource.cpp
M Source/WebCore/platform/graphics/nicosia/NicosiaScene.h
M Source/WebCore/platform/graphics/skia/ImageBufferSkiaAcceleratedBackend.cpp
M Source/WebCore/platform/graphics/skia/ImageBufferSkiaAcceleratedBackend.h
M Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp
M Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.h
A Source/WebCore/platform/graphics/texmap/GraphicsLayerContentsDisplayDelegateTextureMapper.h
M Source/WebCore/platform/graphics/texmap/TextureMapperGCGLPlatformLayer.cpp
A Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayer.cpp
M Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayer.h
M Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerBuffer.cpp
M Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerBuffer.h
M Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp
M Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxy.h
M Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxyDMABuf.h
M Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxyGL.h
M Source/WebCore/platform/graphics/texmap/TextureMapperSolidColorLayer.h
M Source/WebCore/platform/graphics/texmap/TextureMapperSparseBackingStore.cpp
M Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStore.h
M Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp
M Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h
M Source/WebKit/GPUProcess/graphics/wc/WCRemoteFrameHostLayerManager.cpp
M Source/WebKit/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp
M Source/WebKit/WebProcess/GPU/graphics/gbm/RemoteGraphicsContextGLProxyGBM.cpp
M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp
Log Message:
-----------
[CoordinatedGraphics][Nicosia] Simplify PlatformLayer handling
https://bugs.webkit.org/show_bug.cgi?id=278456
Reviewed by Miguel Gomez.
Remove Nicosia::ContentLayer and use TextureMapperPlatformLayerProxy
directly as the platform layer. In the nicosia implementation the name
platform layer is used for different things, so
GraphicsLayer::platformLayer() returns the Nicosia::CompositionLayer but
GraphicsLayerContentsDisplayDelegate::platformLayer() returns the
Nicosia::ContentLayer. In this patch PlatformLayer is defined as
TextureMapperPlatformLayerProxy, which is not the platform layer
expected by the async scrolling code, so a ScrollingPlatformLayer
definition is added to use the Nicosia::CompositionLayer.
* Source/WebCore/Headers.cmake:
* Source/WebCore/page/scrolling/ScrollingPlatformLayer.h: Added.
* Source/WebCore/page/scrolling/ScrollingStateNode.h:
(WebCore::LayerRepresentation::LayerRepresentation):
(WebCore::LayerRepresentation::operator ScrollingPlatformLayer* const):
(WebCore::LayerRepresentation::toRepresentation const):
(WebCore::LayerRepresentation::operator PlatformLayer* const): Deleted.
* Source/WebCore/page/scrolling/ScrollingTreeFixedNode.h:
* Source/WebCore/page/scrolling/ScrollingTreeOverflowScrollProxyNode.h:
* Source/WebCore/page/scrolling/ScrollingTreePositionedNode.h:
* Source/WebCore/page/scrolling/ScrollingTreeStickyNode.h:
* Source/WebCore/page/scrolling/cocoa/ScrollingStateNode.mm:
(WebCore::LayerRepresentation::platformLayerFromGraphicsLayer):
* Source/WebCore/page/scrolling/nicosia/ScrollingStateNodeNicosia.cpp:
(WebCore::LayerRepresentation::makePlatformLayerTyped):
(WebCore::LayerRepresentation::makePlatformLayerTypeless):
(WebCore::LayerRepresentation::platformLayerFromGraphicsLayer):
* Source/WebCore/page/scrolling/nicosia/ScrollingTreeFixedNodeNicosia.cpp:
(WebCore::ScrollingTreeFixedNodeNicosia::commitStateBeforeChildren):
* Source/WebCore/page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.cpp:
(WebCore::ScrollingTreeFrameScrollingNodeNicosia::commitStateBeforeChildren):
(WebCore::ScrollingTreeFrameScrollingNodeNicosia::repositionScrollingLayers):
* Source/WebCore/page/scrolling/nicosia/ScrollingTreeOverflowScrollProxyNodeNicosia.cpp:
(WebCore::ScrollingTreeOverflowScrollProxyNodeNicosia::commitStateBeforeChildren):
* Source/WebCore/page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.cpp:
(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::repositionScrollingLayers):
* Source/WebCore/page/scrolling/nicosia/ScrollingTreePositionedNodeNicosia.cpp:
(WebCore::ScrollingTreePositionedNodeNicosia::commitStateBeforeChildren):
* Source/WebCore/page/scrolling/nicosia/ScrollingTreeStickyNodeNicosia.cpp:
(WebCore::ScrollingTreeStickyNodeNicosia::commitStateBeforeChildren):
* Source/WebCore/platform/SourcesNicosia.txt:
* Source/WebCore/platform/TextureMapper.cmake:
* Source/WebCore/platform/graphics/PlatformLayer.h:
* Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBM.h:
* Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBMTextureMapper.cpp:
(WebCore::GraphicsContextGLGBMTextureMapper::~GraphicsContextGLGBMTextureMapper):
(WebCore::GraphicsContextGLGBMTextureMapper::platformInitialize):
* Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBMTextureMapper.h:
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::tearDown):
(WebCore::MediaPlayerPrivateGStreamer::platformLayer const):
(WebCore::MediaPlayerPrivateGStreamer::pushTextureToCompositor):
(WebCore::MediaPlayerPrivateGStreamer::pushDMABufToCompositor):
(WebCore::MediaPlayerPrivateGStreamer::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamer::flushCurrentBuffer):
(WebCore::MediaPlayerPrivateGStreamer::pushNextHolePunchBuffer):
(WebCore::MediaPlayerPrivateGStreamer::swapBuffersIfNeeded): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::proxy const): Deleted.
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
* Source/WebCore/platform/graphics/holepunch/MediaPlayerPrivateHolePunch.cpp:
(WebCore::MediaPlayerPrivateHolePunch::MediaPlayerPrivateHolePunch):
(WebCore::MediaPlayerPrivateHolePunch::~MediaPlayerPrivateHolePunch):
(WebCore::MediaPlayerPrivateHolePunch::platformLayer const):
(WebCore::MediaPlayerPrivateHolePunch::pushNextHolePunchBuffer):
(WebCore::MediaPlayerPrivateHolePunch::swapBuffersIfNeeded): Deleted.
(WebCore::MediaPlayerPrivateHolePunch::proxy const): Deleted.
* Source/WebCore/platform/graphics/holepunch/MediaPlayerPrivateHolePunch.h:
* Source/WebCore/platform/graphics/nicosia/NicosiaCompositionLayer.h:
* Source/WebCore/platform/graphics/nicosia/NicosiaContentLayer.cpp: Removed.
* Source/WebCore/platform/graphics/nicosia/NicosiaContentLayer.h: Removed.
* Source/WebCore/platform/graphics/nicosia/NicosiaGCGLANGLELayer.cpp: Removed.
* Source/WebCore/platform/graphics/nicosia/NicosiaGCGLANGLELayer.h: Removed.
* Source/WebCore/platform/graphics/nicosia/NicosiaPlaceholderRenderingContextSource.cpp:
(Nicosia::NicosiaPlaceholderRenderingContextSource::NicosiaPlaceholderRenderingContextSource):
(Nicosia::NicosiaPlaceholderRenderingContextSource::setPlaceholderBuffer):
(Nicosia::NicosiaPlaceholderRenderingContextSource::~NicosiaPlaceholderRenderingContextSource): Deleted.
(Nicosia::NicosiaPlaceholderRenderingContextSource::swapBuffersIfNeeded): Deleted.
* Source/WebCore/platform/graphics/nicosia/NicosiaScene.h:
* Source/WebCore/platform/graphics/skia/ImageBufferSkiaAcceleratedBackend.cpp:
(WebCore::ImageBufferSkiaAcceleratedBackend::ImageBufferSkiaAcceleratedBackend):
(WebCore::ImageBufferSkiaAcceleratedBackend::~ImageBufferSkiaAcceleratedBackend):
(WebCore::ImageBufferSkiaAcceleratedBackend::swapBuffersIfNeeded):
* Source/WebCore/platform/graphics/skia/ImageBufferSkiaAcceleratedBackend.h:
* Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp:
(WebCore::GraphicsContextGLTextureMapperANGLE::~GraphicsContextGLTextureMapperANGLE):
(WebCore::GraphicsContextGLTextureMapperANGLE::platformInitializeContext):
(WebCore::GraphicsContextGLTextureMapperANGLE::platformInitialize):
* Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.h:
* Source/WebCore/platform/graphics/texmap/GraphicsLayerContentsDisplayDelegateTextureMapper.h: Added.
* Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayer.cpp: Added.
(WebCore::TextureMapperPlatformLayer::drawBorder):
* Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayer.h:
(WebCore::TextureMapperPlatformLayer::drawBorder): Deleted.
* Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerBuffer.cpp:
* Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerBuffer.h:
* Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp:
(WebCore::TextureMapperPlatformLayerProxy::isActive const):
(WebCore::TextureMapperPlatformLayerProxy::update):
(WebCore::TextureMapperPlatformLayerProxy::isActive): Deleted.
* Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxy.h:
(WebCore::TextureMapperPlatformLayerProxy::setSwapBuffersFunction):
* Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxyDMABuf.h:
* Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxyGL.h:
* Source/WebCore/platform/graphics/texmap/TextureMapperSolidColorLayer.h:
* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStore.h:
* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
(WebCore::CoordinatedGraphicsLayer::setContentsToPlatformLayer):
(WebCore::CoordinatedGraphicsLayer::checkContentLayerUpdated):
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
(WebCore::CoordinatedGraphicsLayer::usesContentsLayer const):
(WebCore::CoordinatedGraphicsLayer::updatePlatformLayer): Deleted.
(WebCore::CoordinatedGraphicsLayer::platformLayer const): Deleted.
* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
* Source/WebKit/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
(WebKit::removeLayer):
(WebKit::CoordinatedGraphicsScene::updateSceneState):
* Source/WebKit/WebProcess/GPU/graphics/gbm/RemoteGraphicsContextGLProxyGBM.cpp:
(WebKit::DisplayDelegate::DisplayDelegate):
(WebKit::DisplayDelegate::~DisplayDelegate):
(WebKit::RemoteGraphicsContextGLProxyGBM::RemoteGraphicsContextGLProxyGBM):
(WebKit::NicosiaDisplayDelegate::NicosiaDisplayDelegate): Deleted.
(WebKit::NicosiaDisplayDelegate::~NicosiaDisplayDelegate): Deleted.
(WebKit::NicosiaDisplayDelegate::platformLayer const): Deleted.
(WebKit::NicosiaDisplayDelegate::swapBuffersIfNeeded): Deleted.
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:
(WebKit::CompositingCoordinator::flushPendingLayerChanges):
Canonical link: https://commits.webkit.org/282617@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list