summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/glslang/src/Test/recurse1.vert
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/glslang/src/Test/recurse1.vert')
-rw-r--r--chromium/third_party/glslang/src/Test/recurse1.vert44
1 files changed, 44 insertions, 0 deletions
diff --git a/chromium/third_party/glslang/src/Test/recurse1.vert b/chromium/third_party/glslang/src/Test/recurse1.vert
new file mode 100644
index 00000000000..bb5b245e8c2
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/recurse1.vert
@@ -0,0 +1,44 @@
+#version 330 core
+
+void main() {}
+
+float bar(int);
+
+// direct recursion
+
+void self()
+{
+ self();
+}
+
+// two-level recursion
+
+void foo(float)
+{
+ bar(2);
+}
+
+float bar(int)
+{
+ foo(4.2);
+
+ return 3.2;
+}
+
+// four-level, out of order
+
+void B();
+void D();
+void A() { B(); }
+void C() { D(); }
+void B() { C(); }
+void D() { A(); }
+
+// high degree
+
+void BT();
+void DT();
+void AT() { BT(); BT(); BT(); }
+void CT() { DT(); AT(); DT(); BT(); }
+void BT() { CT(); CT(); CT(); }
+void DT() { AT(); }