i965/fs: Stop relying on param_size in assign_constant_locations
authorJason Ekstrand <jason.ekstrand@intel.com>
Tue, 24 Nov 2015 23:16:14 +0000 (15:16 -0800)
committerJason Ekstrand <jason.ekstrand@intel.com>
Thu, 14 Apr 2016 22:59:33 +0000 (15:59 -0700)
commit30874216cbaa21e9b757af7db1ef165b5c780a39
tree448240ba9212aeb3688ae7391879a4e2d219cea1
parent275855f315623923eff863265077a9a840885c9e
i965/fs: Stop relying on param_size in assign_constant_locations

Now that we have MOV_INDIRECT opcodes, we have all of the size information
we need directly in the opcode.  With a little restructuring of the
algorithm used in assign_constant_locations we don't need param_size
anymore.  The big thing to watch out for now, however, is that you can have
two ranges overlap where neither contains the other.  In order to deal with
this, we make the first pass just flag what needs pulling and handle
assigning pull constant locations until later.

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