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

Author: Vincent Lejeune <[email protected]>
Date:   Wed Aug  1 22:52:53 2012 +0200

radeon/llvm: Do not use PV/PS if PRED_SEL does not match

Signed-off-by: Tom Stellard <[email protected]>

---

 src/gallium/drivers/r600/r600_asm.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_asm.c 
b/src/gallium/drivers/r600/r600_asm.c
index 0cca829..0f28824 100644
--- a/src/gallium/drivers/r600/r600_asm.c
+++ b/src/gallium/drivers/r600/r600_asm.c
@@ -927,7 +927,8 @@ static int replace_gpr_with_pv_ps(struct r600_bytecode *bc,
 
                        if (bc->chip_class < CAYMAN) {
                                if (alu->src[src].sel == gpr[4] &&
-                                   alu->src[src].chan == chan[4]) {
+                                   alu->src[src].chan == chan[4] &&
+                                   alu_prev->pred_sel == alu->pred_sel) {
                                        alu->src[src].sel = V_SQ_ALU_SRC_PS;
                                        alu->src[src].chan = 0;
                                        continue;
@@ -936,7 +937,8 @@ static int replace_gpr_with_pv_ps(struct r600_bytecode *bc,
 
                        for (j = 0; j < 4; ++j) {
                                if (alu->src[src].sel == gpr[j] &&
-                                       alu->src[src].chan == j) {
+                                       alu->src[src].chan == j &&
+                                     alu_prev->pred_sel == alu->pred_sel) {
                                        alu->src[src].sel = V_SQ_ALU_SRC_PV;
                                        alu->src[src].chan = chan[j];
                                        break;

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to