Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5279d7db78312442040c4e72732b7187ade75e90
      
https://github.com/WebKit/WebKit/commit/5279d7db78312442040c4e72732b7187ade75e90
  Author: Mike Wyrzykowski <[email protected]>
  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
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to