radeonsi: Store inputs to memory when not using a TCS.
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Tue, 3 May 2016 19:31:00 +0000 (21:31 +0200)
committerBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Thu, 26 May 2016 20:07:04 +0000 (22:07 +0200)
commit6217716e8f6091f7bbacbb9fa2f52997d3ac5d03
tree3e19e51953d1cee8046f1d06e09ffb790f884dbb
parent7846fa876820fde373b4402e5d1cf3d24f06d11f
radeonsi: Store inputs to memory when not using a TCS.

We need to copy the VS outputs to memory. I decided to do this
using a shader key, as the value depends on other shaders.

I also switch the fixed function TCS over to monolithic, as
otherwisze many of the user SGPR's need to be passed to the
epilog, which increases register pressure, or complexity to
avoid that. The main body of the fixed function TCS is not
that interesting to precompile anyway, since we do it on
demand and it is very small.

v2: Use u_bit_scan64.

Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/gallium/drivers/radeonsi/si_shader.c
src/gallium/drivers/radeonsi/si_shader.h
src/gallium/drivers/radeonsi/si_state_shaders.c