diff options
author | Ian Romanick <ian.d.romanick@intel.com> | 2012-11-16 16:26:08 -0800 |
---|---|---|
committer | Ian Romanick <ian.d.romanick@intel.com> | 2012-11-26 14:21:50 -0800 |
commit | 13205de1384b918483fdda0d6a8d9fecb1bf4027 (patch) | |
tree | d97b003e324db895bc5f9ac85a405bda29ed4bf2 /tests | |
parent | a1515bd2c785bac4d0f08e9f09fec1eba7321d7c (diff) |
glsl-es-3.00: Verify that .length() returns a constant expression
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/spec/glsl-es-3.00/compiler/array-length-is-constant.vert | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/spec/glsl-es-3.00/compiler/array-length-is-constant.vert b/tests/spec/glsl-es-3.00/compiler/array-length-is-constant.vert new file mode 100644 index 00000000..7569270a --- /dev/null +++ b/tests/spec/glsl-es-3.00/compiler/array-length-is-constant.vert @@ -0,0 +1,28 @@ +#version 300 es + +/* [config] + * expect_result: pass + * glsl_version: 3.00 + * [end config] + * + * Page 35 of the OpenGL ES Shading Language 3.00 spec says: + * + * "Arrays have a fixed number of elements. This can be obtained + * by using the length method: + * + * a.length(); + * // returns 5 for the above declarations + * + * The return value is a constant signed integral expression. The + * precision is determined using the same rules as for literal + * integers." + */ + +uniform vec4 a[7]; +uniform vec4 b[a.length()]; +uniform int i; + +void main() +{ + gl_Position = a[i] + b[i]; +} |