mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-06-17 00:08:31 +02:00
tgsi: Keep address register as a floating point.
This commit is contained in:
parent
417a78bdad
commit
b8e68f2e55
1 changed files with 9 additions and 20 deletions
|
|
@ -466,17 +466,6 @@ micro_exp2(
|
|||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
micro_f2it(
|
||||
union tgsi_exec_channel *dst,
|
||||
const union tgsi_exec_channel *src )
|
||||
{
|
||||
dst->i[0] = (int) src->f[0];
|
||||
dst->i[1] = (int) src->f[1];
|
||||
dst->i[2] = (int) src->f[2];
|
||||
dst->i[3] = (int) src->f[3];
|
||||
}
|
||||
|
||||
static void
|
||||
micro_f2ut(
|
||||
union tgsi_exec_channel *dst,
|
||||
|
|
@ -1075,10 +1064,10 @@ fetch_source(
|
|||
&indir_index );
|
||||
|
||||
/* add value of address register to the offset */
|
||||
index.i[0] += indir_index.i[0];
|
||||
index.i[1] += indir_index.i[1];
|
||||
index.i[2] += indir_index.i[2];
|
||||
index.i[3] += indir_index.i[3];
|
||||
index.i[0] += (int) indir_index.f[0];
|
||||
index.i[1] += (int) indir_index.f[1];
|
||||
index.i[2] += (int) indir_index.f[2];
|
||||
index.i[3] += (int) indir_index.f[3];
|
||||
|
||||
/* for disabled execution channels, zero-out the index to
|
||||
* avoid using a potential garbage value.
|
||||
|
|
@ -1131,10 +1120,10 @@ fetch_source(
|
|||
&index2,
|
||||
&indir_index );
|
||||
|
||||
index.i[0] += indir_index.i[0];
|
||||
index.i[1] += indir_index.i[1];
|
||||
index.i[2] += indir_index.i[2];
|
||||
index.i[3] += indir_index.i[3];
|
||||
index.i[0] += (int) indir_index.f[0];
|
||||
index.i[1] += (int) indir_index.f[1];
|
||||
index.i[2] += (int) indir_index.f[2];
|
||||
index.i[3] += (int) indir_index.f[3];
|
||||
|
||||
/* for disabled execution channels, zero-out the index to
|
||||
* avoid using a potential garbage value.
|
||||
|
|
@ -1754,7 +1743,7 @@ exec_instruction(
|
|||
case TGSI_OPCODE_ARL:
|
||||
FOR_EACH_ENABLED_CHANNEL( *inst, chan_index ) {
|
||||
FETCH( &r[0], 0, chan_index );
|
||||
micro_f2it( &r[0], &r[0] );
|
||||
micro_trunc( &r[0], &r[0] );
|
||||
STORE( &r[0], 0, chan_index );
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue