aboutsummaryrefslogtreecommitdiffstats
path: root/src/intel/compiler/meson.build
diff options
context:
space:
mode:
authorFrancisco Jerez <[email protected]>2018-11-09 14:13:37 -0800
committerFrancisco Jerez <[email protected]>2019-10-11 12:24:16 -0700
commit265c7c897173e34920ca269aa1fae7285ec1c5a5 (patch)
tree39903138483d35b8de8ebd239c8164340541247c /src/intel/compiler/meson.build
parente0b8d7953ea405cfbed0b2a1b0a526f8c65bf596 (diff)
intel/fs/gen12: Introduce software scoreboard lowering pass.
Gen12+ hardware lacks the register scoreboard logic that used to guarantee data coherency between register reads and writes in previous generations. This lowering pass runs after register allocation in order to make up for it. It works by performing global dataflow analysis in order to determine the set of potential dependencies of every instruction in the shader, and then inserts any required SWSB annotations and additional SYNC instructions in order to guarantee data coherency. v2: Drop unnecessary _safe list iteration (Caio). v3: Temporarily workaround potential WaR hazard between FPU instruction and subsequent out-of-order write, pending clarification from the hardware team. Drop redundant tracking of implicit access of acc0-1, since the hardware guarantees coherency of these (but not the other accumulators...). Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]>
Diffstat (limited to 'src/intel/compiler/meson.build')
-rw-r--r--src/intel/compiler/meson.build1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/intel/compiler/meson.build b/src/intel/compiler/meson.build
index d74caa0632b..0a782fa70f1 100644
--- a/src/intel/compiler/meson.build
+++ b/src/intel/compiler/meson.build
@@ -62,6 +62,7 @@ libintel_compiler_files = files(
'brw_fs_reg_allocate.cpp',
'brw_fs_register_coalesce.cpp',
'brw_fs_saturate_propagation.cpp',
+ 'brw_fs_scoreboard.cpp',
'brw_fs_sel_peephole.cpp',
'brw_fs_validate.cpp',
'brw_fs_visitor.cpp',