[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