Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3d505c75ee55d8c58313680465defe3e9a145d8d
https://github.com/WebKit/WebKit/commit/3d505c75ee55d8c58313680465defe3e9a145d8d
Author: Tadeu Zagallo <[email protected]>
Date: 2023-09-21 (Thu, 21 Sep 2023)
Changed paths:
M Source/WebGPU/WGSL/Constraints.cpp
M Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp
M Source/WebGPU/WGSL/Overload.cpp
M Source/WebGPU/WGSL/Overload.h
M Source/WebGPU/WGSL/TypeDeclarations.rb
M Source/WebGPU/WGSL/generator/main.rb
M Source/WebGPU/WGSL/tests/valid/overload.wgsl
M Source/WebGPU/WGSL/tests/valid/pointers.wgsl
Log Message:
-----------
[WGSL] Add support for address-of and indirection operators
https://bugs.webkit.org/show_bug.cgi?id=261833
<rdar://problem/115795658>
Reviewed by Dan Glastonbury.
Add the type declarations for address-of (&x, spec[1]) and indirection (*x,
spec[2])
operators. This required introducing AbstractReference and AbstractPointer to
the
overload resolution algorithm and exposing them to the ruby DSL, as well as
exposing
address space and access mode, which was done by generalizing NumericVariables
to
use the underlying enum type.
[1]: https://www.w3.org/TR/WGSL/#address-of-expr
[2]: https://www.w3.org/TR/WGSL/#indirection-expr
* Source/WebGPU/WGSL/Constraints.cpp:
(WGSL::satisfies):
(WGSL::satisfyOrPromote):
* Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp:
(WGSL::Metal::FunctionDefinitionWriter::visit):
* Source/WebGPU/WGSL/Overload.cpp:
(WGSL::OverloadResolver::OverloadResolver):
(WGSL::OverloadResolver::materialize const):
(WGSL::OverloadResolver::considerCandidate):
(WGSL::OverloadResolver::calculateRank):
(WGSL::OverloadResolver::unify):
(WGSL::OverloadResolver::assign):
(WGSL::OverloadResolver::resolve const):
(WGSL::resolveOverloads):
(WTF::printInternal):
* Source/WebGPU/WGSL/Overload.h:
* Source/WebGPU/WGSL/TypeDeclarations.rb:
* Source/WebGPU/WGSL/generator/main.rb:
* Source/WebGPU/WGSL/tests/valid/overload.wgsl:
* Source/WebGPU/WGSL/tests/valid/pointers.wgsl:
Canonical link: https://commits.webkit.org/268245@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes