[tint] Implement subgroupShuffleXor, Up and Down
Implement WGSL builtins subgroupShuffleXor, subgroupShuffleUp, and
subgroupShuffleDown in the SPIR-V IR backend (not AST), MSL AST and IR
backends and HLSL AST and IR backends. Subgroup builtins are not yet
implemented for the GLSL backend.
A polyfill is necessary for the HLSL backends to implement these
functions in terms of WaveReadLaneAt. This is implemented as an IR
transform for the IR backend, and in the AST printer for the AST
backend.
Bug: 354738715
Change-Id: I06e41def207168d357031d36f8af5e44242478a6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/202234
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: Natalie Chouinard <chouinard@google.com>
diff --git a/src/tint/lang/core/parameter_usage.h b/src/tint/lang/core/parameter_usage.h
index af6a6e7..be4a08b 100644
--- a/src/tint/lang/core/parameter_usage.h
+++ b/src/tint/lang/core/parameter_usage.h
@@ -54,6 +54,7 @@
kCoords,
kDdx,
kDdy,
+ kDelta,
kDepth,
kDepthRef,
kElements,
@@ -61,6 +62,7 @@
kInputAttachment,
kLevel,
kLocation,
+ kMask,
kNumLevels,
kOffset,
kOriginalValue,