glsl: Allow dynamic sampler array indexing with GLSL ES < 3.00
authorTapani Pälli <tapani.palli@intel.com>
Tue, 9 Jun 2015 10:28:44 +0000 (13:28 +0300)
committerTapani Pälli <tapani.palli@intel.com>
Tue, 30 Jun 2015 08:12:43 +0000 (11:12 +0300)
commitedb8383c98ee23385731d0fc23a6b6673528a8ec
tree7326aa703b6976dc6e8e5725a821a06c3602750e
parentd5f1253b0c4637ad996fd0da45095165006d61d3
glsl: Allow dynamic sampler array indexing with GLSL ES < 3.00

Dynamic indexing of sampler arrays is prohibited by GLSL ES 3.00.
Earlier versions allow 'constant-index-expression' indexing, where
index can contain a loop induction variable.

Patch allows dynamic indexing for sampler arrays when GLSL ES < 3.00.
This change makes 'sampler-array-index.frag' parser test in Piglit
pass + fishgl.com works when running Chrome on OpenGL ES 2.0 backend

v2: small change and some more commit message (Tapani)
v3: refactor checks to make it more readable (Ian Romanick)
v4: change warning comment in GLSL ES case (Curro)

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Cc: "10.5" and "10.6" <mesa-stable@lists.freedesktop.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=84225
src/glsl/ast_array_index.cpp