[webkit-changes] [WebKit/WebKit] 2a3720: Create a single source of truth about the layout o...

mwyrzykowski noreply at github.com
Mon Jun 12 18:23:34 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2a3720d86ed8bb33268f53bccd1e541d4f164ca0
      https://github.com/WebKit/WebKit/commit/2a3720d86ed8bb33268f53bccd1e541d4f164ca0
  Author: Mike Wyrzykowski <mwyrzykowski at apple.com>
  Date:   2023-06-12 (Mon, 12 Jun 2023)

  Changed paths:
    M Source/JavaScriptCore/assembler/MacroAssemblerARM64.h
    M Source/WTF/wtf/PlatformHave.h
    M Source/WebGPU/WGSL/GlobalVariableRewriter.cpp
    M Source/WebGPU/WebGPU/BindGroup.mm
    M Source/WebGPU/WebGPU/BindGroupLayout.h
    M Source/WebGPU/WebGPU/BindGroupLayout.mm
    M Source/WebGPU/WebGPU/ComputePipeline.h
    M Source/WebGPU/WebGPU/ComputePipeline.mm
    M Source/WebGPU/WebGPU/Device.h
    M Source/WebGPU/WebGPU/RenderPipeline.h
    M Source/WebGPU/WebGPU/RenderPipeline.mm

  Log Message:
  -----------
  Create a single source of truth about the layout of bind groups / argument buffers
https://bugs.webkit.org/show_bug.cgi?id=257190
<radar://109994079>

Reviewed by Tadeu Zagallo and Myles C. Maxfield.

Assuming the bind group is created in the same order
as the bind group layout is not necessarily correct.

Instead of storing the shader stages per binding, we can
store the indices into the AB per binding so we get the
correct index into the AB for a given bind group entry.

* Source/WebGPU/WebGPU/BindGroup.mm:
(WebGPU::Device::createBindGroup):
* Source/WebGPU/WebGPU/BindGroupLayout.h:
(WebGPU::BindGroupLayout::create):
(WebGPU::BindGroupLayout::isValid const):
* Source/WebGPU/WebGPU/BindGroupLayout.mm:
(WebGPU::Device::createBindGroupLayout):
(WebGPU::BindGroupLayout::BindGroupLayout):
(WebGPU::BindGroupLayout::indexForBinding const):
(WebGPU::BindGroupLayout::bindingContainsStage const): Deleted.

* Source/WTF/wtf/PlatformHave.h:
Remove HAVE_METAL_BUFFER_BINDING_REFLECTION

* Source/WebGPU/WGSL/GlobalVariableRewriter.cpp:
(WGSL::bindingMemberForGlobal):
(WGSL::RewriteGlobalVariables::determineUsedGlobals):
Fill in the bindingMember.

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




More information about the webkit-changes mailing list