summaryrefslogtreecommitdiff
path: root/tests/spirv
diff options
context:
space:
mode:
Diffstat (limited to 'tests/spirv')
-rw-r--r--tests/spirv/infinite-loop.slang17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/spirv/infinite-loop.slang b/tests/spirv/infinite-loop.slang
new file mode 100644
index 000000000..1562f7334
--- /dev/null
+++ b/tests/spirv/infinite-loop.slang
@@ -0,0 +1,17 @@
+// Simple regression test for SPIRV compilation hang when there is cycle between unconditional branch and block.
+// The -g was necessary to reproduce the hang prior to fix for https://github.com/shader-slang/slang/issues/8669
+
+//TEST:SIMPLE(filecheck=CHECK): -target spirv -stage fragment -entry main -g
+//CHECK: main
+//CHECK: OpBranch
+//CHECK: OpUnreachable
+
+layout(location = 0) out float4 output_color;
+[shader("fragment")]
+void main()
+{
+ while (true) {
+ int i = 0;
+ }
+ output_color = float4(1, 2, 3, 4);
+}