i965/fs: Use MOV_INDIRECT for all indirect uniform loads
authorJason Ekstrand <jason.ekstrand@intel.com>
Tue, 24 Nov 2015 23:12:20 +0000 (15:12 -0800)
committerJason Ekstrand <jason.ekstrand@intel.com>
Thu, 14 Apr 2016 22:59:33 +0000 (15:59 -0700)
commit3c93cdfaf598bc3c28e3dc288da35675c666602b
treeb1a89539d10149b2838517e32bea49cb13f1c6b2
parent63101177f32e7ebcaa6c71e046b3e599d21a20b5
i965/fs: Use MOV_INDIRECT for all indirect uniform loads

Instead of using reladdr, this commit changes the FS backend to emit a
MOV_INDIRECT whenever we need an indirect uniform load.  We also have to
rework some of the other bits of the backend to handle this new form of
uniform load.  The obvious change is that demote_pull_constants now acts
more like a lowering pass when it hits a MOV_INDIRECT.

Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_fs.cpp
src/mesa/drivers/dri/i965/brw_fs_nir.cpp