Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 14f3f90b25369f7cb674514274346ff440a20865
      
https://github.com/WebKit/WebKit/commit/14f3f90b25369f7cb674514274346ff440a20865
  Author: Carlos Garcia Campos <[email protected]>
  Date:   2026-06-05 (Fri, 05 Jun 2026)

  Changed paths:
    M Source/WebCore/platform/Skia.cmake
    M Source/WebCore/platform/SourcesSkia.txt
    M Source/WebCore/platform/graphics/skia/SkiaBackingStore.cpp
    M Source/WebCore/platform/graphics/skia/SkiaBackingStore.h
    M Source/WebCore/platform/graphics/skia/SkiaCompositingLayer.cpp
    M Source/WebCore/platform/graphics/skia/SkiaCompositingLayer.h
    A 
Source/WebCore/platform/graphics/skia/SkiaCompositingLayerImageSetBatch.cpp
    A Source/WebCore/platform/graphics/skia/SkiaCompositingLayerImageSetBatch.h

  Log Message:
  -----------
  [GTK][WPE] Skia Compositor: implement batched painting
https://bugs.webkit.org/show_bug.cgi?id=316294

Reviewed by Nikolas Zimmermann.

Using the experimental SkCanvas API to draw a set of images with a
single call, we can group draw operations in batches before passing them
to skia. This is more efficient when we have many layers painting
content that can be merged.

* Source/WebCore/platform/Skia.cmake:
* Source/WebCore/platform/SourcesSkia.txt:
* Source/WebCore/platform/graphics/skia/SkiaBackingStore.cpp:
(WebCore::SkiaBackingStore::buildImageSet const):
(WebCore::SkiaBackingStore::Tile::image const):
(WebCore::SkiaBackingStore::Tile::image): Deleted.
* Source/WebCore/platform/graphics/skia/SkiaBackingStore.h:
* Source/WebCore/platform/graphics/skia/SkiaCompositingLayer.cpp:
(WebCore::SkiaCompositingLayer::paint):
(WebCore::SkiaCompositingLayer::paintSelf):
(WebCore::SkiaCompositingLayer::paintContents):
(WebCore::SkiaCompositingLayer::collectFrameDamage):
(WebCore::SkiaCompositingLayer::paintDebugIndicators):
(WebCore::SkiaCompositingLayer::paintSelfAndChildren):
(WebCore::SkiaCompositingLayer::paintWithIntermediateSurface):
(WebCore::SkiaCompositingLayer::paintBackdrop):
(WebCore::SkiaCompositingLayer::paintWithMaskAndBackdrop):
(WebCore::SkiaCompositingLayer::paintWithOpacity):
(WebCore::SkiaCompositingLayer::paintWithBlendMode):
(WebCore::SkiaCompositingLayer::paintWith3DRenderingContext):
* Source/WebCore/platform/graphics/skia/SkiaCompositingLayer.h:
* Source/WebCore/platform/graphics/skia/SkiaCompositingLayerImageSetBatch.cpp: 
Added.
(WebCore::SkiaCompositingLayerImageSetBatch::updatePaintProperties):
(WebCore::SkiaCompositingLayerImageSetBatch::updateSamplingOptions):
(WebCore::SkiaCompositingLayerImageSetBatch::addImageSet):
(WebCore::SkiaCompositingLayerImageSetBatch::addImage):
(WebCore::SkiaCompositingLayerImageSetBatch::flushIfNeeded):
(WebCore::SkiaCompositingLayerImageSetBatch::ScopedFlush::ScopedFlush):
(WebCore::SkiaCompositingLayerImageSetBatch::ScopedFlush::~ScopedFlush):
* Source/WebCore/platform/graphics/skia/SkiaCompositingLayerImageSetBatch.h: 
Added.

Canonical link: https://commits.webkit.org/314626@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to