summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi/si_shader.h
diff options
context:
space:
mode:
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>2016-05-03 21:31:00 +0200
committerBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>2016-05-26 22:07:04 +0200
commit6217716e8f6091f7bbacbb9fa2f52997d3ac5d03 (patch)
tree3e19e51953d1cee8046f1d06e09ffb790f884dbb /src/gallium/drivers/radeonsi/si_shader.h
parent7846fa876820fde373b4402e5d1cf3d24f06d11f (diff)
downloadexternal_mesa3d-6217716e8f6091f7bbacbb9fa2f52997d3ac5d03.zip
external_mesa3d-6217716e8f6091f7bbacbb9fa2f52997d3ac5d03.tar.gz
external_mesa3d-6217716e8f6091f7bbacbb9fa2f52997d3ac5d03.tar.bz2
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>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_shader.h')
-rw-r--r--src/gallium/drivers/radeonsi/si_shader.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_shader.h b/src/gallium/drivers/radeonsi/si_shader.h
index 26be25e..67b457b 100644
--- a/src/gallium/drivers/radeonsi/si_shader.h
+++ b/src/gallium/drivers/radeonsi/si_shader.h
@@ -304,6 +304,7 @@ struct si_vs_epilog_bits {
/* Common TCS bits between the shader key and the epilog key. */
struct si_tcs_epilog_bits {
unsigned prim_mode:3;
+ uint64_t inputs_to_copy;
};
/* Common PS bits between the shader key and the prolog key. */