summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/cross-compile/barriers.slang14
-rw-r--r--tests/cross-compile/barriers.slang.glsl14
2 files changed, 28 insertions, 0 deletions
diff --git a/tests/cross-compile/barriers.slang b/tests/cross-compile/barriers.slang
new file mode 100644
index 000000000..f6fb9ac3c
--- /dev/null
+++ b/tests/cross-compile/barriers.slang
@@ -0,0 +1,14 @@
+//TEST:CROSS_COMPILE:-target spirv-assembly -entry main -stage compute
+
+// Confirm that all HLSL barrier operations can be used when cross-compiling.
+
+[numthreads(1,1,1)]
+void main()
+{
+ AllMemoryBarrier();
+ AllMemoryBarrierWithGroupSync();
+ DeviceMemoryBarrier();
+ DeviceMemoryBarrierWithGroupSync();
+ GroupMemoryBarrier();
+ GroupMemoryBarrierWithGroupSync();
+}
diff --git a/tests/cross-compile/barriers.slang.glsl b/tests/cross-compile/barriers.slang.glsl
new file mode 100644
index 000000000..281e684db
--- /dev/null
+++ b/tests/cross-compile/barriers.slang.glsl
@@ -0,0 +1,14 @@
+#version 450
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main()
+{
+ (memoryBarrier(), groupMemoryBarrier(), memoryBarrierImage(), memoryBarrierBuffer());
+ (memoryBarrier(), groupMemoryBarrier(), memoryBarrierImage(), memoryBarrierBuffer(), barrier());
+ (memoryBarrier(), memoryBarrierImage(), memoryBarrierBuffer());
+ (memoryBarrier(), memoryBarrierImage(), memoryBarrierBuffer(), barrier());
+ groupMemoryBarrier();
+ (groupMemoryBarrier(), barrier());
+
+ return;
+}