Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 63f86c394bc80273222bd823898932ee48543472
https://github.com/WebKit/WebKit/commit/63f86c394bc80273222bd823898932ee48543472
Author: Carlos Garcia Campos <[email protected]>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M
LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-bottom-left-radius-004.xht
M
LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-bottom-left-radius-005.xht
M
LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-radius-clipping-with-transform-001.html
M
LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-top-left-radius-004.xht
M
LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-top-left-radius-005.xht
M
LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-top-right-radius-004.xht
M
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-borderBox-1e.html
M LayoutTests/imported/w3c/web-platform-tests/css/css-ui/outline-027.html
M
LayoutTests/imported/w3c/web-platform-tests/css/filter-effects/backdrop-filter-clip-rect.html
M LayoutTests/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-01-t.svg
M LayoutTests/svg/custom/href-svg-namespace-static.svg
M LayoutTests/svg/custom/marker-stroke-dasharray-none-zero.svg
M Source/WebCore/platform/graphics/Pattern.h
M Source/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp
M Source/WebCore/platform/graphics/skia/GraphicsContextSkia.h
M Source/WebCore/platform/graphics/skia/PatternSkia.cpp
M Source/WebCore/platform/graphics/skia/PlatformDisplaySkia.cpp
M Source/WebCore/platform/graphics/skia/SkiaBackingStore.cpp
M Source/WebCore/platform/graphics/skia/SkiaBackingStore.h
M Source/WebCore/platform/graphics/skia/SkiaGPUAtlas.cpp
M Source/WebCore/platform/graphics/skia/SkiaGPUAtlas.h
M Source/WebCore/platform/graphics/skia/SkiaPaintingEngine.cpp
M Source/WebCore/platform/graphics/skia/SkiaPaintingEngine.h
M Source/WebCore/platform/graphics/skia/SkiaReplayCanvas.cpp
M Source/WebCore/platform/graphics/skia/SkiaReplayCanvas.h
M Source/WebCore/platform/graphics/skia/SkiaUtilities.cpp
M Source/WebCore/platform/graphics/skia/SkiaUtilities.h
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStoreProxy.cpp
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStoreTile.cpp
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/CoordinatedTileBuffer.cpp
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedTileBuffer.h
M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp
M
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/ThreadedCompositor.cpp
M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/ThreadedCompositor.h
Log Message:
-----------
[GTK][WPE] Skia Compositor: use deferred display lists to paint tiles
https://bugs.webkit.org/show_bug.cgi?id=315194
Reviewed by Nikolas Zimmermann.
This way painting worker threads don't use gl at all and we don't need
to create a GrContext on every worker thread. The tile contents are
recorded into a deferred display list that is then replayed in the
compositor thread when handling tile updates. When recording tiles
accelerated images are wrapped by a promise image instead of borowing
texture.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-bottom-left-radius-004.xht:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-bottom-left-radius-005.xht:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-radius-clipping-with-transform-001.html:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-top-left-radius-004.xht:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-top-left-radius-005.xht:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-top-right-radius-004.xht:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-borderBox-1e.html:
* LayoutTests/imported/w3c/web-platform-tests/css/css-ui/outline-027.html:
*
LayoutTests/imported/w3c/web-platform-tests/css/filter-effects/backdrop-filter-clip-rect.html:
* LayoutTests/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-01-t.svg:
* LayoutTests/svg/custom/href-svg-namespace-static.svg:
* LayoutTests/svg/custom/marker-stroke-dasharray-none-zero.svg:
* Source/WebCore/platform/graphics/Pattern.h:
* Source/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContextSkia::imageForCurrentThread const):
(WebCore::GraphicsContextSkia::drawNativeImage):
(WebCore::GraphicsContextSkia::setupFillSource):
(WebCore::GraphicsContextSkia::setupStrokeSource):
(WebCore::GraphicsContextSkia::clipToImageBuffer):
(WebCore::GraphicsContextSkia::drawPattern):
(WebCore::GraphicsContextSkia::beginRecording):
(WebCore::GraphicsContextSkia::endRecording):
(WebCore::GraphicsContextSkia::trackAcceleratedRenderingFenceIfNeeded):
* Source/WebCore/platform/graphics/skia/GraphicsContextSkia.h:
* Source/WebCore/platform/graphics/skia/PatternSkia.cpp:
(WebCore::Pattern::createPlatformPattern const):
* Source/WebCore/platform/graphics/skia/PlatformDisplaySkia.cpp:
(WebCore::SkiaGLContext::~SkiaGLContext):
* Source/WebCore/platform/graphics/skia/SkiaBackingStore.cpp:
(WebCore::SkiaBackingStore::Tile::update):
(WebCore::SkiaBackingStore::Tile::image const):
* Source/WebCore/platform/graphics/skia/SkiaBackingStore.h:
* Source/WebCore/platform/graphics/skia/SkiaGPUAtlas.cpp:
(WebCore::SkiaGPUAtlas::SkiaGPUAtlas):
(WebCore::SkiaGPUAtlas::create):
(WebCore::SkiaGPUAtlas::atlasImageForCurrentThread const):
* Source/WebCore/platform/graphics/skia/SkiaGPUAtlas.h:
* Source/WebCore/platform/graphics/skia/SkiaPaintingEngine.cpp:
(WebCore::SkiaPaintingEngine::SkiaPaintingEngine):
(WebCore::SkiaPaintingEngine::create):
(WebCore::SkiaPaintingEngine::createBuffer const):
(WebCore::SkiaPaintingEngine::createAtlas):
(WebCore::SkiaPaintingEngine::record):
(WebCore::SkiaPaintingEngine::replay):
* Source/WebCore/platform/graphics/skia/SkiaPaintingEngine.h:
* Source/WebCore/platform/graphics/skia/SkiaReplayCanvas.cpp:
(WebCore::SkiaReplayCanvas::SkiaReplayCanvas):
(WebCore::SkiaReplayCanvas::create):
(WebCore::SkiaReplayCanvas::waitForRenderingCompletionAndRewrapImageIfNeeded):
* Source/WebCore/platform/graphics/skia/SkiaReplayCanvas.h:
* Source/WebCore/platform/graphics/skia/SkiaUtilities.cpp:
(WebCore::SkiaUtilities::PromiseImageContext::create):
(WebCore::SkiaUtilities::PromiseImageContext::PromiseImageContext):
(WebCore::SkiaUtilities::PromiseImageContext::~PromiseImageContext):
(WebCore::SkiaUtilities::PromiseImageContext::promiseImageTexture):
(WebCore::SkiaUtilities::createPromiseImageIfNeeded):
* Source/WebCore/platform/graphics/skia/SkiaUtilities.h:
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStoreProxy.cpp:
(WebCore::CoordinatedBackingStoreProxy::updateIfNeeded):
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStoreTile.cpp:
(WebCore::CoordinatedBackingStoreTile::processPendingUpdates):
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.cpp:
(WebCore::CoordinatedPlatformLayer::replay):
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.h:
* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedTileBuffer.cpp:
(WebCore::CoordinatedUnacceleratedTileBuffer::canvas):
(WebCore::CoordinatedAcceleratedTileBuffer::create):
(WebCore::CoordinatedAcceleratedTileBuffer::CoordinatedAcceleratedTileBuffer):
(WebCore::CoordinatedAcceleratedTileBuffer::size const):
(WebCore::CoordinatedAcceleratedTileBuffer::canvas):
(WebCore::CoordinatedAcceleratedTileBuffer::completePainting):
(WebCore::CoordinatedTileBuffer::canvas): Deleted.
(WebCore::CoordinatedUnacceleratedTileBuffer::tryEnsureSurface): Deleted.
(WebCore::CoordinatedAcceleratedTileBuffer::tryEnsureSurface): Deleted.
* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedTileBuffer.h:
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp:
(WebKit::LayerTreeHost::LayerTreeHost):
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/ThreadedCompositor.cpp:
(WebKit::m_renderTimer):
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/ThreadedCompositor.h:
(WebKit::ThreadedCompositor::threadSafeGrContext const):
Canonical link: https://commits.webkit.org/315027@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications