Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f915246e31c3594167be28c244e9790100234ecc
      
https://github.com/WebKit/WebKit/commit/f915246e31c3594167be28c244e9790100234ecc
  Author: Mike Wyrzykowski <[email protected]>
  Date:   2023-11-06 (Mon, 06 Nov 2023)

  Changed paths:
    M 
LayoutTests/http/tests/webgpu/webgpu/api/operation/command_buffer/programmable/state_tracking-expected.txt
    M 
LayoutTests/http/tests/webgpu/webgpu/api/operation/memory_sync/buffer/multiple_buffers-expected.txt
    M 
LayoutTests/http/tests/webgpu/webgpu/api/operation/memory_sync/buffer/single_buffer-expected.txt
    M 
LayoutTests/http/tests/webgpu/webgpu/api/operation/memory_sync/texture/same_subresource-expected.txt
    M LayoutTests/platform/mac-wk2/TestExpectations
    M Source/WebGPU/WebGPU/RenderBundle.h
    M Source/WebGPU/WebGPU/RenderBundle.mm
    M Source/WebGPU/WebGPU/RenderBundleEncoder.h
    M Source/WebGPU/WebGPU/RenderBundleEncoder.mm
    M Source/WebGPU/WebGPU/RenderPassEncoder.mm

  Log Message:
  -----------
  [WebGPU] GPURenderBundleEncoder.drawIndirect and 
GPURenderBundleEncoder.drawIndexedIndirect have synchronization issues
https://bugs.webkit.org/show_bug.cgi?id=264213
<radar://117948947>

Reviewed by Dan Glastonbury.

RenderBundleEncoder supports drawIndirect and drawIndexedIndirect but
MTLIndirectRenderCommand does not. Initially this was implemented by directly
reading the contents property of the indirect buffer, however that has 
synchronization
issues if the buffer is encoded in a copyBufferToBuffer command or similar.

Eventually we would like to build the ICBs via a compute kernel, as noted in
https://bugs.webkit.org/show_bug.cgi?id=264219.

However, until https://bugs.webkit.org/show_bug.cgi?id=264219 is implemented we 
will
support RenderBundles via command replay to avoid the synchronization issues 
described.

This also allows all the memory_sync tests to pass, so enable them.

* 
LayoutTests/http/tests/webgpu/webgpu/api/operation/memory_sync/buffer/multiple_buffers-expected.txt:
* 
LayoutTests/http/tests/webgpu/webgpu/api/operation/memory_sync/buffer/single_buffer-expected.txt:
* 
LayoutTests/http/tests/webgpu/webgpu/api/operation/memory_sync/texture/same_subresource-expected.txt:
* LayoutTests/platform/mac-wk2/TestExpectations:
* Source/WebGPU/WebGPU/RenderBundleEncoder.mm:
(WebGPU::RenderBundleEncoder::addResource):
(WebGPU::RenderBundleEncoder::drawIndexedIndirect):
(WebGPU::RenderBundleEncoder::drawIndirect):

* 
LayoutTests/http/tests/webgpu/webgpu/api/operation/command_buffer/programmable/state_tracking-expected.txt:

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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to