i965/fs: Set up gen7 UBO loads as sends from GRFs.
authorEric Anholt <eric@anholt.net>
Wed, 5 Dec 2012 08:06:30 +0000 (00:06 -0800)
committerEric Anholt <eric@anholt.net>
Fri, 14 Dec 2012 23:18:05 +0000 (15:18 -0800)
commit461a29783a28e579a9a5a236e5f47ffb6d18a328
tree989e37ae57e2a330c76070ab5d76d0fc8aeed0cc
parent456dbcc3377ee23dbeffa4da02a4d80a8519bb62
i965/fs: Set up gen7 UBO loads as sends from GRFs.

This gives the instruction scheduler a chance to schedule between the
loads, whereas before it was restricted due to the dependencies between
the MRFs for setting them up.

For one shader in gles3conform, it goes from getting stuck in register
allocation for as long as anybody's bothered to leave it running down
to 23 seconds, thanks to the LIFO scheduling.

Acked-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_defines.h
src/mesa/drivers/dri/i965/brw_fs.cpp
src/mesa/drivers/dri/i965/brw_fs.h
src/mesa/drivers/dri/i965/brw_fs_emit.cpp
src/mesa/drivers/dri/i965/brw_fs_visitor.cpp