From 0bc18d233966fc80cf2c482922d0b773d58394ca Mon Sep 17 00:00:00 2001 From: Yong He Date: Mon, 10 Feb 2025 23:48:07 -0800 Subject: Emit missing atomic64 capability, fix int-typed builtin used in both vs and fs. (#6314) Co-authored-by: Ellie Hermaszewska --- tests/spirv/atomic-64bit.slang | 13 +++++++++++++ tests/spirv/view-id.slang | 19 +++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 tests/spirv/atomic-64bit.slang create mode 100644 tests/spirv/view-id.slang (limited to 'tests') diff --git a/tests/spirv/atomic-64bit.slang b/tests/spirv/atomic-64bit.slang new file mode 100644 index 000000000..2b8220dd0 --- /dev/null +++ b/tests/spirv/atomic-64bit.slang @@ -0,0 +1,13 @@ +//TEST:SIMPLE(filecheck=CHECK):-target spirv + +// CHECK: OpCapability Int64Atomics + +groupshared Atomic atomicVariable; + +[shader("compute")] +[numthreads(1, 1, 1)] +void main(uint3 threadId : SV_DispatchThreadID) +{ + uint64_t value = 4ll; + atomicVariable.store(value); +} \ No newline at end of file diff --git a/tests/spirv/view-id.slang b/tests/spirv/view-id.slang new file mode 100644 index 000000000..9df3168a4 --- /dev/null +++ b/tests/spirv/view-id.slang @@ -0,0 +1,19 @@ +//TEST:SIMPLE(filecheck=CHECK): -target spirv + +// ViewIndex builtin should be declared twice, once for vertex and once for fragment shader. +// Because the fragment shader builtin needs Flat, and vertex shader does not. + +// CHECK: OpDecorate %{{.*}} BuiltIn ViewIndex +// CHECK: OpDecorate %{{.*}} BuiltIn ViewIndex + +[shader("vertex")] +float4 vert(int _viewportIndex : SV_ViewID):SV_Position +{ + return float4(_viewportIndex); +} + +[shader("fragment")] +float4 frag(int _viewportIndex : SV_ViewID) : SV_Target +{ + return float4(_viewportIndex, 0, 0, 1); +} \ No newline at end of file -- cgit v1.2.3