i965: Only change type of 0.0f to VF if destination stride == 1
The destination stride must be equivalent to a dword if VF is used. Also, since the only compaction table entires with "i:vf" have the destination as "r:f" specifically check that the destination is of type float. Reviewed-by: Scott D Phillips <scott.d.phillips@intel.com>
This commit is contained in:
@@ -1014,7 +1014,8 @@ precompact(const struct gen_device_info *devinfo, brw_inst inst)
|
||||
*/
|
||||
if (brw_inst_imm_ud(devinfo, &inst) == 0x0 &&
|
||||
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_dst_reg_type(devinfo, &inst) == BRW_HW_REG_TYPE_F &&
|
||||
brw_inst_dst_hstride(devinfo, &inst) == BRW_HORIZONTAL_STRIDE_1) {
|
||||
brw_inst_set_src0_reg_type(devinfo, &inst, BRW_HW_REG_IMM_TYPE_VF);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user