summaryrefslogtreecommitdiffstats
path: root/tests/diagnostics
diff options
context:
space:
mode:
authorDarren Wihandi <65404740+fairywreath@users.noreply.github.com>2025-04-22 14:04:56 -0600
committerGitHub <noreply@github.com>2025-04-22 20:04:56 +0000
commited5940a629ae05e9571bfe355d22f0728347dcb4 (patch)
tree90a36c6543f0ee3748b80112a478897b027dddab /tests/diagnostics
parentd5220b327632a8aeeb9a89494bb37bd82fec30cb (diff)
Implement shader subgroup rotate intrinsics (#6878)
* Initial implementation for SPIRV, GLSL and Metal * test add bool test * Fix and improve subgroup rotate tests * Add proper GLSL extensions and proper Metal type checking * Clean up tests and add diagnostics test for subgroup type for Metal * Update wave-intrinsics docs
Diffstat (limited to 'tests/diagnostics')
-rw-r--r--tests/diagnostics/wave-operations-types.slang14
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/diagnostics/wave-operations-types.slang b/tests/diagnostics/wave-operations-types.slang
new file mode 100644
index 000000000..55a6a8e91
--- /dev/null
+++ b/tests/diagnostics/wave-operations-types.slang
@@ -0,0 +1,14 @@
+//DIAGNOSTIC_TEST:SIMPLE(filecheck=CHECK): -entry computeMain -stage compute -target metal
+
+RWStructuredBuffer<uint> out;
+
+[shader("compute")]
+void computeMain(uint3 dispatchID : SV_DispatchThreadID)
+{
+ // CHECK: Unsupported type for subgroup operations in Metal. Valid types include
+ // CHECK: Unsupported type for subgroup operations in Metal. Valid types include
+ // CHECK: Unsupported type for subgroup operations in Metal. Valid types include
+ out[0] = WaveRotate(true, 1);
+ out[1] = WaveRotate(uint8_t(dispatchID.x), 1);
+ out[2] = WaveRotate(uint64_t(dispatchID.x), 1);
+}