[webkit-changes] [WebKit/WebKit] 303744: [WebGPU] GPUCanvasContext.configure(Rgba16float) c...

mwyrzykowski noreply at github.com
Mon Feb 19 12:51:14 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 303744063b76f8bcf0335164bd86adae36fe28ab
      https://github.com/WebKit/WebKit/commit/303744063b76f8bcf0335164bd86adae36fe28ab
  Author: Mike Wyrzykowski <mwyrzykowski at apple.com>
  Date:   2024-02-19 (Mon, 19 Feb 2024)

  Changed paths:
    M Source/WebGPU/WebGPU/PresentationContextIOSurface.h
    M Source/WebGPU/WebGPU/PresentationContextIOSurface.mm
    M Source/WebGPU/WebGPU/Texture.h
    M Source/WebGPU/WebGPU/Texture.mm

  Log Message:
  -----------
  [WebGPU] GPUCanvasContext.configure(Rgba16float) crashes in IOSurface creation
https://bugs.webkit.org/show_bug.cgi?id=269582
<radar://123096556>

Reviewed by Dan Glastonbury.

rgba16float is a supported GPUCanvasContext format according to the specification,
but HTMLCanvas doesn't support rgba16float yet. So according to the WebGPU specification,
we are supposed to clamp the luminance to [0,1], leaving the chroma unchanged.

Do so with a custom compute shader.

* Source/WebGPU/WebGPU/PresentationContextIOSurface.h:
* Source/WebGPU/WebGPU/PresentationContextIOSurface.mm:
(WebGPU::PresentationContextIOSurface::configure):
* Source/WebGPU/WebGPU/Texture.h:
* Source/WebGPU/WebGPU/Texture.mm:
(WebGPU::Texture::recreateIfNeeded):
(WebGPU::Texture::formatToString):

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



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


More information about the webkit-changes mailing list