[webkit-changes] [WebKit/WebKit] 33055b: [WebGPU] Support vertex shader input buffers

mwyrzykowski noreply at github.com
Wed Dec 21 21:14:36 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 33055b844de35a1cefaa284d17333063b237290d
      https://github.com/WebKit/WebKit/commit/33055b844de35a1cefaa284d17333063b237290d
  Author: Mike Wyrzykowski <mwyrzykowski at apple.com>
  Date:   2022-12-21 (Wed, 21 Dec 2022)

  Changed paths:
    M Source/WebGPU/WebGPU/RenderPassEncoder.h
    M Source/WebGPU/WebGPU/RenderPassEncoder.mm
    M Source/WebGPU/WebGPU/RenderPipeline.h
    M Source/WebGPU/WebGPU/RenderPipeline.mm
    A Websites/webkit.org/demos/webgpu/scripts/textured-cube-vs-input-buffers.js
    A Websites/webkit.org/demos/webgpu/textured-cube-vs-input-buffers.html

  Log Message:
  -----------
  [WebGPU] Support vertex shader input buffers
https://bugs.webkit.org/show_bug.cgi?id=249636
<radar://103490410>

Reviewed by Dean Jackson.

Configure the pipeline state to support vertex input
buffers.

This was tested against external WebGPU samples but
I will add a local test case while the review is on-going.

* Source/WebGPU/WebGPU/RenderPassEncoder.h:
* Source/WebGPU/WebGPU/RenderPassEncoder.mm:
(WebGPU::RenderPassEncoder::setBindGroup):
Offset the bind group vertex buffer by the number of
vertex shader input buffers.

(WebGPU::RenderPassEncoder::setPipeline):
Cache the number of vertex shader input buffers.

* Source/WebGPU/WebGPU/RenderPipeline.h:
(WebGPU::RenderPipeline::create):
(WebGPU::RenderPipeline::vertexShaderInputBufferCount const):
Return the number of vertex shader input buffers.

* Source/WebGPU/WebGPU/RenderPipeline.mm:
(WebGPU::Device::validateRenderPipeline):
(WebGPU::vertexFormat):
(WebGPU::stepFunction):
(WebGPU::createVertexDescriptor):
(WebGPU::Device::createRenderPipeline):
(WebGPU::RenderPipeline::RenderPipeline):
Configure the vertex shader input buffer state.

* Websites/webkit.org/demos/webgpu/scripts/textured-cube-vs-input-buffers.js: Added.
(async helloCube.frameUpdate):
(async helloCube):
* Websites/webkit.org/demos/webgpu/textured-cube-vs-input-buffers.html: Added.
Add sample test show use of vertex shader input buffers.

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




More information about the webkit-changes mailing list