summaryrefslogtreecommitdiff
path: root/tests/slang-extension
diff options
context:
space:
mode:
authorArielG-NV <159081215+ArielG-NV@users.noreply.github.com>2024-04-19 23:18:40 -0400
committerGitHub <noreply@github.com>2024-04-19 20:18:40 -0700
commitf9bcad35562c1f08638e6d3eb397d370d7d2f8f8 (patch)
tree4e2a993689209bd5b597263922af03cb87d07c3d /tests/slang-extension
parent2da28c50d9c3699692eccde4b86d0b8d2323e55c (diff)
Initial pass to add capability declarations to stdlib intrinsics. (#3912)
Diffstat (limited to 'tests/slang-extension')
-rw-r--r--tests/slang-extension/atomic-float-byte-address-buffer-cross.slang9
-rw-r--r--tests/slang-extension/atomic-int64-add.slang18
2 files changed, 25 insertions, 2 deletions
diff --git a/tests/slang-extension/atomic-float-byte-address-buffer-cross.slang b/tests/slang-extension/atomic-float-byte-address-buffer-cross.slang
index 523c58984..307394e1a 100644
--- a/tests/slang-extension/atomic-float-byte-address-buffer-cross.slang
+++ b/tests/slang-extension/atomic-float-byte-address-buffer-cross.slang
@@ -4,12 +4,17 @@
// We can't do this test, because it relies on nvAPI
//DISABLE_TEST:CROSS_COMPILE: -profile cs_6_5 -entry computeMain -target dxil
-//TEST_INPUT:ubuffer(data=[0.1 0.2 0.3 0.4]):out,name=outputBuffer
RWByteAddressBuffer outputBuffer;
-//TEST_INPUT:ubuffer(data=[0.7 0.5 0.2 0.6]):name=anotherBuffer
RWStructuredBuffer<float> anotherBuffer;
+// CHECK_SPV: OpAtomicFAddEXT
+// CHECK_SPV: OpAtomicFAddEXT
+// CHECK_GLSL: atomicAdd
+// CHECK_GLSL: atomicAdd
+// CHECK_HLSL: NvInterlockedAddFp32
+// CHECK_HLSL: NvInterlockedAddFp32
+
[numthreads(16, 1, 1)]
void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
diff --git a/tests/slang-extension/atomic-int64-add.slang b/tests/slang-extension/atomic-int64-add.slang
new file mode 100644
index 000000000..20057a0bf
--- /dev/null
+++ b/tests/slang-extension/atomic-int64-add.slang
@@ -0,0 +1,18 @@
+//TEST:SIMPLE(filecheck=CHECK_HLSL): -stage compute -entry computeMain -target hlsl
+//TEST:SIMPLE(filecheck=CHECK_GLSL): -stage compute -entry computeMain -target glsl
+
+RWByteAddressBuffer outputBuffer;
+
+// CHECK_GLSL: atomicAdd
+// CHECK_GLSL: atomicAdd
+// CHECK_HLSL: InterlockedAdd64
+// CHECK_HLSL: InterlockedAdd64
+
+[numthreads(16, 1, 1)]
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
+{
+ uint64_t indata1;
+ int64_t indata2;
+ outputBuffer.InterlockedAdd64(0, 1, indata1);
+ outputBuffer.InterlockedAdd64(8, 1, indata2);
+} \ No newline at end of file