freedreno/ir3: use unsigned comparison for UIF
authorIlia Mirkin <imirkin@alum.mit.edu>
Wed, 10 Sep 2014 02:52:56 +0000 (22:52 -0400)
committerRob Clark <robclark@freedesktop.org>
Fri, 12 Sep 2014 20:26:05 +0000 (16:26 -0400)
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Rob Clark <robclark@freedesktop.org>
src/gallium/drivers/freedreno/ir3/ir3_compiler.c

index e214fec7ee03eacc06db50b15b8888b91b0bd196..08c2119e403c626ef952fab79b8a36134241b101 100644 (file)
@@ -1582,8 +1582,8 @@ trans_if(const struct instr_translater *t,
        if (is_const(src))
                src = get_unconst(ctx, src);
 
-       /* cmps.f.ne tmp0, b, {0.0} */
-       instr = instr_create(ctx, 2, OPC_CMPS_F);
+       /* cmps.{f,u}.ne tmp0, b, {0.0} */
+       instr = instr_create(ctx, 2, t->opc);
        add_dst_reg(ctx, instr, &tmp_dst, 0);
        add_src_reg(ctx, instr, src, src->SwizzleX);
        add_src_reg(ctx, instr, &constval, constval.SwizzleX);
@@ -2099,8 +2099,8 @@ static const struct instr_translater translaters[TGSI_OPCODE_LAST] = {
        INSTR(ISLT,         trans_icmp, .opc = OPC_CMPS_S),
        INSTR(USLT,         trans_icmp, .opc = OPC_CMPS_U),
        INSTR(UCMP,         trans_icmp, .opc = OPC_CMPS_U),
-       INSTR(IF,           trans_if),
-       INSTR(UIF,          trans_if),
+       INSTR(IF,           trans_if,   .opc = OPC_CMPS_F),
+       INSTR(UIF,          trans_if,   .opc = OPC_CMPS_U),
        INSTR(ELSE,         trans_else),
        INSTR(ENDIF,        trans_endif),
        INSTR(END,          instr_cat0, .opc = OPC_END),