summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2023-08-30 11:45:47 -0700
committerGitHub <noreply@github.com>2023-08-30 11:45:47 -0700
commitbb15f5b494b20e957127f0ffa6040c94349da0d0 (patch)
treeb060f2b5751cc56c5f1fd8f7b37434e56b6b4e5b /tests
parent019f702e24d2d1d6ecf53d71f87776a83db96608 (diff)
Fix memory barrier intrinsics. (#3166)
* Fix memory barrier intrinsics. Makes them produce the same spirv code as dxc. * Fix. * filecheck barrier test for spirv backend. * Fix glsl intrinsic definition. * Fix intrinsics. * Fix intrinsics. * Fix. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/cross-compile/barriers.slang10
-rw-r--r--tests/cross-compile/barriers.slang.glsl14
2 files changed, 8 insertions, 16 deletions
diff --git a/tests/cross-compile/barriers.slang b/tests/cross-compile/barriers.slang
index f6fb9ac3c..d8bc92fa0 100644
--- a/tests/cross-compile/barriers.slang
+++ b/tests/cross-compile/barriers.slang
@@ -1,10 +1,16 @@
-//TEST:CROSS_COMPILE:-target spirv-assembly -entry main -stage compute
-
+//TEST:SIMPLE(filecheck=SPIRV): -stage compute -target spirv -emit-spirv-directly -entry main
+//TEST:SIMPLE(filecheck=SPIRV): -stage compute -target spirv -entry main
// Confirm that all HLSL barrier operations can be used when cross-compiling.
[numthreads(1,1,1)]
void main()
{
+ // SPIRV: OpMemoryBarrier %uint_1 %uint_2376
+ // SPIRV: OpControlBarrier %uint_2 %uint_1 %uint_2376
+ // SPIRV: OpMemoryBarrier %uint_1 %uint_2120
+ // SPIRV: OpControlBarrier %uint_2 %uint_1 %uint_2120
+ // SPIRV: OpMemoryBarrier %uint_2 %uint_264
+ // SPIRV: OpControlBarrier %uint_2 %uint_2 %uint_264
AllMemoryBarrier();
AllMemoryBarrierWithGroupSync();
DeviceMemoryBarrier();
diff --git a/tests/cross-compile/barriers.slang.glsl b/tests/cross-compile/barriers.slang.glsl
deleted file mode 100644
index 281e684db..000000000
--- a/tests/cross-compile/barriers.slang.glsl
+++ /dev/null
@@ -1,14 +0,0 @@
-#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;
-}