[webkit-changes] [WebKit/WebKit] fa7690: [WebGPU] Consistenly initialize functions whether ...

Tadeu Zagallo noreply at github.com
Fri Apr 21 06:13:39 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: fa7690e33574cf7df957d005cfde7fbaa4fe3f10
      https://github.com/WebKit/WebKit/commit/fa7690e33574cf7df957d005cfde7fbaa4fe3f10
  Author: Tadeu Zagallo <tzagallo at apple.com>
  Date:   2023-04-21 (Fri, 21 Apr 2023)

  Changed paths:
    M Source/WebGPU/WebGPU/ComputePipeline.mm
    M Source/WebGPU/WebGPU/Device.h
    M Source/WebGPU/WebGPU/RenderPipeline.mm
    M Source/WebGPU/WebGPU/ShaderModule.h
    M Source/WebGPU/WebGPU/ShaderModule.mm

  Log Message:
  -----------
  [WebGPU] Consistenly initialize functions whether modules were early compiled or not
https://bugs.webkit.org/show_bug.cgi?id=255664
rdar://problem/108268188

Reviewed by Myles C. Maxfield.

When creating pipelines, first we tried to load the entrypoints directly from the
pre-compiled module. This caused inconsistencies, since the pipeline layout might
have changed since the library was precompiled, and constants were also constructed
differently, by using reflaction. Instead, we delete that code path and use the
deferred compilation path instead, which already tries to use the precompiled module
if one is available and compatible.

* Source/WebGPU/WebGPU/ComputePipeline.mm:
(WebGPU::Device::createComputePipeline):
* Source/WebGPU/WebGPU/Device.h:
(WebGPU::Device::buildKeyValueReplacements const): Deleted.
* Source/WebGPU/WebGPU/RenderPipeline.mm:
(WebGPU::Device::createRenderPipeline):
* Source/WebGPU/WebGPU/ShaderModule.h:
* Source/WebGPU/WebGPU/ShaderModule.mm:
(WebGPU::ShaderModule::getNamedFunction const): Deleted.

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




More information about the webkit-changes mailing list