Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 074a78d9d7fba2ccf27d4d98fd25cdddb638a498
https://github.com/WebKit/WebKit/commit/074a78d9d7fba2ccf27d4d98fd25cdddb638a498
Author: Tadeu Zagallo <[email protected]>
Date: 2023-06-07 (Wed, 07 Jun 2023)
Changed paths:
M Source/WebGPU/WGSL/AST/ASTStructure.h
M Source/WebGPU/WGSL/GlobalVariableRewriter.cpp
M Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp
M Source/WebGPU/WGSL/tests/valid/packing.wgsl
Log Message:
-----------
[WGSL] Initial support for packing and unpacking values on assignment
https://bugs.webkit.org/show_bug.cgi?id=257797
rdar://110389019
Reviewed by Dan Glastonbury.
In 264864@main I started the process of distinguishing between structs that need
to be "packed", i.e. respect the size and alignment of types as defined in the
WGSL
spec. This is the first patch that introduces explicit convertions between
packed
and unpacked structs. For now, we only pack/unpack at assignments, which is not
enough, but other patches will follow extending this functionality to other
operations.
* Source/WebGPU/WGSL/AST/ASTStructure.h:
* Source/WebGPU/WGSL/GlobalVariableRewriter.cpp:
(WGSL::RewriteGlobalVariables::visit):
(WGSL::RewriteGlobalVariables::pack):
(WGSL::RewriteGlobalVariables::getPacking):
(WGSL::RewriteGlobalVariables::packResourceStruct):
* Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp:
(WGSL::Metal::FunctionDefinitionWriter::write):
(WGSL::Metal::FunctionDefinitionWriter::generatePackingHelpers):
* Source/WebGPU/WGSL/tests/valid/packing.wgsl:
Canonical link: https://commits.webkit.org/264975@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes