i965: Support new local ID push constant & cross-thread constants
authorJordan Justen <jordan.l.justen@intel.com>
Mon, 23 May 2016 04:55:43 +0000 (21:55 -0700)
committerJordan Justen <jordan.l.justen@intel.com>
Thu, 2 Jun 2016 02:29:02 +0000 (19:29 -0700)
commit30685392e0e477771e6c6ba232a63df6b0e2ed83
treedee8a537bdfcff54a3d14884b3167ed7a7bd9d4e
parentd437798ace47e47dbcb1244734dc1af3ecb5ab84
i965: Support new local ID push constant & cross-thread constants

The cross thread constant support appears on Haswell. It allows us to
upload a set of uniform data for all threads without duplicating it
per thread.

We also support per-thread data which allows us to store a per-thread
ID in one of the uniforms that can be used to calculate the
gl_LocalInvocationIndex and gl_LocalInvocationID variables.

v4:
 * Support the old local ID push constant layout as well (Jason)

Cc: "12.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/mesa/drivers/dri/i965/brw_defines.h
src/mesa/drivers/dri/i965/gen7_cs_state.c