[Mesa-dev] [PATCH 42/61] radeonsi/gfx9: add VS prolog support for merged ES-GS

Marek Olšák maraeo at gmail.com
Mon Apr 24 08:45:39 UTC 2017


From: Marek Olšák <marek.olsak at amd.com>

---
 src/gallium/drivers/radeonsi/si_shader.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c
index 3896b65..a4c2ac0 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -7492,20 +7492,22 @@ static void si_get_vs_prolog_key(const struct tgsi_shader_info *info,
 				 struct si_shader *shader_out,
 				 union si_shader_part_key *key)
 {
 	memset(key, 0, sizeof(*key));
 	key->vs_prolog.states = *prolog_key;
 	key->vs_prolog.num_input_sgprs = num_input_sgprs;
 	key->vs_prolog.last_input = MAX2(1, info->num_inputs) - 1;
 
 	if (shader_out->selector->type == PIPE_SHADER_TESS_CTRL)
 		key->vs_prolog.num_merged_next_stage_vgprs = 2;
+	else if (shader_out->selector->type == PIPE_SHADER_GEOMETRY)
+		key->vs_prolog.num_merged_next_stage_vgprs = 5;
 
 	/* Set the instanceID flag. */
 	for (unsigned i = 0; i < info->num_inputs; i++)
 		if (key->vs_prolog.states.instance_divisors[i])
 			shader_out->info.uses_instanceid = true;
 }
 
 /**
  * Compute the VS epilog key, which contains all the information needed to
  * build the VS epilog function, and set the PrimitiveID output offset.
-- 
2.7.4



More information about the mesa-dev mailing list