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