[webkit-changes] [WebKit/WebKit] 15c802: [WebGPU] getBindGroupLayout() is actually supposed...

Myles C. Maxfield noreply at github.com
Sat Feb 4 22:04:51 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 15c8024a15bf3339de61e0100b9d1317f108d30e
      https://github.com/WebKit/WebKit/commit/15c8024a15bf3339de61e0100b9d1317f108d30e
  Author: Myles C. Maxfield <mmaxfield at apple.com>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUComputePipelineImpl.cpp
    M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUComputePipelineImpl.h
    M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPURenderPipelineImpl.cpp
    M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPURenderPipelineImpl.h
    M Source/WebCore/PAL/pal/graphics/WebGPU/WebGPUComputePipeline.h
    M Source/WebCore/PAL/pal/graphics/WebGPU/WebGPURenderPipeline.h
    M Source/WebGPU/WebGPU/APIConversions.h
    M Source/WebGPU/WebGPU/ComputePipeline.h
    M Source/WebGPU/WebGPU/ComputePipeline.mm
    M Source/WebGPU/WebGPU/RenderPipeline.h
    M Source/WebGPU/WebGPU/RenderPipeline.mm
    M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteComputePipeline.cpp
    M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderPipeline.cpp
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteComputePipelineProxy.cpp
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteComputePipelineProxy.h
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteRenderPipelineProxy.cpp
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteRenderPipelineProxy.h
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteShaderModuleProxy.cpp

  Log Message:
  -----------
  [WebGPU] getBindGroupLayout() is actually supposed to have "create" semantics
https://bugs.webkit.org/show_bug.cgi?id=251732
rdar://105030025

Reviewed by Dean Jackson.

This is a partial revert of 259609 at main. You would think that, because the name of "getBindGroupLayout()"
starts with the word "get," that it would have "get" semantics. However, the spec actually explicitly
describes that it has "create" semantics. This patch updates the implementation to have those semantics.

The spec specifically says "A new GPUBindGroupLayout wrapper is returned each time."

https://github.com/gpuweb/gpuweb/pull/3804 is a PR to the spec to rename the functions, to be more clear
about their behavior.

* Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUComputePipelineImpl.cpp:
(PAL::WebGPU::ComputePipelineImpl::getBindGroupLayout):
* Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUComputePipelineImpl.h:
* Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPURenderPipelineImpl.cpp:
(PAL::WebGPU::RenderPipelineImpl::getBindGroupLayout):
* Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPURenderPipelineImpl.h:
* Source/WebCore/PAL/pal/graphics/WebGPU/WebGPUComputePipeline.h:
* Source/WebCore/PAL/pal/graphics/WebGPU/WebGPURenderPipeline.h:
* Source/WebGPU/WebGPU/APIConversions.h:
(WebGPU::releaseToAPI):
* Source/WebGPU/WebGPU/ComputePipeline.h:
* Source/WebGPU/WebGPU/ComputePipeline.mm:
(WebGPU::ComputePipeline::getBindGroupLayout):
(wgpuComputePipelineGetBindGroupLayout):
* Source/WebGPU/WebGPU/RenderPipeline.h:
* Source/WebGPU/WebGPU/RenderPipeline.mm:
(WebGPU::RenderPipeline::getBindGroupLayout):
(wgpuRenderPipelineGetBindGroupLayout):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteComputePipeline.cpp:
(WebKit::RemoteComputePipeline::getBindGroupLayout):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderPipeline.cpp:
(WebKit::RemoteRenderPipeline::getBindGroupLayout):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteComputePipelineProxy.cpp:
(WebKit::WebGPU::RemoteComputePipelineProxy::getBindGroupLayout):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteComputePipelineProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteRenderPipelineProxy.cpp:
(WebKit::WebGPU::RemoteRenderPipelineProxy::getBindGroupLayout):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteRenderPipelineProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteShaderModuleProxy.cpp:
(WebKit::WebGPU::RemoteShaderModuleProxy::compilationInfo):

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




More information about the webkit-changes mailing list