st/mesa: tex offsets can't be in a const or 2d-indexed
authorIlia Mirkin <imirkin@alum.mit.edu>
Tue, 3 Apr 2018 04:00:59 +0000 (00:00 -0400)
committerIlia Mirkin <imirkin@alum.mit.edu>
Sat, 7 Apr 2018 20:45:00 +0000 (16:45 -0400)
commit90bb2d7152ba63e1592e3c1aabc69386a10f2d89
tree15df1d4277714b4d0fc89930b0ff55c6208b4988
parent2a2b22e9b16dc57c4685a4081bab01cced2671d5
st/mesa: tex offsets can't be in a const or 2d-indexed

All consts are now implicitly 2d (they set .Dimension), so trigger
asserts. Also, the texture offset can't handle any sort of 2d indexing.
While this could be tacked on, this seems unnecessary, just move it off
into a separate temp.

Fixes assertion failure in
tests/spec/arb_gpu_shader5/compiler/builtin-functions/fs-gatherOffset-uniform-offset.frag

Note that this was an issue even before the const-always-2d thing, since
there was no detection of when even a proper second dimension was used,
e.g. for UBO or geom/tess inputs.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/mesa/state_tracker/st_glsl_to_tgsi.cpp