Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 05784efcc3c82f2979bd301fe4cd6f10316d792d
      
https://github.com/WebKit/WebKit/commit/05784efcc3c82f2979bd301fe4cd6f10316d792d
  Author: Mike Wyrzykowski <[email protected]>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

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

  Log Message:
  -----------
  [WebGPU][Regression: 293608@main] RenderBundle command replay bypasses state 
caches
https://bugs.webkit.org/show_bug.cgi?id=291579
rdar://149249201

Reviewed by Tadeu Zagallo.

To avoid redundant state changes, in 293608@main a cache was added to 
RenderPassEncoder.

However while replaying RenderBundles, which is an uncommon path that only 
occurs
in obscure usage cases, the replay mechanism was not updating the cache.

Inserting checks in the replay to update the cache seems unnecesary given this 
is a
rare use case one which has never been observed in the wild, so instead bypass 
the cache
during replay.

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

* Source/WebGPU/WebGPU/RenderPassEncoder.h:
* Source/WebGPU/WebGPU/RenderPassEncoder.mm:
(WebGPU::RenderPassEncoder::setVertexBuffer):
(WebGPU::RenderPassEncoder::setFragmentBuffer):
(WebGPU::RenderPassEncoder::executeBundles):
Bypass cache during bundle replay.

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