r600g: make LIT work properly
this is a bit of a workaround, something is wrong with the literal emits here so we just use the trig copy function to copy the immd to a temp at start of op. fix VP/FP LIT tests
This commit is contained in:
parent
24ff42e7d5
commit
d3fa92584b
|
@ -1026,6 +1026,9 @@ static int tgsi_lit(struct r600_shader_ctx *ctx)
|
|||
int r;
|
||||
|
||||
r = tgsi_split_constant(ctx, r600_src);
|
||||
if (r)
|
||||
return r;
|
||||
r = tgsi_split_literal_constant(ctx, r600_src);
|
||||
if (r)
|
||||
return r;
|
||||
|
||||
|
@ -1056,14 +1059,6 @@ static int tgsi_lit(struct r600_shader_ctx *ctx)
|
|||
if (r)
|
||||
return r;
|
||||
|
||||
/* dst.z = NOP - fill Z slot */
|
||||
memset(&alu, 0, sizeof(struct r600_bc_alu));
|
||||
alu.inst = V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP;
|
||||
alu.dst.chan = 2;
|
||||
r = r600_bc_add_alu(ctx->bc, &alu);
|
||||
if (r)
|
||||
return r;
|
||||
|
||||
/* dst.w, <- 1.0 */
|
||||
memset(&alu, 0, sizeof(struct r600_bc_alu));
|
||||
alu.inst = V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOV;
|
||||
|
|
Loading…
Reference in New Issue