r600g: Fix texture sampling with swizzled coords
authorFredrik Höglund <fredrik@kde.org>
Wed, 13 Oct 2010 15:49:15 +0000 (17:49 +0200)
committerDave Airlie <airlied@redhat.com>
Wed, 13 Oct 2010 23:25:29 +0000 (09:25 +1000)
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/gallium/drivers/r600/r600_shader.c

index 470f355..4a9d9be 100644 (file)
@@ -1860,7 +1860,7 @@ static int tgsi_tex(struct r600_shader_ctx *ctx)
                        memset(&alu, 0, sizeof(struct r600_bc_alu));
                        alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOV);
                        alu.src[0].sel = src_gpr;
-                       alu.src[0].chan = i;
+                       alu.src[0].chan = tgsi_chan(&inst->Src[0], i);
                        alu.dst.sel = ctx->temp_reg;
                        alu.dst.chan = i;
                        if (i == 3)