summaryrefslogtreecommitdiff
path: root/tests/cooperative-vector/CoopVec/load-store-arbitrary-array-vec.slang
diff options
context:
space:
mode:
authorJay Kwak <82421531+jkwak-work@users.noreply.github.com>2025-01-30 00:59:49 -0800
committerGitHub <noreply@github.com>2025-01-30 00:59:49 -0800
commitba9b2785c69c1b8c6d2b4103267b5281815f9f23 (patch)
treee4ba4ca76c6592b90764a0a7ac32502639dc93aa /tests/cooperative-vector/CoopVec/load-store-arbitrary-array-vec.slang
parent2ae194d51e15c064c3d905e628f7335de7504e32 (diff)
Support cooperative vector (#6223)
* Support cooperative vector without Vulkan-header update Adding a Slang support for cooperative vector. But this commit doesn't have Vulkan-header update.
Diffstat (limited to 'tests/cooperative-vector/CoopVec/load-store-arbitrary-array-vec.slang')
-rw-r--r--tests/cooperative-vector/CoopVec/load-store-arbitrary-array-vec.slang35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/cooperative-vector/CoopVec/load-store-arbitrary-array-vec.slang b/tests/cooperative-vector/CoopVec/load-store-arbitrary-array-vec.slang
new file mode 100644
index 000000000..f577ae5f3
--- /dev/null
+++ b/tests/cooperative-vector/CoopVec/load-store-arbitrary-array-vec.slang
@@ -0,0 +1,35 @@
+//DISABLE_TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-vk -xslang -skip-spirv-validation
+
+// CHECK: 1
+// CHECK-NEXT: 2
+// CHECK-NEXT: 3
+// CHECK-NEXT: 4
+// CHECK-NEXT: 5
+// CHECK-NEXT: 6
+// CHECK-NEXT: 7
+// CHECK-NEXT: 8
+// CHECK-NEXT: 9
+// CHECK-NEXT: A
+// CHECK-NEXT: B
+// CHECK-NEXT: C
+// CHECK-NEXT: D
+// CHECK-NEXT: E
+// CHECK-NEXT: F
+
+//TEST_INPUT:ubuffer(data=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]):name=input
+RWByteAddressBuffer input;
+
+//TEST_INPUT:ubuffer(data=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]):out,name=outputBuffer
+RWStructuredBuffer<uint32_t> outputBuffer;
+
+groupshared float3[5] temp;
+
+[numthreads(1, 1, 1)]
+void computeMain()
+{
+ let vec = coopVecLoad<15, uint32_t>(input);
+ vec.storeAny(temp);
+ let result = CoopVec<uint32_t, 15>.loadAny(temp);
+ for(int i = 0; i < result.getCount(); ++i)
+ outputBuffer[i] = result[i];;
+}