glsl: fully split apart buffer block arrays
authorTimothy Arceri <timothy.arceri@collabora.com>
Sun, 3 Apr 2016 02:44:33 +0000 (12:44 +1000)
committerTimothy Arceri <timothy.arceri@collabora.com>
Tue, 5 Apr 2016 23:56:24 +0000 (09:56 +1000)
commitf1293b2f9bc3a45c71941931edb5148d7b5f5a27
treeba998230fc2b04bf8d130b6d7704650dbba09e83
parent506b561ba7e3df2a7759dded684fae84bf459f65
glsl: fully split apart buffer block arrays

With this change we create the UBO and SSBO arrays separately from the
beginning rather than putting them into a combined array and splitting
it apart later.

A bug is with UBO and SSBO stage reference querying is also fixed as
we now use the block index to lookup the references in the separate arrays
not the combined buffer block array.

Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
src/compiler/glsl/link_uniform_blocks.cpp
src/compiler/glsl/link_uniform_initializers.cpp
src/compiler/glsl/link_uniforms.cpp
src/compiler/glsl/linker.cpp
src/compiler/glsl/linker.h
src/compiler/glsl/standalone_scaffolding.cpp
src/mesa/main/mtypes.h
src/mesa/main/shader_query.cpp
src/mesa/main/shaderapi.c
src/mesa/main/shaderobj.c
src/mesa/main/uniforms.c