diff options
author | Chris Forbes <[email protected]> | 2014-11-18 21:15:06 +1300 |
---|---|---|
committer | Chris Forbes <[email protected]> | 2014-11-24 21:07:29 +1300 |
commit | adefccd12a534f0deac7b78db73693fe1dcef2ec (patch) | |
tree | 675efd4c718f0deb40162911152a880b0cf6e663 /src/glsl | |
parent | c88385603ae8d983314b736a9459bbf7d002cf11 (diff) |
i965: Handle nested uniform array indexing
When converting a uniform array reference to a pull constant load, the
`reladdr` expression itself may have its own `reladdr`, arbitrarily
deeply. This arises from expressions like:
a[b[x]] where a, b are uniform arrays (or lowered const arrays),
and x is not a constant.
Just iterate the lowering to pull constants until we stop seeing these
nested. For most shaders, there will be only one pass through this loop.
Fixes the piglit test:
tests/spec/glsl-1.20/linker/double-indirect-1.shader_test
Signed-off-by: Chris Forbes <[email protected]>
Cc: "10.3 10.4" <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/glsl')
0 files changed, 0 insertions, 0 deletions