[webkit-changes] [WebKit/WebKit] 1303b0: [WebGPU] de-couple vertex buffer binding indices f...

mwyrzykowski noreply at github.com
Thu Jan 26 01:32:48 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1303b0d0d672202dce205e4d17996955ba96be3d
      https://github.com/WebKit/WebKit/commit/1303b0d0d672202dce205e4d17996955ba96be3d
  Author: Mike Wyrzykowski <mwyrzykowski at apple.com>
  Date:   2023-01-26 (Thu, 26 Jan 2023)

  Changed paths:
    M Source/WebGPU/WebGPU/Device.h
    M Source/WebGPU/WebGPU/Device.mm
    M Source/WebGPU/WebGPU/RenderBundleEncoder.mm
    M Source/WebGPU/WebGPU/RenderPassEncoder.h
    M Source/WebGPU/WebGPU/RenderPassEncoder.mm
    M Source/WebGPU/WebGPU/RenderPipeline.h
    M Source/WebGPU/WebGPU/RenderPipeline.mm
    M Websites/webkit.org/demos/webgpu/scripts/hello-cube-auto-layout.js
    M Websites/webkit.org/demos/webgpu/scripts/hello-cube-indirect.js
    M Websites/webkit.org/demos/webgpu/scripts/hello-cube.js
    M Websites/webkit.org/demos/webgpu/scripts/hello-indexed-cube.js
    M Websites/webkit.org/demos/webgpu/scripts/indirect-command-buffer-textured-cube.js
    M Websites/webkit.org/demos/webgpu/scripts/instanced-textured-cube.js
    M Websites/webkit.org/demos/webgpu/scripts/query-sets.js
    M Websites/webkit.org/demos/webgpu/scripts/textured-cube-shader-constants.js
    M Websites/webkit.org/demos/webgpu/scripts/textured-cube-vs-input-buffers.js
    M Websites/webkit.org/demos/webgpu/scripts/textured-cube.js
    M Websites/webkit.org/demos/webgpu/scripts/two-cubes.js

  Log Message:
  -----------
  [WebGPU] de-couple vertex buffer binding indices from bind group binding indices (251185)
https://bugs.webkit.org/show_bug.cgi?id=251185
<radar://104673394>

Reviewed by Myles C. Maxfield.

The shader compiler needs to know what offset to start generating
buffer indices from, so partition the available buffers into two ranges:
one for stage_in or calls to setVertexBuffer and the other for uniform bind groups.

* Source/WebGPU/WebGPU/RenderBundleEncoder.mm:
(WebGPU::RenderBundleEncoder::setBindGroup):
* Source/WebGPU/WebGPU/RenderPassEncoder.h:
* Source/WebGPU/WebGPU/RenderPassEncoder.mm:
(WebGPU::RenderPassEncoder::setBindGroup):
(WebGPU::RenderPassEncoder::setPipeline):
* Source/WebGPU/WebGPU/RenderPipeline.h:
(WebGPU::RenderPipeline::create):
(WebGPU::RenderPipeline::device const):
(WebGPU::RenderPipeline::vertexShaderInputBufferCount const): Deleted.
* Source/WebGPU/WebGPU/RenderPipeline.mm:
(WebGPU::Device::createRenderPipeline):
(WebGPU::RenderPipeline::RenderPipeline):
(WebGPU::RenderPipeline::getBindGroupLayout):
* Websites/webkit.org/demos/webgpu/scripts/hello-cube-auto-layout.js:
(async helloCube):
* Websites/webkit.org/demos/webgpu/scripts/hello-cube-indirect.js:
(async helloCube.frameUpdate):
(async helloCube):
* Websites/webkit.org/demos/webgpu/scripts/hello-cube.js:
(async helloCube.frameUpdate):
(async helloCube):
* Websites/webkit.org/demos/webgpu/scripts/hello-indexed-cube.js:
(async helloCube.frameUpdate):
(async helloCube):
* Websites/webkit.org/demos/webgpu/scripts/indirect-command-buffer-textured-cube.js:
* Websites/webkit.org/demos/webgpu/scripts/instanced-textured-cube.js:
(async helloCube):
* Websites/webkit.org/demos/webgpu/scripts/query-sets.js:
(async helloTriangle.async frameUpdate):
(async helloTriangle):
* Websites/webkit.org/demos/webgpu/scripts/textured-cube-vs-input-buffers.js:
* Websites/webkit.org/demos/webgpu/scripts/two-cubes.js:
(async helloCube.frameUpdate):
(async helloCube):

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




More information about the webkit-changes mailing list