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

Reply via email to