[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