[webkit-changes] [WebKit/WebKit] 3a1c2f: [WebGPU] RenderPipeline::getBindGroupLayout can re...

mwyrzykowski noreply at github.com
Wed Jan 18 12:12:38 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3a1c2fbdbe3d348b35dea3f3d2d914929fdd7d2e
      https://github.com/WebKit/WebKit/commit/3a1c2fbdbe3d348b35dea3f3d2d914929fdd7d2e
  Author: Mike Wyrzykowski <mwyrzykowski at apple.com>
  Date:   2023-01-18 (Wed, 18 Jan 2023)

  Changed paths:
    M Source/WebGPU/WebGPU/RenderPassEncoder.mm
    M Source/WebGPU/WebGPU/RenderPipeline.mm

  Log Message:
  -----------
  [WebGPU] RenderPipeline::getBindGroupLayout can result in out of bounds access (250747)
https://bugs.webkit.org/show_bug.cgi?id=250747
<radar://104359389>

Reviewed by Myles C. Maxfield.

Fix two additional errors noticed while looking at
https://playground.babylonjs.com/

(1) If there are no buffer entries in the shader then getBindGroupLayout
will result in an out of bounds access. The value is never read from
in this case, but it will assert in Debug.

(2) If the pipeline configuration is invalid then setRenderPipeline
will assert in debug, which is not expected since some configuration
of shaders could generate an invalid pipeline.

* Source/WebGPU/WebGPU/RenderPassEncoder.mm:
(WebGPU::RenderPassEncoder::setPipeline):
setRenderPipelineState requires the pipeline to be non-nil.

* Source/WebGPU/WebGPU/RenderPipeline.mm:
(WebGPU::RenderPipeline::getBindGroupLayout):
Fix out of bounds.

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




More information about the webkit-changes mailing list