summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nv50/nv50_program.c
diff options
context:
space:
mode:
authorBen Skeggs <skeggsb@gmail.com>2008-06-09 16:41:08 +1000
committerBen Skeggs <skeggsb@gmail.com>2008-06-29 15:46:16 +1000
commit51ea3aae03154046316b814053f7493bdb10c853 (patch)
tree014cd50469f67aae420090579717fd523aa57e0c /src/gallium/drivers/nv50/nv50_program.c
parent31f6a24b59b0ac18e04336d2e3cbaa643358c88a (diff)
nv50: fix SGE/SLT when sources need swapping
Diffstat (limited to 'src/gallium/drivers/nv50/nv50_program.c')
-rw-r--r--src/gallium/drivers/nv50/nv50_program.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/src/gallium/drivers/nv50/nv50_program.c b/src/gallium/drivers/nv50/nv50_program.c
index 44914f41b6..21341619de 100644
--- a/src/gallium/drivers/nv50/nv50_program.c
+++ b/src/gallium/drivers/nv50/nv50_program.c
@@ -601,24 +601,17 @@ emit_preex2(struct nv50_pc *pc, struct nv50_reg *dst, struct nv50_reg *src)
emit(pc, inst);
}
-/*XXX: inaccurate results.. why? */
-#define ALLOW_SET_SWAP 0
-
static void
emit_set(struct nv50_pc *pc, unsigned c_op, struct nv50_reg *dst,
struct nv50_reg *src0, struct nv50_reg *src1)
{
unsigned inst[2] = { 0, 0 };
-#if ALLOW_SET_SWAP
- unsigned inv_cop[8] = { 0, 6, 2, 4, 3, 5, 1, 7 };
-#endif
+ unsigned inv_cop[8] = { 0, 4, 2, 6, 1, 5, 3, 7 };
struct nv50_reg *rdst;
-#if ALLOW_SET_SWAP
assert(c_op <= 7);
if (check_swap_src_0_1(pc, &src0, &src1))
c_op = inv_cop[c_op];
-#endif
rdst = dst;
if (dst->type != P_TEMP)