Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 80357a24d696b3f75ff143d2bb790b7dc37c38a9
      
https://github.com/WebKit/WebKit/commit/80357a24d696b3f75ff143d2bb790b7dc37c38a9
  Author: Tadeu Zagallo <tzaga...@apple.com>
  Date:   2023-01-25 (Wed, 25 Jan 2023)

  Changed paths:
    M Source/WebGPU/WGSL/AST/ASTFunctionDecl.h
    M Source/WebGPU/WGSL/AST/ASTStructureDecl.h
    M Source/WebGPU/WGSL/EntryPointRewriter.cpp
    M Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp
    M Source/WebGPU/WGSL/Parser.cpp

  Log Message:
  -----------
  [WGSL] Add `role`s to structs and parameters to aid codegen
https://bugs.webkit.org/show_bug.cgi?id=251089
<rdar://problem/104602741>

Reviewed by Myles C. Maxfield.

Add a field to indicate what is the role of structs and parameters. That
helps with codegen as we can identify as if a struct or parameter was generated
for a specific purposed, e.g. to receive stage_in parameters. This extra 
information
helps when choosing the right metal attributes during codegen.

* Source/WebGPU/WGSL/AST/ASTFunctionDecl.h:
* Source/WebGPU/WGSL/AST/ASTStructureDecl.h:
* Source/WebGPU/WGSL/EntryPointRewriter.cpp:
(WGSL::EntryPointRewriter::EntryPointRewriter):
(WGSL::EntryPointRewriter::rewrite):
(WGSL::EntryPointRewriter::constructInputStruct):
(WGSL::EntryPointRewriter::appendBuiltins):
(WGSL::rewriteEntryPoints):
* Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp:
(WGSL::Metal::FunctionDefinitionWriter::visit):
* Source/WebGPU/WGSL/Parser.cpp:
(WGSL::Parser<Lexer>::parseStructDecl):
(WGSL::Parser<Lexer>::parseParameter):

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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to