r600g: fix op3 & write in merge_inst_groups
authorVadim Girlin <vadimgirlin@gmail.com>
Thu, 6 Oct 2011 05:04:41 +0000 (09:04 +0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 14 Nov 2011 16:11:31 +0000 (11:11 -0500)
src/gallium/drivers/r600/r600_asm.c

index add1276e5dc572daba1a16ef4cd86cb88bb0a49f..72c11dc44eb4c0b27a67bb0eb20429c8610ce11e 100644 (file)
@@ -1045,7 +1045,7 @@ static int merge_inst_groups(struct r600_bytecode *bc, struct r600_bytecode_alu
                                continue;
 
                        for (j = 0; j < max_slots; ++j) {
-                               if (!prev[j] || !prev[j]->dst.write)
+                               if (!prev[j] || !(prev[j]->dst.write || prev[j]->is_op3))
                                        continue;
 
                                /* If it's relative then we can't determin which gpr is really used. */