i965: Simplify gl_SampleID setup on Gen8+.
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 6 Apr 2016 02:29:36 +0000 (19:29 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Wed, 20 Apr 2016 23:18:47 +0000 (16:18 -0700)
commit57118a19da932b4b5756021a0d75e91f42a68d99
treef29518a0fd847ac3eccf9a5372dc389068106eea
parent528255b0b1498d22c820cecc5d75591d25ddb375
i965: Simplify gl_SampleID setup on Gen8+.

On Gen7+, the thread payload provides the sample ID - we can read it
in two instructions, without any elaborate calculations.  We don't even
need a state dependency - this will properly produce zero in the
non-MSAA case.  Unfortunately, we need the state flag anyway, so we
may as well continue to use it to produce a single MOV 0 instead of
SHR/AND.

For some reason, the sample ID field is always zero on Gen7/7.5, so
we can't use this yet.  However, it works fine on Gen8+.  So, land the
code and use it where it's working, and leave a TODO for later.

v2: Fix register types in the comment (caught by Matt Turner!).

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
src/mesa/drivers/dri/i965/brw_fs.cpp