intel/fs: Make implied_mrf_writes() an fs_inst method.
authorFrancisco Jerez <currojerez@riseup.net>
Sat, 28 Dec 2019 00:38:26 +0000 (16:38 -0800)
committerFrancisco Jerez <currojerez@riseup.net>
Fri, 10 Jan 2020 19:02:30 +0000 (11:02 -0800)
commitc20dc9b8363b5b497d4f6af5144590e8c2d940c0
treefc1729fa9ef1dea7758efeaa7c04ce3a6be1b455
parent591f146fd2c7b265cd9e759c242e6d6437ea6578
intel/fs: Make implied_mrf_writes() an fs_inst method.

This will be convenient in a later commit enabling SIMD32 fragment
shaders, and happens to fix the calculation for MATH instructions
which is currently inaccurate for SIMD-lowered instructions on Gen4-5
platforms (all of them on Gen4 in SIMD16 mode), since it was based on
the shader's dispatch width rather than on the actual execution size
of the instruction.

This causes some shader-db noise on Gen4 due to the more compact
register allocation interacting with the SEND dependency workarounds,
but otherwise no major changes.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/intel/compiler/brw_fs.cpp
src/intel/compiler/brw_fs.h
src/intel/compiler/brw_fs_bank_conflicts.cpp
src/intel/compiler/brw_fs_reg_allocate.cpp
src/intel/compiler/brw_fs_scoreboard.cpp
src/intel/compiler/brw_ir_fs.h
src/intel/compiler/brw_schedule_instructions.cpp