[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