From: Matt Turner Date: Wed, 21 Dec 2016 16:12:39 +0000 (-0500) Subject: i965: Don't change F->VF if dest type is DF. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cbc39e541f236efae17c0f4c07f20318bcebd765;p=mesa.git i965: Don't change F->VF if dest type is DF. We change the immediate source type to VF to allow instruction compaction, but there are no entires in the compaction table for DF, so there's no point in doing this. Additionally, I mixing floating-point types is now allowed except for F and VF. --- diff --git a/src/mesa/drivers/dri/i965/brw_eu_emit.c b/src/mesa/drivers/dri/i965/brw_eu_emit.c index 05c097f66ef..a784b78cb55 100644 --- a/src/mesa/drivers/dri/i965/brw_eu_emit.c +++ b/src/mesa/drivers/dri/i965/brw_eu_emit.c @@ -405,7 +405,8 @@ brw_set_src0(struct brw_codegen *p, brw_inst *inst, struct brw_reg reg) * If we see a 0.0:F, change the type to VF so that it can be compacted. */ if (brw_inst_imm_ud(devinfo, inst) == 0x0 && - brw_inst_src0_reg_type(devinfo, inst) == BRW_HW_REG_TYPE_F) { + brw_inst_src0_reg_type(devinfo, inst) == BRW_HW_REG_TYPE_F && + brw_inst_dst_reg_type(devinfo, inst) != GEN7_HW_REG_NON_IMM_TYPE_DF) { brw_inst_set_src0_reg_type(devinfo, inst, BRW_HW_REG_IMM_TYPE_VF); }