summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/condition-01.glsl8
-rw-r--r--tests/condition-02.glsl8
-rw-r--r--tests/condition-03.glsl8
-rw-r--r--tests/condition-04.glsl8
-rw-r--r--tests/condition-05.glsl13
5 files changed, 45 insertions, 0 deletions
diff --git a/tests/condition-01.glsl b/tests/condition-01.glsl
new file mode 100644
index 00000000000..d89c313117e
--- /dev/null
+++ b/tests/condition-01.glsl
@@ -0,0 +1,8 @@
+/* FAIL - :? condition is not bool scalar */
+
+uniform bvec4 a;
+
+void main()
+{
+ gl_Position = (a) ? vec4(1.0, 0.0, 0.0, 1.0) : vec4(0.0, 1.0, 0.0, 1.0);
+}
diff --git a/tests/condition-02.glsl b/tests/condition-02.glsl
new file mode 100644
index 00000000000..cbd0e18d9a8
--- /dev/null
+++ b/tests/condition-02.glsl
@@ -0,0 +1,8 @@
+/* FAIL - :? condition is not bool scalar */
+
+uniform float a;
+
+void main()
+{
+ gl_Position = (a) ? vec4(1.0, 0.0, 0.0, 1.0) : vec4(0.0, 1.0, 0.0, 1.0);
+}
diff --git a/tests/condition-03.glsl b/tests/condition-03.glsl
new file mode 100644
index 00000000000..9af5d7aa470
--- /dev/null
+++ b/tests/condition-03.glsl
@@ -0,0 +1,8 @@
+/* PASS */
+
+uniform bool a;
+
+void main()
+{
+ gl_Position = (a) ? vec4(1.0, 0.0, 0.0, 1.0) : vec4(0.0, 1.0, 0.0, 1.0);
+}
diff --git a/tests/condition-04.glsl b/tests/condition-04.glsl
new file mode 100644
index 00000000000..f440b7e9955
--- /dev/null
+++ b/tests/condition-04.glsl
@@ -0,0 +1,8 @@
+/* FAIL - type of second two operands must match */
+
+uniform bool a;
+
+void main()
+{
+ gl_Position = (a) ? vec4(1.0, 0.0, 0.0, 1.0) : vec3(0.0, 1.0, 0.0);
+}
diff --git a/tests/condition-05.glsl b/tests/condition-05.glsl
new file mode 100644
index 00000000000..3dff18f519d
--- /dev/null
+++ b/tests/condition-05.glsl
@@ -0,0 +1,13 @@
+#version 120
+/* PASS */
+
+uniform bool a;
+uniform int b;
+
+void main()
+{
+ float x;
+
+ x = (a) ? 2.0 : b;
+ gl_Position = vec4(x);
+}