i965/fs: Track fixed GRF regs separate from allocated GRF file in scheduling.
authorEric Anholt <eric@anholt.net>
Mon, 23 May 2011 16:12:07 +0000 (09:12 -0700)
committerEric Anholt <eric@anholt.net>
Fri, 27 May 2011 15:08:23 +0000 (08:08 -0700)
commit615117ce4efd041459f7d4b0c77aa8e248345e66
treee71ffddde7290a934a0882a6e4a741789a0f234c
parent40540cc517480720e509a63f213ab33d66409bf8
i965/fs: Track fixed GRF regs separate from allocated GRF file in scheduling.

There's an assumption here that fixed GRFs will never intersect with
the allocated GRFs.  That's true today, though it might change some
day if we decide to register-allocate the regs containing push
constants once they're dead.

This fixes a regression in 0f7325b89038937bd428f7c89ed9859189a0ab0b in
Lightsmark from the texture instructions now containing g0 references
instead of having that be implied.  Performance is improved 15.2% +/-
3.6% (n=3).

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34968
src/mesa/drivers/dri/i965/brw_fs.cpp
src/mesa/drivers/dri/i965/brw_fs_schedule_instructions.cpp