r600g: fix LIT tests
authorDave Airlie <airlied@redhat.com>
Mon, 30 Aug 2010 23:56:35 +0000 (09:56 +1000)
committerDave Airlie <airlied@redhat.com>
Tue, 31 Aug 2010 00:46:58 +0000 (10:46 +1000)
src/gallium/drivers/r600/r600_shader.c

index 4834eaa9de7e8a8962e500e59f431832434027d6..2210f83283cb5059b751b098445e0de169f69e9c 100644 (file)
@@ -987,7 +987,7 @@ static int tgsi_lit(struct r600_shader_ctx *ctx)
        if (r)
                return r;
        alu.src[1].sel  = V_SQ_ALU_SRC_0; /*0.0*/
-       alu.src[1].chan = tgsi_chan(&inst->Src[0], 0);
+       alu.src[1].chan = 0;
        r = tgsi_dst(ctx, &inst->Dst[0], 1, &alu.dst);
        if (r)
                return r;
@@ -1033,7 +1033,7 @@ static int tgsi_lit(struct r600_shader_ctx *ctx)
                r = tgsi_src(ctx, &inst->Src[0], &alu.src[0]);
                if (r)
                        return r;
-               alu.src[0].chan = tgsi_chan(&inst->Src[0], 1);
+               alu.src[0].chan = tgsi_chan(&inst->Src[0], 3);
                r = tgsi_dst(ctx, &inst->Dst[0], 2, &alu.dst);
                if (r)
                        return r;
@@ -1045,6 +1045,7 @@ static int tgsi_lit(struct r600_shader_ctx *ctx)
                r = r600_bc_add_literal(ctx->bc, ctx->value);
                if (r)
                        return r;
+
                chan = alu.dst.chan;
                sel = alu.dst.sel;