diff options
author | Francisco Jerez <currojerez@riseup.net> | 2021-05-24 23:21:10 -0700 |
---|---|---|
committer | Marge Bot <eric+marge@anholt.net> | 2021-06-23 07:34:22 +0000 |
commit | 4dc42843423aa6b0771f863c3359c44810424d63 (patch) | |
tree | 28e45ed0a77a02b343eacad65c40ce6b800a1829 /src | |
parent | c19cfa9dc22b805581ac5ed3ad835fed3c8506c2 (diff) |
intel/fs: Implement Wa_14013745556 on TGL+.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11433>
Diffstat (limited to 'src')
-rw-r--r-- | src/intel/compiler/brw_fs_generator.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/intel/compiler/brw_fs_generator.cpp b/src/intel/compiler/brw_fs_generator.cpp index b0cabe48c42..a3f86e07992 100644 --- a/src/intel/compiler/brw_fs_generator.cpp +++ b/src/intel/compiler/brw_fs_generator.cpp @@ -1969,6 +1969,23 @@ fs_generator::generate_code(const cfg_t *cfg, int dispatch_width, inst->dst.is_accumulator(); } + /* Wa_14013745556: + * + * Always use @1 SWSB for EOT. + */ + if (inst->eot && devinfo->ver >= 12) { + if (tgl_swsb_src_dep(swsb).mode) { + brw_set_default_exec_size(p, BRW_EXECUTE_1); + brw_set_default_mask_control(p, BRW_MASK_DISABLE); + brw_set_default_predicate_control(p, BRW_PREDICATE_NONE); + brw_set_default_swsb(p, tgl_swsb_src_dep(swsb)); + brw_SYNC(p, TGL_SYNC_NOP); + last_insn_offset = p->next_insn_offset; + } + + swsb = tgl_swsb_dst_dep(swsb, 1); + } + if (unlikely(debug_flag)) disasm_annotate(disasm_info, inst, p->next_insn_offset); |