summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2014-02-10 15:37:09 -0800
committerKenneth Graunke <[email protected]>2014-02-11 02:21:35 -0800
commite95a4ed2967346e6ff7efb9897d8c430fcaa90f7 (patch)
tree9d87ef9c5bda99bdb294e9edb71b2260d5b0620b /src
parentf948ad2a070a3b1cd69e7feca6eb3d5764438d9e (diff)
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 <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs_generator.cpp6
1 files changed, 2 insertions, 4 deletions
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);
}