Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: f58a8697d2f8667a948fc0e4b69bd5760fd33a29
https://github.com/WebKit/WebKit/commit/f58a8697d2f8667a948fc0e4b69bd5760fd33a29
Author: Nikolas Zimmermann <[email protected]>
Date: 2026-07-08 (Wed, 08 Jul 2026)
Changed paths:
M Source/WebCore/platform/graphics/skia/SkiaBackingStore.cpp
M Source/WebCore/platform/graphics/skia/SkiaBackingStore.h
Log Message:
-----------
[WPE] Fix broken Vivante super-tiled rendering with the Skia compositor
https://bugs.webkit.org/show_bug.cgi?id=318369
Reviewed by Carlos Garcia Campos.
With WEBKIT_SKIA_USE_VIVANTE_SUPER_TILED_TILE_TEXTURES=1 on Vivante GPUs,
super-tiled tile buffers are allocated padded up to 64-pixel multiples, so
BitmapTexture::allocatedSize() exceeds the logical size(). SkiaBackingStore
built the borrowed GL image from size() and sampled it using the image's own
dimensions, so Skia's normalized u=1.0/v=1.0 mapped to the padded edge of the
physical texture rather than the logical edge. The content was stretched and
the garbage padding columns/rows bled in, producing the observed glitches.
The TextureMapper compositor avoids this with its uvMax clamp - the Skia path
had no equivalent (linear tiles are unaffected since allocatedSize == size).
Describe the borrowed image at the physical allocatedSize() and restrict
sampling to the logical region via the new Tile::imageSourceRect(), mirroring
the uvMax clamp. The accelerated display-list path is unchanged as its surface
snapshot is already sized to the logical tile.
* Source/WebCore/platform/graphics/skia/SkiaBackingStore.cpp:
(WebCore::SkiaBackingStore::paintToCanvas):
(WebCore::SkiaBackingStore::buildImageSet const):
(WebCore::SkiaBackingStore::Tile::image const):
(WebCore::SkiaBackingStore::Tile::imageSourceRect const):
* Source/WebCore/platform/graphics/skia/SkiaBackingStore.h:
Canonical link: https://commits.webkit.org/316716@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications