[webkit-changes] [WebKit/WebKit] 5279d7: [WebGPU] RenderPassEncoder.executeBundles fails to...

mwyrzykowski noreply at github.com
Tue Feb 18 18:43:12 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5279d7db78312442040c4e72732b7187ade75e90
      https://github.com/WebKit/WebKit/commit/5279d7db78312442040c4e72732b7187ade75e90
  Author: Mike Wyrzykowski <mwyrzykowski at apple.com>
  Date:   2025-02-18 (Tue, 18 Feb 2025)

  Changed paths:
    A LayoutTests/fast/webgpu/nocrash/fuzz-287866-expected.txt
    A LayoutTests/fast/webgpu/nocrash/fuzz-287866.html
    M Source/WebGPU/WebGPU/RenderPassEncoder.mm

  Log Message:
  -----------
  [WebGPU] RenderPassEncoder.executeBundles fails to clear state after executing bundle commands
https://bugs.webkit.org/show_bug.cgi?id=287866
rdar://145033045

Reviewed by Tadeu Zagallo.

The specification for executeBundles, https://www.w3.org/TR/webgpu/#render-pass-encoder-bundles, says:

    After a GPURenderBundle has executed, the render pass’s pipeline, bind group, and
    vertex/index buffer state is cleared (to the initial, empty values).

which we were not previously ensuring. This could lead to out of bounds data reads via
stale dynamic offsets.

ComputePassEncoder doesn't support bundles, so change only applies to RenderPassEncoder.

* LayoutTests/fast/webgpu/nocrash/fuzz-287866-expected.txt: Added.
* LayoutTests/fast/webgpu/nocrash/fuzz-287866.html: Added.
Add regression test.

* Source/WebGPU/WebGPU/RenderPassEncoder.mm:
(WebGPU::RenderPassEncoder::executeBundles):
Clear state after executeBundles call.

Canonical link: https://commits.webkit.org/290586@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