Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 82200c87c9e07fb76d09b6f228d736a9088b9ea5
      
https://github.com/WebKit/WebKit/commit/82200c87c9e07fb76d09b6f228d736a9088b9ea5
  Author: Mike Wyrzykowski <mwyrzykow...@apple.com>
  Date:   2024-06-10 (Mon, 10 Jun 2024)

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

  Log Message:
  -----------
  [WebGPU] RenderBundleEncoder::drawIndexed does not check for the buffer being 
destroyed
https://bugs.webkit.org/show_bug.cgi?id=275167
<radar://129227496>

Reviewed by Tadeu Zagallo.

drawIndexed call was allowing destroyed buffer to be passed to Metal,
which resulted in a size mismatch as the destroyed buffer has a length of 1.

We can not simply return early without incrementing the command count however
since then when replay occurs in the bundle, the commands will not all be 
removed.

Ensure this doesn't occur which avoids replaying the incorrect commands on the 
next
frame.

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

* Source/WebGPU/WebGPU/RenderBundleEncoder.h:
* Source/WebGPU/WebGPU/RenderBundleEncoder.mm:
(WebGPU::RenderBundleEncoder::draw):
(WebGPU::RenderBundleEncoder::finalizeRenderCommand):
(WebGPU::RenderBundleEncoder::drawIndexed):
(WebGPU::RenderBundleEncoder::drawIndexedIndirect):
(WebGPU::RenderBundleEncoder::drawIndirect):

Canonical link: https://commits.webkit.org/279878@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to