summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/glslang/src/Test/420.geom
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/glslang/src/Test/420.geom')
-rw-r--r--chromium/third_party/glslang/src/Test/420.geom55
1 files changed, 55 insertions, 0 deletions
diff --git a/chromium/third_party/glslang/src/Test/420.geom b/chromium/third_party/glslang/src/Test/420.geom
new file mode 100644
index 00000000000..8195a11a56b
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/420.geom
@@ -0,0 +1,55 @@
+#version 420 core
+
+// testing input arrays without a gl_in[] block redeclaration, see 400.geom for with
+
+int i;
+
+void foo()
+{
+ gl_in.length(); // ERROR
+ gl_in[1].gl_Position;
+ gl_in[i].gl_Position; // ERROR
+}
+
+layout(triangles) in;
+
+in vec4 color3[3];
+
+void foo3()
+{
+ gl_in.length();
+ gl_in[i].gl_Position;
+ color3.length();
+}
+
+uniform sampler2D s2D;
+in vec2 coord[];
+uniform vec4 v4;
+
+void foo4()
+{
+ const ivec2 offsets[5] =
+ {
+ ivec2(0,1),
+ ivec2(1,-2),
+ ivec2(0,3),
+ ivec2(-3,0),
+ ivec2(2,1)
+ };
+
+ vec4 v = textureGatherOffset(s2D, coord[0], offsets[i].xy);
+
+ offsets[i].xy = ivec2(3); // ERROR
+ v4.x = 3.2; // ERROR
+ v4.xy; // should have non-uniform type
+}
+
+out gl_PerVertex {
+ float gl_PointSize[1]; // ERROR, adding array
+ float gl_ClipDistance; // ERROR, removing array
+};
+
+float foo5()
+{
+ return i; // implicit conversion of return type
+}