diff options
| author | ArielG-NV <159081215+ArielG-NV@users.noreply.github.com> | 2024-04-19 23:18:40 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-19 20:18:40 -0700 |
| commit | f9bcad35562c1f08638e6d3eb397d370d7d2f8f8 (patch) | |
| tree | 4e2a993689209bd5b597263922af03cb87d07c3d /tests/slang-extension | |
| parent | 2da28c50d9c3699692eccde4b86d0b8d2323e55c (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.slang | 9 | ||||
| -rw-r--r-- | tests/slang-extension/atomic-int64-add.slang | 18 |
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 |
