nv50: move centroid, flat bits when making interp long

Before this, just the perspective divide bit was moved in
convert_to_long of the load interpolant instruction.
This commit is contained in:
Christoph Bumiller 2009-09-03 12:54:41 +02:00
parent ffee352726
commit 8b1ef3fa35
1 changed files with 4 additions and 4 deletions

View File

@ -1106,10 +1106,10 @@ convert_to_long(struct nv50_pc *pc, struct nv50_program_exec *e)
m = 0xffff7fff;
break;
case 0x8:
/* INTERP */
m = ~0x02000000;
if (e->inst[0] & 0x02000000)
q = 0x00020000;
/* INTERP (move centroid, perspective and flat bits) */
m = ~0x03000100;
q = (e->inst[0] & (3 << 24)) >> (24 - 16);
q |= (e->inst[0] & (1 << 8)) << (18 - 8);
break;
case 0x9:
/* RCP */