i965/fs: Pass a BAD_FILE register to the logical FB write when oMask is unused.
This will let the optimizer know that the sample mask value is unused so its definition can be DCE'ed. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
@@ -3797,7 +3797,7 @@ lower_fb_write_logical_send(const fs_builder &bld, fs_inst *inst,
|
||||
length++;
|
||||
}
|
||||
|
||||
if (prog_data->uses_omask) {
|
||||
if (sample_mask.file != BAD_FILE) {
|
||||
sources[length] = fs_reg(VGRF, bld.shader->alloc.allocate(1),
|
||||
BRW_REGISTER_TYPE_UD);
|
||||
|
||||
|
||||
@@ -394,7 +394,8 @@ fs_visitor::emit_single_fb_write(const fs_builder &bld,
|
||||
|
||||
const fs_reg sources[] = {
|
||||
color0, color1, src0_alpha, src_depth, dst_depth, src_stencil,
|
||||
sample_mask, brw_imm_ud(components)
|
||||
(prog_data->uses_omask ? sample_mask : fs_reg()),
|
||||
brw_imm_ud(components)
|
||||
};
|
||||
assert(ARRAY_SIZE(sources) - 1 == FB_WRITE_LOGICAL_SRC_COMPONENTS);
|
||||
fs_inst *write = bld.emit(FS_OPCODE_FB_WRITE_LOGICAL, fs_reg(),
|
||||
|
||||
Reference in New Issue
Block a user