diff options
Diffstat (limited to 'tests/spec/glsl-es-1.00/compiler/structure-and-array-operations/array-function-parameter-implicit-size.vert')
-rw-r--r-- | tests/spec/glsl-es-1.00/compiler/structure-and-array-operations/array-function-parameter-implicit-size.vert | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/spec/glsl-es-1.00/compiler/structure-and-array-operations/array-function-parameter-implicit-size.vert b/tests/spec/glsl-es-1.00/compiler/structure-and-array-operations/array-function-parameter-implicit-size.vert new file mode 100644 index 00000000..e9a065e2 --- /dev/null +++ b/tests/spec/glsl-es-1.00/compiler/structure-and-array-operations/array-function-parameter-implicit-size.vert @@ -0,0 +1,29 @@ +/* [config] + * expect_result: fail + * glsl_version: 1.20 + * glsles_version: 1.00 + * [end config] + * + * From page 19 (page 25 of the PDF) of the GLSL 1.20 spec: + * + * "If an array is indexed with an expression that is not an integral + * constant expression, or if an array is passed as an argument to a + * function, then its size must be declared before any such use." + */ + + +float a_function(vec4[6]); + +void main() +{ + vec4 [] an_array; + + an_array[0] = vec4(0); + an_array[1] = vec4(1); + an_array[2] = vec4(2); + an_array[3] = vec4(3); + an_array[4] = vec4(4); + an_array[5] = vec4(5); + + gl_Position = vec4(a_function(an_array)); +} |