glsl: Add a lowering pass to turn complicated UBO references to vector loads.
authorEric Anholt <eric@anholt.net>
Wed, 11 Jul 2012 15:26:31 +0000 (08:26 -0700)
committerEric Anholt <eric@anholt.net>
Tue, 7 Aug 2012 20:54:47 +0000 (13:54 -0700)
commita75f2681d26aecad185895c1c2f13dd542281ff9
tree6a40388d3c542c2b6c8a313b6e492366aa16c24c
parent8c2a9838355cfd02356bf7b22eead408d909fe25
glsl: Add a lowering pass to turn complicated UBO references to vector loads.

v2: Reduce the impenetrable code in emit_ubo_loads() by 23 lines by keeping
    the ir_variable as the variable part of the offset from handle_rvalue(),
    and track the constant offsets from that with a plain old integer value,
    avoiding a bunch of temporary variables in the array and struct handling.
    Also, fix file description doxygen.
v3: Fix a row vs col typo, and fix spelling in a comment.

Reviewed-by: Eric Anholt <eric@anholt.net>
src/glsl/Makefile.sources
src/glsl/ir_optimization.h
src/glsl/lower_ubo_reference.cpp [new file with mode: 0644]