From: Kenneth Graunke Date: Mon, 10 Feb 2014 23:37:09 +0000 (-0800) Subject: i965/fs: Simplify FS_OPCODE_SET_OMASK stride mashing a bit. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e95a4ed2967346e6ff7efb9897d8c430fcaa90f7;p=mesa.git i965/fs: Simplify FS_OPCODE_SET_OMASK stride mashing a bit. In the first case, we can simply call stride(mask, 16, 8, 2) rather than creating a new register with a different stride, then immediately changing it a second time. In the second case, the stride was already what we wanted, so we can just use mask without any changes at all. Signed-off-by: Kenneth Graunke Reviewed-by: Ian Romanick --- diff --git a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp index 26913d292e3..4820b042876 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp @@ -1130,11 +1130,9 @@ fs_generator::generate_set_omask(fs_inst *inst, brw_set_mask_control(p, BRW_MASK_DISABLE); if (stride_8_8_1) { - brw_MOV(p, dst, stride(retype(brw_vec1_reg(mask.file, mask.nr, 0), - dst.type), 16, 8, 2)); + brw_MOV(p, dst, retype(stride(mask, 16, 8, 2), dst.type)); } else if (stride_0_1_0) { - brw_MOV(p, dst, stride(retype(brw_vec1_reg(mask.file, mask.nr, 0), - dst.type), 0, 1, 0)); + brw_MOV(p, dst, retype(mask, dst.type)); } brw_pop_insn_state(p); }