intel/fs: Add explicit last_rt flag to fb writes orthogonal to eot.
authorFrancisco Jerez <currojerez@riseup.net>
Fri, 13 Jan 2017 22:01:45 +0000 (14:01 -0800)
committerJason Ekstrand <jason.ekstrand@intel.com>
Tue, 29 May 2018 22:44:50 +0000 (15:44 -0700)
commit4bd2047deea31e877ae023a3845f925aab69cdc7
tree2712d1885b93f5220a5cf6b54c6f766fd8b558ad
parentd3cd6b7215c11054b587fb0fd621c53c6d62c64b
intel/fs: Add explicit last_rt flag to fb writes orthogonal to eot.

When using multiple RT write messages to the same RT such as for
dual-source blending or all RT writes in SIMD32, we have to set the
"Last Render Target Select" bit on all write messages that target the
last RT but only set EOT on the last RT write in the shader.
Special-casing for dual-source blend works today because that is the
only case which requires multiple RT write messages per RT.  When we
start doing SIMD32, this will become much more common so we add a
dedicated bit for it.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
src/intel/compiler/brw_fs.cpp
src/intel/compiler/brw_fs_generator.cpp
src/intel/compiler/brw_fs_visitor.cpp
src/intel/compiler/brw_ir_fs.h