Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: a2209c6caff2acd54ae61f0213ddfe258c30f4e0
https://github.com/WebKit/WebKit/commit/a2209c6caff2acd54ae61f0213ddfe258c30f4e0
Author: Carlos Garcia Campos <[email protected]>
Date: 2026-05-13 (Wed, 13 May 2026)
Changed paths:
M Source/WebCore/platform/graphics/skia/SkiaCompositingLayer.cpp
M Source/WebCore/platform/graphics/skia/SkiaUtilities.cpp
M Source/WebCore/platform/graphics/skia/SkiaUtilities.h
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBuffer.h
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferDMABuf.cpp
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferDMABuf.h
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferExternalOES.cpp
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferExternalOES.h
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferHolePunch.cpp
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferHolePunch.h
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferNativeImage.cpp
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferNativeImage.h
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferRGB.cpp
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferRGB.h
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferVideo.cpp
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferVideo.h
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferYUV.cpp
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferYUV.h
Log Message:
-----------
[GTK][WPE] Skia Compositor: move painting of platform buffers to
SkiaCompositingLayer
https://bugs.webkit.org/show_bug.cgi?id=314711
Reviewed by Nikolas Zimmermann.
All CoordinatedPlatformLayerBuffer implementations now paint the same
way by calling SkCanvas::drawImageRect(), the only difference is how the
SkImage is created in each case. So, we can call
SkCanvas::drawImageRect() in SkiaCompositingLayer and the platform
buffers only need to provide the image to paint. The only exception is
CoordinatedPlatformLayerBufferHolePunch that we can handle differently
by setting the hole puch rect and painting with transparent color from
SkiaCompositingLayer too. This will allow us to implement batched
painting.
* Source/WebCore/platform/graphics/skia/SkiaCompositingLayer.cpp:
(WebCore::SkiaCompositingLayer::paintSelf):
* Source/WebCore/platform/graphics/skia/SkiaUtilities.cpp:
(WebCore::SkiaUtilities::borrowBackendTextureAsImage):
* Source/WebCore/platform/graphics/skia/SkiaUtilities.h:
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBuffer.h:
(WebCore::CoordinatedPlatformLayerBuffer::skiaImage):
(WebCore::CoordinatedPlatformLayerBuffer::paintToCanvas): Deleted.
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferDMABuf.cpp:
(WebCore::CoordinatedPlatformLayerBufferDMABuf::skiaImage):
(WebCore::CoordinatedPlatformLayerBufferDMABuf::paintToCanvas): Deleted.
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferDMABuf.h:
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferExternalOES.cpp:
(WebCore::CoordinatedPlatformLayerBufferExternalOES::skiaImage):
(WebCore::CoordinatedPlatformLayerBufferExternalOES::paintToCanvas): Deleted.
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferExternalOES.h:
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferHolePunch.cpp:
(WebCore::CoordinatedPlatformLayerBufferHolePunch::setHolePunchVideoRectangle):
(WebCore::CoordinatedPlatformLayerBufferHolePunch::paintToTextureMapper):
(WebCore::CoordinatedPlatformLayerBufferHolePunch::paintToCanvas): Deleted.
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferHolePunch.h:
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferNativeImage.cpp:
(WebCore::CoordinatedPlatformLayerBufferNativeImage::skiaImage):
(WebCore::CoordinatedPlatformLayerBufferNativeImage::paintToCanvas): Deleted.
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferNativeImage.h:
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferRGB.cpp:
(WebCore::CoordinatedPlatformLayerBufferRGB::skiaImage):
(WebCore::CoordinatedPlatformLayerBufferRGB::paintToCanvas): Deleted.
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferRGB.h:
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferVideo.cpp:
(WebCore::CoordinatedPlatformLayerBufferVideo::skiaImage):
(WebCore::CoordinatedPlatformLayerBufferVideo::paintToCanvas): Deleted.
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferVideo.h:
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferYUV.cpp:
(WebCore::CoordinatedPlatformLayerBufferYUV::skiaImage):
(WebCore::CoordinatedPlatformLayerBufferYUV::paintToCanvas): Deleted.
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferYUV.h:
Canonical link: https://commits.webkit.org/313149@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications