summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/spec/glsl-1.10/compiler/initialization-incompatible-type-propagation-1.frag17
-rw-r--r--tests/spec/glsl-1.10/compiler/initialization-incompatible-type-propagation-2.frag21
-rw-r--r--tests/spec/glsl-1.10/compiler/initialization-incompatible-type-propagation-3.frag21
3 files changed, 59 insertions, 0 deletions
diff --git a/tests/spec/glsl-1.10/compiler/initialization-incompatible-type-propagation-1.frag b/tests/spec/glsl-1.10/compiler/initialization-incompatible-type-propagation-1.frag
new file mode 100644
index 000000000..df102c754
--- /dev/null
+++ b/tests/spec/glsl-1.10/compiler/initialization-incompatible-type-propagation-1.frag
@@ -0,0 +1,17 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.10
+// [end config]
+//
+// Initializing a variable using the variable with a wrong type
+// should not affect the type of the variable being initialized.
+// While we cannot check emitted error message the test at least
+// should not crash, see bug:
+// https://bugs.freedesktop.org/show_bug.cgi?id=107547
+
+#version 110
+
+void f() {
+ vec4 a = vec2(0.0);
+ a.w -= 1.0;
+}
diff --git a/tests/spec/glsl-1.10/compiler/initialization-incompatible-type-propagation-2.frag b/tests/spec/glsl-1.10/compiler/initialization-incompatible-type-propagation-2.frag
new file mode 100644
index 000000000..2ca8df4a3
--- /dev/null
+++ b/tests/spec/glsl-1.10/compiler/initialization-incompatible-type-propagation-2.frag
@@ -0,0 +1,21 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.10
+// [end config]
+//
+// Initializing a variable using the variable with a wrong type
+// should not affect the type of the variable being initialized.
+// While we cannot check emitted error message the test at least
+// should not crash, see bug:
+// https://bugs.freedesktop.org/show_bug.cgi?id=107547
+
+#version 110
+
+uniform struct {
+ float field;
+} data;
+
+void f() {
+ vec2 a = data;
+ a.x -= 1.0;
+}
diff --git a/tests/spec/glsl-1.10/compiler/initialization-incompatible-type-propagation-3.frag b/tests/spec/glsl-1.10/compiler/initialization-incompatible-type-propagation-3.frag
new file mode 100644
index 000000000..449fab8cd
--- /dev/null
+++ b/tests/spec/glsl-1.10/compiler/initialization-incompatible-type-propagation-3.frag
@@ -0,0 +1,21 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.10
+// [end config]
+//
+// Initializing a variable using the variable with a wrong type
+// should not affect the type of the variable being initialized.
+// While we cannot check emitted error message the test at least
+// should not crash, see bug:
+// https://bugs.freedesktop.org/show_bug.cgi?id=107547
+
+#version 110
+
+struct Data {
+ float field;
+};
+
+void f() {
+ Data a = vec2(0.0);
+ a.field -= 1.0;
+}