nir: fix sampler lowering pass for arrays
authorTapani Pälli <tapani.palli@intel.com>
Mon, 11 May 2015 11:50:19 +0000 (14:50 +0300)
committerTapani Pälli <tapani.palli@intel.com>
Tue, 12 May 2015 11:28:16 +0000 (14:28 +0300)
commit95774ca258d216d42877f9a8da7e1bb4212a6500
tree3523a31d28937e44ca2e14a5b2e42b91987b89e8
parent426023050d1d3cd1b5fc0b3508dd7e1ee3b061e7
nir: fix sampler lowering pass for arrays

This fixes bugs with special cases where we have arrays of
structures containing samplers or arrays of samplers.

I've verified that patch results in calculating same index value as
returned by _mesa_get_sampler_uniform_value for IR. Patch makes
following ES3 conformance test pass:

ES3-CTS.shaders.struct.uniform.sampler_array_fragment

v2: remove unnecessary comment (Topi)
    simplify changes and the overall code (Jason)

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90114
src/glsl/nir/nir_lower_samplers.cpp