intel/fs: Add SWSB dependency annotations for cross-pipeline WaR data hazards on...
authorFrancisco Jerez <currojerez@riseup.net>
Wed, 26 May 2021 23:50:40 +0000 (16:50 -0700)
committerMarge Bot <eric+marge@anholt.net>
Wed, 23 Jun 2021 07:34:22 +0000 (07:34 +0000)
commit5e7f443de05f7865654b280ffab298172b33b863
tree7a6b07494a06c17d8a17d1c8da86be1c64dcae4a
parentd46bb14d140079b78d9d1478d13ac5e0864fe403
intel/fs: Add SWSB dependency annotations for cross-pipeline WaR data hazards on XeHP+.

In cases where an in-order instruction is overwriting a register
previously read by another in-order instruction, drop the dependency
iff the previous read is guaranteed to have occurred from the same
in-order pipeline.  This should only have an effect on XeHP+ since
previous Xe platforms only had one in-order FPU pipeline.

The previous workaround we were using for this treated all ordered
read dependencies as write dependencies to avoid noise from our
simulation environment.  Relative to our previous workaround this
improves performance of GFXBench5 gl_tess by ~7% on a DG2 system
among other single-digit percentual FPS improvements.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11433>
src/intel/compiler/brw_fs_scoreboard.cpp