diff options
author | Andrzej Trznadel <Andrzej.Trznadel@intel.com> | 2008-03-17 15:54:24 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2008-03-17 15:56:26 -0700 |
commit | 3105bc1d885ea8ce083d2be85cbeac46d4d873a1 (patch) | |
tree | d77ec4e269573216526536331a4e83e4b447cfcc /src/mesa/drivers/dri | |
parent | e9809a36aaea3480cba5bd62360bf9d481ff9011 (diff) |
[965] Fix fp temp reg release code to not usually release all temps.
Also, use wrapped ffs() instead of native.
Diffstat (limited to 'src/mesa/drivers/dri')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_wm_fp.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_wm_fp.c b/src/mesa/drivers/dri/i965/brw_wm_fp.c index 682b16d74d..621106f14d 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_fp.c +++ b/src/mesa/drivers/dri/i965/brw_wm_fp.c @@ -144,7 +144,7 @@ static struct prog_dst_register dst_undef( void ) static struct prog_dst_register get_temp( struct brw_wm_compile *c ) { - int bit = ffs( ~c->fp_temp ); + int bit = _mesa_ffs( ~c->fp_temp ); if (!bit) { _mesa_printf("%s: out of temporaries\n", __FILE__); @@ -158,7 +158,7 @@ static struct prog_dst_register get_temp( struct brw_wm_compile *c ) static void release_temp( struct brw_wm_compile *c, struct prog_dst_register temp ) { - c->fp_temp &= ~1<<(temp.Index + 1 - FIRST_INTERNAL_TEMP); + c->fp_temp &= ~(1 << (temp.Index - FIRST_INTERNAL_TEMP)); } |