Mesa (master): nv50,nvc0: fix condition code change when commuting SET sources

Christoph Bumiller chrisbmr at kemper.freedesktop.org
Wed Feb 9 15:05:53 UTC 2011


Module: Mesa
Branch: master
Commit: d5263e4093e7fefacbbe3bbbec717cdf64856cbe
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d5263e4093e7fefacbbe3bbbec717cdf64856cbe

Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Mon Feb  7 19:03:09 2011 +0100

nv50,nvc0: fix condition code change when commuting SET sources

---

 src/gallium/drivers/nv50/nv50_pc_optimize.c |    2 +-
 src/gallium/drivers/nvc0/nvc0_pc_optimize.c |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/nv50/nv50_pc_optimize.c b/src/gallium/drivers/nv50/nv50_pc_optimize.c
index 27eb381..679e5ea 100644
--- a/src/gallium/drivers/nv50/nv50_pc_optimize.c
+++ b/src/gallium/drivers/nv50/nv50_pc_optimize.c
@@ -299,7 +299,7 @@ check_swap_src_0_1(struct nv_instruction *nvi)
    }
 
    if (nvi->opcode == NV_OP_SET && nvi->src[0] != src0)
-      nvi->set_cond = cc_swapped[nvi->set_cond];
+      nvi->set_cond = (nvi->set_cond & ~7) | cc_swapped[nvi->set_cond & 7];
 }
 
 static int
diff --git a/src/gallium/drivers/nvc0/nvc0_pc_optimize.c b/src/gallium/drivers/nvc0/nvc0_pc_optimize.c
index a679152..2e554db 100644
--- a/src/gallium/drivers/nvc0/nvc0_pc_optimize.c
+++ b/src/gallium/drivers/nvc0/nvc0_pc_optimize.c
@@ -258,8 +258,8 @@ check_swap_src_0_1(struct nv_instruction *nvi)
       }
    }
 
-   if (nvi->src[0] != src0 && nvi->opcode == NV_OP_SET)
-      nvi->set_cond = cc_swapped[nvi->set_cond];
+   if (nvi->src[0] != src0 && NV_BASEOP(nvi->opcode) == NV_OP_SET)
+      nvi->set_cond = (nvi->set_cond & ~7) | cc_swapped[nvi->set_cond & 7];
 }
 
 static void




More information about the mesa-commit mailing list