[webkit-changes] [WebKit/WebKit] 479f27: [WebGPU] Switching pipelines does not zero out dyn...

mwyrzykowski noreply at github.com
Fri Jan 17 09:51:02 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 479f27f56399082fb3c4dac5807743a66cd7c599
      https://github.com/WebKit/WebKit/commit/479f27f56399082fb3c4dac5807743a66cd7c599
  Author: Mike Wyrzykowski <mwyrzykowski at apple.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

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

  Log Message:
  -----------
  [WebGPU] Switching pipelines does not zero out dynamic offsets from prior pipeline
https://bugs.webkit.org/show_bug.cgi?id=285828
rdar://142761614

Reviewed by Cameron McCormack.

(Reland with clearing of dynamic offsets container fixed)

When calling resize() on a Vector, dynamic offsets from a previous draw
call could remain in the dynamic offsets Vector. Ensure they are zero'ed instead
by using Vector's ctor instead.

No change needed for RenderBundles since render bundles save all the dynamic
offsets across all draw calls into a single buffer.

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

* Source/WebGPU/WebGPU/ComputePassEncoder.mm:
(WebGPU::ComputePassEncoder::setPipeline):
* Source/WebGPU/WebGPU/RenderPassEncoder.mm:
(WebGPU::RenderPassEncoder::setPipeline):
Ensure stale dynamic offsets do not persist.

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