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

Reply via email to