Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 16666484525a4f0c90be4e5cbb077c9b679c7b94
https://github.com/WebKit/WebKit/commit/16666484525a4f0c90be4e5cbb077c9b679c7b94
Author: Mike Wyrzykowski <[email protected]>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
A
LayoutTests/fast/webgpu/copy-external-image-image-bitmap-alpha-8bpc-expected.txt
A LayoutTests/fast/webgpu/copy-external-image-image-bitmap-alpha-8bpc.html
A
LayoutTests/fast/webgpu/copy-external-image-image-bitmap-alpha-expected.txt
A LayoutTests/fast/webgpu/copy-external-image-image-bitmap-alpha.html
M LayoutTests/platform/mac/TestExpectations
M Source/WTF/wtf/PlatformEnable.h
M Source/WTF/wtf/PlatformEnableCocoa.h
M Source/WebCore/Modules/WebGPU/GPUQueue.cpp
M Source/WebCore/Modules/WebGPU/Implementation/WebGPUQueueImpl.cpp
M Source/WebCore/bindings/js/SerializedScriptValue.cpp
M Source/WebCore/html/ImageBitmap.cpp
M Source/WebCore/html/ImageBitmap.h
M Source/WebCore/html/canvas/PlaceholderRenderingContext.cpp
M Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp
M Source/WebCore/platform/graphics/ArrayPixelBuffer.cpp
M Source/WebCore/platform/graphics/ArrayPixelBuffer.h
M Source/WebCore/platform/graphics/ImageBuffer.cpp
M Source/WebCore/platform/graphics/ImageBufferAllocator.cpp
M Source/WebCore/platform/graphics/NativeImage.h
M Source/WebCore/platform/graphics/PixelBuffer.cpp
M Source/WebCore/platform/graphics/PixelBuffer.h
M Source/WebCore/platform/graphics/PixelBufferConversion.cpp
M Source/WebCore/platform/graphics/PixelFormat.cpp
M Source/WebCore/platform/graphics/PixelFormat.h
M Source/WebCore/platform/graphics/TypedArrayPixelBuffer.cpp
M Source/WebCore/platform/graphics/TypedArrayPixelBuffer.h
M Source/WebCore/platform/graphics/cairo/NativeImageCairo.cpp
M Source/WebCore/platform/graphics/cg/ImageBufferCGBitmapBackend.cpp
M Source/WebCore/platform/graphics/cg/NativeImageCG.cpp
M Source/WebCore/platform/graphics/cg/ShareableBitmapCG.mm
M Source/WebCore/platform/graphics/cocoa/IOSurface.h
M Source/WebCore/platform/graphics/cocoa/IOSurface.mm
M Source/WebCore/platform/graphics/skia/NativeImageSkia.cpp
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M
Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp
M Tools/TestWebKitAPI/Tests/WebCore/PixelBufferConversionTests.cpp
Log Message:
-----------
[WebGPU] https://playground.babylonjs.com/#18WTCK doesn't render trees and
stones
https://bugs.webkit.org/show_bug.cgi?id=285186
rdar://142087137
Reviewed by Gerald Squelart.
Correctly preserve alpha values during copyExternalImageToTexture so
premultiplied
data doesn't get passed which is lossy.
Test: fast/webgpu/copy-external-image-image-bitmap-alpha.html
* LayoutTests/fast/webgpu/copy-external-image-image-bitmap-alpha-expected.txt:
Added.
* LayoutTests/fast/webgpu/copy-external-image-image-bitmap-alpha.html: Added.
* Source/WTF/wtf/PlatformEnable.h:
* Source/WTF/wtf/PlatformEnableCocoa.h:
* Source/WebCore/Modules/WebGPU/GPUQueue.cpp:
(WebCore::isSupportedGPUSourcePixelFormat):
(WebCore::imageBufferForSource):
* Source/WebCore/Modules/WebGPU/Implementation/WebGPUQueueImpl.cpp:
(WebCore::WebGPU::sourceTextureFormat):
* Source/WebCore/bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::dumpImageBitmap):
(WebCore::CloneDeserializer::readImageBitmap):
* Source/WebCore/html/ImageBitmap.cpp:
(WebCore::DetachedImageBitmap::DetachedImageBitmap):
(WebCore::ImageBitmap::create):
(WebCore::ImageBitmap::createImageBuffer):
(WebCore::ImageBitmap::detach):
(WebCore::opaqueChannelImage):
(WebCore::bufferFormatForDecodedPixels):
(WebCore::unpremultipliedImageBuffer):
(WebCore::ImageBitmap::createCompletionHandler):
(WebCore::ImageBitmap::createFromBuffer):
(WebCore::ImageBitmap::ImageBitmap):
* Source/WebCore/html/ImageBitmap.h:
* Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::texImageSource):
* Source/WebCore/platform/graphics/ArrayPixelBuffer.cpp:
(WebCore::ArrayPixelBuffer::tryCreate):
* Source/WebCore/platform/graphics/ArrayPixelBuffer.h:
(isType):
* Source/WebCore/platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::supportedPixelBufferFormats):
* Source/WebCore/platform/graphics/ImageBufferAllocator.cpp:
(WebCore::ImageBufferAllocator::createPixelBuffer const):
* Source/WebCore/platform/graphics/NativeImage.h:
* Source/WebCore/platform/graphics/PixelBuffer.cpp:
(WebCore::PixelBuffer::supportedPixelFormat):
* Source/WebCore/platform/graphics/PixelBuffer.h:
(WebCore::PixelBuffer::bytesPerPixelComponent):
* Source/WebCore/platform/graphics/PixelBufferConversion.cpp:
(WebCore::isSupportedConversionFormat):
(WebCore::makeVImageCGImageFormat):
(WebCore::convertImagePixelsAcceleratedMatchingSize):
* Source/WebCore/platform/graphics/PixelFormat.cpp:
(WebCore::operator<<):
* Source/WebCore/platform/graphics/PixelFormat.h:
(WebCore::convertToContentsFormat):
(WebCore::pixelFormatIsOpaque):
(WebCore::allowExtendedColorSpace):
* Source/WebCore/platform/graphics/TypedArrayPixelBuffer.cpp:
* Source/WebCore/platform/graphics/TypedArrayPixelBuffer.h:
(isType):
* Source/WebCore/platform/graphics/cairo/NativeImageCairo.cpp:
(WebCore::NativeImage::create):
(WebCore::NativeImage::unpremultipliedPixels const):
* Source/WebCore/platform/graphics/cg/ImageBufferCGBitmapBackend.cpp:
(WebCore::bitmapInfoForPixelFormat):
(WebCore::ImageBufferCGBitmapBackend::create):
* Source/WebCore/platform/graphics/cg/NativeImageCG.cpp:
(WebCore::NativeImage::create):
(WebCore::NativeImage::unpremultipliedPixels const):
* Source/WebCore/platform/graphics/cocoa/IOSurface.h:
(WebCore::convertToIOSurfaceFormat):
* Source/WebCore/platform/graphics/cocoa/IOSurface.mm:
(WebCore::IOSurface::createFromUntrustedUncompressedWebKitSendRight):
(WebCore::coreVideoFormatFromIOSurfaceFormat):
(WebCore::createSurface):
(WebCore::m_name):
(WebCore::formatFromSurface):
(WebCore::IOSurface::createNativeImage):
(WebCore::IOSurface::bitmapConfiguration const):
(WebCore::operator<<):
* Source/WebCore/platform/graphics/skia/NativeImageSkia.cpp:
(WebCore::NativeImage::create):
(WebCore::NativeImage::unpremultipliedPixels const):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
Canonical link: https://commits.webkit.org/321601@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications