diff --git a/src/intel/compiler/brw_fs_register_coalesce.cpp b/src/intel/compiler/brw_fs_register_coalesce.cpp index 51e9af4a72f..24aa25c94e6 100644 --- a/src/intel/compiler/brw_fs_register_coalesce.cpp +++ b/src/intel/compiler/brw_fs_register_coalesce.cpp @@ -177,7 +177,8 @@ can_coalesce_vars(const fs_live_variables &live, const cfg_t *cfg, /* See the big comment above */ if (regions_overlap(scan_inst->dst, scan_inst->size_written, inst->src[0], inst->size_read(0))) { - if (seen_copy || scan_block != block) + if (seen_copy || scan_block != block || + (scan_inst->force_writemask_all && !inst->force_writemask_all)) return false; seen_src_write = true; }