[webkit-changes] [WebKit/WebKit] f96ecd: [WGSL] Enable deferred compilation of compute shaders

Tadeu Zagallo noreply at github.com
Tue Feb 7 03:03:16 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f96ecde0824ff7694d781bb8e3324bee9f24e04c
      https://github.com/WebKit/WebKit/commit/f96ecde0824ff7694d781bb8e3324bee9f24e04c
  Author: Tadeu Zagallo <tzagallo at apple.com>
  Date:   2023-02-07 (Tue, 07 Feb 2023)

  Changed paths:
    M Source/WebGPU/WGSL/EntryPointRewriter.cpp
    M Source/WebGPU/WGSL/EntryPointRewriter.h
    M Source/WebGPU/WGSL/MangleNames.cpp
    M Source/WebGPU/WGSL/MangleNames.h
    M Source/WebGPU/WGSL/WGSL.cpp
    M Source/WebGPU/WebGPU/ShaderModule.mm

  Log Message:
  -----------
  [WGSL] Enable deferred compilation of compute shaders
https://bugs.webkit.org/show_bug.cgi?id=251785
<rdar://problem/105075787>

Reviewed by Myles C. Maxfield.

In #9441 we allowed early compilation of shaders even when no hints were provided.
That was a workaround to start passing some of the CTS tests and unblock testing
the API. Now we remove that workaround and add the necessary functionality to defer
the compilation until the pipeline creation if no hints were provided.

* Source/WebGPU/WGSL/EntryPointRewriter.cpp:
(WGSL::EntryPointRewriter::EntryPointRewriter):
(WGSL::EntryPointRewriter::rewrite):
(WGSL::EntryPointRewriter::takeEntryPointInformation):
(WGSL::EntryPointRewriter::collectParameters):
(WGSL::EntryPointRewriter::checkReturnType):
(WGSL::EntryPointRewriter::appendBuiltins):
(WGSL::rewriteEntryPoints):
* Source/WebGPU/WGSL/EntryPointRewriter.h:
* Source/WebGPU/WGSL/MangleNames.cpp:
(WGSL::NameManglerVisitor::NameManglerVisitor):
(WGSL::NameManglerVisitor::run):
(WGSL::mangleNames):
* Source/WebGPU/WGSL/MangleNames.h:
* Source/WebGPU/WGSL/WGSL.cpp:
(WGSL::prepareImpl):
(WGSL::prepare):
* Source/WebGPU/WGSL/WGSL.h:
* Source/WebGPU/WebGPU/ShaderModule.mm:
(WebGPU::Device::createShaderModule):

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




More information about the webkit-changes mailing list