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

Reply via email to