glsl: add support for unsized arrays in shader storage blocks
authorSamuel Iglesias Gonsalvez <siglesias@igalia.com>
Wed, 18 Mar 2015 14:32:03 +0000 (15:32 +0100)
committerSamuel Iglesias Gonsalvez <siglesias@igalia.com>
Fri, 25 Sep 2015 06:39:21 +0000 (08:39 +0200)
commitf3f64cd0c4b9cf3363056ddc9c4d7616614ce829
tree5b355b772fca5c6df5c3fe3421570ddfb773e862
parentf45d39f6afc436ee4c68a21382933b2b39879eef
glsl: add support for unsized arrays in shader storage blocks

They only can be defined in the last position of the shader
storage blocks.

When an unsized array is used in different shaders, it might be
converted in different sized arrays, avoid get a linker error
in that case.

v2:
- Rework error condition and error messages (Timothy Arceri)

v3:
- Move OpenGL ES check to its own patch.

Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
src/glsl/ast_array_index.cpp
src/glsl/ast_to_hir.cpp
src/glsl/ir.cpp
src/glsl/ir.h
src/glsl/linker.cpp