Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 5d6541ead5140df5a918ad857033c325ddadbf6a
https://github.com/WebKit/WebKit/commit/5d6541ead5140df5a918ad857033c325ddadbf6a
Author: Tadeu Zagallo <[email protected]>
Date: 2023-05-26 (Fri, 26 May 2023)
Changed paths:
M Source/WebGPU/WGSL/AST/ASTVariable.h
M Source/WebGPU/WGSL/GlobalVariableRewriter.cpp
M Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp
M Source/WebGPU/WGSL/TypeCheck.cpp
M Source/WebGPU/WGSL/Types.cpp
M Source/WebGPU/WGSL/Types.h
Log Message:
-----------
[WGSL] Move logic to handle global references into serialization
https://bugs.webkit.org/show_bug.cgi?id=257275
rdar://109789455
Reviewed by Mike Wyrzykowski.
Instead of trying to decide whether a given global should be a reference by
looking
at its type during rewriting, now that we have proper knowledge about address
spaces
we can greatly simply this logic by consistently using references for all
globals,
which is semantically correct, and handling this in the serializaiton stage.
* Source/WebGPU/WGSL/AST/ASTVariable.h:
* Source/WebGPU/WGSL/GlobalVariableRewriter.cpp:
(WGSL::RewriteGlobalVariables::visitCallee):
(WGSL::RewriteGlobalVariables::usesOverride):
(WGSL::RewriteGlobalVariables::insertStructs):
(WGSL::RewriteGlobalVariables::insertMaterializations):
(WGSL::RewriteGlobalVariables::shouldBeReference const): Deleted.
* Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp:
(WGSL::Metal::FunctionDefinitionWriter::serializeVariable):
(WGSL::Metal::FunctionDefinitionWriter::visit):
* Source/WebGPU/WGSL/TypeCheck.cpp:
(WGSL::TypeChecker::visitVariable):
* Source/WebGPU/WGSL/Types.cpp:
(WGSL::isPrimitive):
(WGSL::isPrimitiveReference):
* Source/WebGPU/WGSL/Types.h:
Canonical link: https://commits.webkit.org/264574@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes