Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4067adafd0c995efd469d79f7ad8fc4fc2160ced
      
https://github.com/WebKit/WebKit/commit/4067adafd0c995efd469d79f7ad8fc4fc2160ced
  Author: Gerald Squelart <[email protected]>
  Date:   2026-08-14 (Fri, 14 Aug 2026)

  Changed paths:
    A 
LayoutTests/fast/canvas/hdr/float16-canvas-drawimage-canvas-accelerated-display-p3-expected.txt
    A 
LayoutTests/fast/canvas/hdr/float16-canvas-drawimage-canvas-accelerated-display-p3.html
    A 
LayoutTests/fast/canvas/hdr/float16-canvas-drawimage-canvas-accelerated-expected.txt
    A 
LayoutTests/fast/canvas/hdr/float16-canvas-drawimage-canvas-accelerated-no-gpu-process-expected.txt
    A 
LayoutTests/fast/canvas/hdr/float16-canvas-drawimage-canvas-accelerated-no-gpu-process.html
    A 
LayoutTests/fast/canvas/hdr/float16-canvas-drawimage-canvas-accelerated.html
    A 
LayoutTests/fast/canvas/hdr/float16-canvas-drawimage-canvas-unaccelerated-expected.txt
    A 
LayoutTests/fast/canvas/hdr/float16-canvas-drawimage-canvas-unaccelerated-no-gpu-process-expected.txt
    A 
LayoutTests/fast/canvas/hdr/float16-canvas-drawimage-canvas-unaccelerated-no-gpu-process.html
    A 
LayoutTests/fast/canvas/hdr/float16-canvas-drawimage-canvas-unaccelerated.html
    A LayoutTests/fast/canvas/hdr/float16-canvas-drawimage-canvas.js
    M Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp
    M Source/WebCore/html/canvas/CanvasRenderingContext2DBase.h
    M Source/WebCore/platform/graphics/GraphicsContext.cpp
    M Source/WebCore/platform/graphics/GraphicsContext.h
    M Source/WebCore/platform/graphics/cg/ImageBufferCGBitmapBackend.cpp

  Log Message:
  -----------
  Complete HDR CanvasRenderingContext2DBase::drawImage from 2d canvas
https://bugs.webkit.org/show_bug.cgi?id=321625
rdar://184755917

Reviewed by Mike Wyrzykowski.

The only missing parts were to ensure that we create an ImageBuffer with
the same pixel format as the current context, so that HDR data is not
clamped.
And ImageBuffer now supports the RGBA16F pixel format.

Add tests for all combinations of SDR/HDR canvas to SDR/HDR canvas,
different composition operations, with/without GPU process, and with
accelerated or unaccelerated rendering.

* 
LayoutTests/fast/canvas/hdr/float16-canvas-drawimage-canvas-accelerated-display-p3-expected.txt:
 Added.
* 
LayoutTests/fast/canvas/hdr/float16-canvas-drawimage-canvas-accelerated-display-p3.html:
 Added.
* 
LayoutTests/fast/canvas/hdr/float16-canvas-drawimage-canvas-accelerated-expected.txt:
 Added.
* 
LayoutTests/fast/canvas/hdr/float16-canvas-drawimage-canvas-accelerated-no-gpu-process-expected.txt:
 Added.
* 
LayoutTests/fast/canvas/hdr/float16-canvas-drawimage-canvas-accelerated-no-gpu-process.html:
 Added.
* LayoutTests/fast/canvas/hdr/float16-canvas-drawimage-canvas-accelerated.html: 
Added.
* 
LayoutTests/fast/canvas/hdr/float16-canvas-drawimage-canvas-unaccelerated-expected.txt:
 Added.
* 
LayoutTests/fast/canvas/hdr/float16-canvas-drawimage-canvas-unaccelerated-no-gpu-process-expected.txt:
 Added.
* 
LayoutTests/fast/canvas/hdr/float16-canvas-drawimage-canvas-unaccelerated-no-gpu-process.html:
 Added.
* 
LayoutTests/fast/canvas/hdr/float16-canvas-drawimage-canvas-unaccelerated.html: 
Added.
* LayoutTests/fast/canvas/hdr/float16-canvas-drawimage-canvas.js: Added.
(toleranceFor):
(createContext):
(fill):
(verifyPixel):
(expectedRed):
(testCrossCanvas):
(testSelfDraw):
* Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::drawImage):
(WebCore::CanvasRenderingContext2DBase::fullCanvasCompositedDrawImage):
(WebCore::CanvasRenderingContext2DBase::createCompatibleImageBuffer const):
* Source/WebCore/html/canvas/CanvasRenderingContext2DBase.h:
* Source/WebCore/platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::createImageBuffer const):
* Source/WebCore/platform/graphics/GraphicsContext.h:
* Source/WebCore/platform/graphics/cg/ImageBufferCGBitmapBackend.cpp:
(WebCore::bitmapInfoForPixelFormat):
(WebCore::ImageBufferCGBitmapBackend::create):
(WebCore::ImageBufferCGBitmapBackend::createNativeImageReference):

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



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

Reply via email to