Module: Mesa
Branch: 9.1
Commit: 9a5f5137739acebfa3408aa8368a5a407ff9ef9c
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9a5f5137739acebfa3408aa8368a5a407ff9ef9c

Author: Vadim Girlin <[email protected]>
Date:   Tue Feb 26 20:50:25 2013 +0400

r600g: fix check_and_set_bank_swizzle for cayman

Tested-by: Vincent Lejeune <vljn at ovi.com>
Reviewed-by: Vincent Lejeune <vljn at ovi.com>
(cherry picked from commit 138b5b9a12b7e1537494aac556589ac9981b557b)

---

 src/gallium/drivers/r600/r600_asm.c |   10 +++-------
 1 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_asm.c 
b/src/gallium/drivers/r600/r600_asm.c
index f25c6aa..451b072 100644
--- a/src/gallium/drivers/r600/r600_asm.c
+++ b/src/gallium/drivers/r600/r600_asm.c
@@ -873,12 +873,6 @@ static int check_and_set_bank_swizzle(struct r600_bytecode 
*bc,
        bank_swizzle[4] = SQ_ALU_SCL_210;
        while(bank_swizzle[4] <= SQ_ALU_SCL_221) {
 
-               if (max_slots == 4) {
-                       for (i = 0; i < max_slots; i++) {
-                               if (bank_swizzle[i] == SQ_ALU_VEC_210)
-                                 return -1;
-                       }
-               }
                init_bank_swizzle(&bs);
                if (scalar_only == false) {
                        for (i = 0; i < 4; i++) {
@@ -910,8 +904,10 @@ static int check_and_set_bank_swizzle(struct r600_bytecode 
*bc,
                                        bank_swizzle[i]++;
                                        if (bank_swizzle[i] <= SQ_ALU_VEC_210)
                                                break;
-                                       else
+                                       else if (i < max_slots - 1)
                                                bank_swizzle[i] = 
SQ_ALU_VEC_012;
+                                       else
+                                               return -1;
                                }
                        }
                }

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

Reply via email to