Fix relative constant fetch on second source operand of shader instruction
The sense for this test was backwards, causing AppendSrcReg to read the wrong const_n_rel_abs flag if the first operand was not a constant fetch.
This commit is contained in:
parent
6c95ca1cdb
commit
2fda17cf3c
|
@ -174,13 +174,13 @@ void GL4ShaderTranslator::AppendSrcReg(const ucode::instr_alu_t& op, int i) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 2: {
|
case 2: {
|
||||||
int const_slot = op.src1_sel ? 1 : 0;
|
int const_slot = op.src1_sel ? 0 : 1;
|
||||||
AppendSrcReg(op, op.src2_reg, op.src2_sel, op.src2_swiz,
|
AppendSrcReg(op, op.src2_reg, op.src2_sel, op.src2_swiz,
|
||||||
op.src2_reg_negate, const_slot);
|
op.src2_reg_negate, const_slot);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 3: {
|
case 3: {
|
||||||
int const_slot = (op.src1_sel || op.src2_sel) ? 1 : 0;
|
int const_slot = (op.src1_sel && op.src2_sel) ? 0 : 1;
|
||||||
AppendSrcReg(op, op.src3_reg, op.src3_sel, op.src3_swiz,
|
AppendSrcReg(op, op.src3_reg, op.src3_sel, op.src3_swiz,
|
||||||
op.src3_reg_negate, const_slot);
|
op.src3_reg_negate, const_slot);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue