intel/fs/gen7+: Implement discard/demote for SIMD32 programs.
authorFrancisco Jerez <currojerez@riseup.net>
Sun, 5 Jan 2020 00:16:24 +0000 (16:16 -0800)
committerFrancisco Jerez <currojerez@riseup.net>
Fri, 14 Feb 2020 22:31:49 +0000 (14:31 -0800)
commit8d3b86e34a7b0f77613c7f5669891e54d76f0cbf
tree9be8a8bc1d12f5084df7c66b51660eda136a599a
parent04c7d3d4b19610cae8250102fefd0012b7233d9e
intel/fs/gen7+: Implement discard/demote for SIMD32 programs.

At this point this simply involves fixing the initialization of the
sample mask flag register to take the right dispatch mask from the
thread payload, and fixing sample_mask_reg() to return f1.1 for the
second half of a SIMD32 thread.  This improves Manhattan 3.1
performance by 2.4%±0.31% (N>40) on my ICL with SIMD32 enabled
relative to falling back to SIMD16 for the shaders that use discard.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/intel/compiler/brw_fs.cpp
src/intel/compiler/brw_fs_nir.cpp