i965/cs: Don't use a thread channel ID for small local sizes
authorJordan Justen <jordan.l.justen@intel.com>
Wed, 6 Jul 2016 22:08:27 +0000 (15:08 -0700)
committerJordan Justen <jordan.l.justen@intel.com>
Wed, 19 Oct 2016 23:51:45 +0000 (16:51 -0700)
commit64c3d735354932c3b14397e9c292f5989a9da710
tree370638bbc37e6d6d046b90d2d6f8b7eb46e49e2d
parent1fa000a33b010436ac3bf4b3c8da2974d3788382
i965/cs: Don't use a thread channel ID for small local sizes

When the local group size is 8 or less, we will execute the program at
most 1 time. Therefore, the local channel ID will always be 0. By
using a constant 0 in this case we can prevent using push constant
data.

This is not expected to be common a occurance in real applications,
but it has been seen in tests.

We could extend this optimization to 16 and 32 for SIMD16 and SIMD32,
but it gets a bit more complicated, because this optimization is
currently being done early on, before we have decided the SIMD size.

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
src/mesa/drivers/dri/i965/brw_nir_intrinsics.c