vc4: Fix emit of ABS

v2: Rebase on qir helpers.
This commit is contained in:
Eric Anholt 2014-07-02 10:43:50 -07:00
parent cf2d777fbe
commit 23b2bad991

View file

@ -255,6 +255,16 @@ tgsi_to_qir_dp4(struct tgsi_to_qir *trans,
return tgsi_to_qir_dp(trans, tgsi_inst, 4, src, i);
}
static struct qreg
tgsi_to_qir_abs(struct tgsi_to_qir *trans,
struct tgsi_full_instruction *tgsi_inst,
enum qop op, struct qreg *src, int i)
{
struct qcompile *c = trans->c;
struct qreg arg = src[0 * 4 + i];
return qir_FMAXABS(c, arg, arg);
}
static void
emit_tgsi_instruction(struct tgsi_to_qir *trans,
struct tgsi_full_instruction *tgsi_inst)
@ -268,7 +278,7 @@ emit_tgsi_instruction(struct tgsi_to_qir *trans,
struct qreg *src, int i);
} op_trans[] = {
[TGSI_OPCODE_MOV] = { QOP_MOV, tgsi_to_qir_alu },
[TGSI_OPCODE_ABS] = { QOP_FMAXABS, tgsi_to_qir_alu },
[TGSI_OPCODE_ABS] = { 0, tgsi_to_qir_abs },
[TGSI_OPCODE_MUL] = { QOP_FMUL, tgsi_to_qir_alu },
[TGSI_OPCODE_ADD] = { QOP_FADD, tgsi_to_qir_alu },
[TGSI_OPCODE_SUB] = { QOP_FSUB, tgsi_to_qir_alu },