glsl: reduce buffer block duplication
authorTimothy Arceri <timothy.arceri@collabora.com>
Thu, 24 Mar 2016 01:11:01 +0000 (12:11 +1100)
committerTimothy Arceri <timothy.arceri@collabora.com>
Fri, 25 Mar 2016 22:26:30 +0000 (09:26 +1100)
commit8683d54d2be82519c31e087e17dd936d13fa9d07
tree434fd99512a25b6cd37ad616870619e646e10291
parenta8e5edaadfd5df6a473566ff55978aca27a37679
glsl: reduce buffer block duplication

This reduces some of the craziness required for handling buffer
blocks. The problem is each shader stage holds its own information
about a block in memory, we were copying that information to a
program wide list but the per stage information remained meaning
when a binding was updated we needed to update all versions of it.

This changes the per stage blocks to instead point to a single
version of the block information in the program list.

Acked-by: Kenneth Graunke <kenneth@whitecape.org>
src/compiler/glsl/link_uniform_initializers.cpp
src/compiler/glsl/link_uniforms.cpp
src/compiler/glsl/linker.cpp
src/compiler/glsl/standalone_scaffolding.cpp
src/mesa/main/mtypes.h
src/mesa/main/uniforms.c