diff options
Diffstat (limited to 'chromium/third_party/glslang/src/Test/420.geom')
-rw-r--r-- | chromium/third_party/glslang/src/Test/420.geom | 55 |
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 +} |