nv50/ir/tgsi: handle precise for most ALU instructions
authorKarol Herbst <karolherbst@gmail.com>
Fri, 23 Jun 2017 18:30:28 +0000 (20:30 +0200)
committerIlia Mirkin <imirkin@alum.mit.edu>
Sat, 22 Jul 2017 03:45:18 +0000 (23:45 -0400)
Signed-off-by: Karol Herbst <karolherbst@gmail.com>
Reviewed-by: Pierre Moreau <pierre.morrow@free.fr>
src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp

index 7bae9e5cac5701b3108730d1dcbf31106dd1dd48..713331f5c40a61efe45053ba3ff4b8c2281b9595 100644 (file)
@@ -3189,6 +3189,7 @@ Converter::handleInstruction(const struct tgsi_full_instruction *insn)
          geni->subOp = tgsi::opcodeToSubOp(tgsi.getOpcode());
          if (op == OP_MUL && dstTy == TYPE_F32)
             geni->dnz = info->io.mul_zero_wins;
+         geni->precise = insn->Instruction.Precise;
       }
       break;
    case TGSI_OPCODE_MAD:
@@ -3202,6 +3203,7 @@ Converter::handleInstruction(const struct tgsi_full_instruction *insn)
          geni = mkOp3(op, dstTy, dst0[c], src0, src1, src2);
          if (dstTy == TYPE_F32)
             geni->dnz = info->io.mul_zero_wins;
+         geni->precise = insn->Instruction.Precise;
       }
       break;
    case TGSI_OPCODE_MOV: