i965/fs: Fix split_virtual_grfs() when delta_xy not in a virtual register.
authorPaul Berry <stereotype441@gmail.com>
Fri, 21 Oct 2011 21:16:25 +0000 (14:16 -0700)
committerPaul Berry <stereotype441@gmail.com>
Thu, 27 Oct 2011 22:31:47 +0000 (15:31 -0700)
commit102bdd26e1acf1ebf75ef85b62df2400239fd480
tree5dc528e8699702f283976c0d462ee45bb8328c27
parentbaf7f99fd7a092a1390b7a145e09caa5325a8116
i965/fs: Fix split_virtual_grfs() when delta_xy not in a virtual register.

This patch modifies the special case in
fs_visitor::split_virtual_grfs() that prevents splitting from being
applied to the delta_x/delta_y register pair (this register pair needs
to remain contiguous so that it can be used by the PLN instruction).

When gen>=6, this register pair is in a fixed location, not a virtual
register, so it was in no danger of being split.  And
split_virtual_grfs' attempt not to split it was preventing some other
unrelated register from being split.

Reviewed-by: Eric Anholt <eric@anholt.net>
src/mesa/drivers/dri/i965/brw_fs.cpp