[webkit-changes] [WebKit/WebKit] 030158: [WebGPU] Initial WGSL support for texture_external
Tadeu Zagallo
noreply at github.com
Wed May 17 00:28:50 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 030158c424b9bb4b9a9df1b3982a419393990435
https://github.com/WebKit/WebKit/commit/030158c424b9bb4b9a9df1b3982a419393990435
Author: Tadeu Zagallo <tzagallo at apple.com>
Date: 2023-05-17 (Wed, 17 May 2023)
Changed paths:
M Source/WebGPU/WGSL/Constraints.cpp
M Source/WebGPU/WGSL/GlobalVariableRewriter.cpp
M Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp
M Source/WebGPU/WGSL/TypeCheck.cpp
M Source/WebGPU/WGSL/TypeStore.cpp
M Source/WebGPU/WGSL/TypeStore.h
M Source/WebGPU/WGSL/Types.h
M Source/WebGPU/WGSL/generator/main.rb
Log Message:
-----------
[WebGPU] Initial WGSL support for texture_external
https://bugs.webkit.org/show_bug.cgi?id=256721
rdar://109270814
Reviewed by Mike Wyrzykowski.
Add a new builtin type to represent `texture_external`, keep track of whether the
shader being compile uses external textures and emit a structure to represent it
in Metal if necessary.
* Source/WebGPU/WGSL/Constraints.cpp:
(WGSL::satisfies):
(WGSL::satisfyOrPromote):
* Source/WebGPU/WGSL/GlobalVariableRewriter.cpp:
(WGSL::RewriteGlobalVariables::usesOverride):
(WGSL::RewriteGlobalVariables::insertStructs):
* Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp:
(WGSL::Metal::FunctionDefinitionWriter::write):
(WGSL::Metal::FunctionDefinitionWriter::visit):
* Source/WebGPU/WGSL/TypeCheck.cpp:
(WGSL::TypeChecker::TypeChecker):
* Source/WebGPU/WGSL/TypeStore.cpp:
(WGSL::TypeStore::TypeStore):
* Source/WebGPU/WGSL/TypeStore.h:
(WGSL::TypeStore::textureExternalType const):
* Source/WebGPU/WGSL/Types.h:
* Source/WebGPU/WGSL/WGSLShaderModule.h:
(WGSL::ShaderModule::ShaderModule):
(WGSL::ShaderModule::usesExternalTextures const):
(WGSL::ShaderModule::setUsesExternalTextures):
* Source/WebGPU/WGSL/generator/main.rb:
Canonical link: https://commits.webkit.org/264138@main
More information about the webkit-changes
mailing list