glsl: Permit non-ubo input interface arrays to use non-const indexing.
authorPaul Berry <stereotype441@gmail.com>
Mon, 22 Jul 2013 18:44:24 +0000 (11:44 -0700)
committerPaul Berry <stereotype441@gmail.com>
Fri, 2 Aug 2013 03:24:27 +0000 (20:24 -0700)
commitc1f1d8522c4650f55fac3a57466c9788f80f82f6
tree55ffe81c2216b6d7762ec367e6ab616eaee0a7b3
parent6065a87bce0c3fb0d9694c381c5a31b63e1f0300
glsl: Permit non-ubo input interface arrays to use non-const indexing.

From the GLSL ES 3.00 spec:

    "All indexes used to index a uniform block array must be constant
    integral expressions."

Similar text exists in GLSL specs since 1.50.

When we implemented this, the only type of interface block supported
by Mesa was uniform blocks, so we required all indexes used to index
any interface block to be constant integral expressions.

Now that we are adding interface block support for GLSL 1.50, we need
a more specific check.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/glsl/ast_array_index.cpp