From: Nicolai Hähnle Date: Fri, 1 Jun 2018 14:03:31 +0000 (+0200) Subject: radeonsi/gfx10: take PRIMID from the correct output when exported by GS X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1b11fb148c3c60bc8a2af22a0bbee352f405264d;p=mesa.git radeonsi/gfx10: take PRIMID from the correct output when exported by GS Acked-by: Bas Nieuwenhuizen --- diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c b/src/gallium/drivers/radeonsi/si_state_shaders.c index 442cbca3fe6..80d06b19867 100644 --- a/src/gallium/drivers/radeonsi/si_state_shaders.c +++ b/src/gallium/drivers/radeonsi/si_state_shaders.c @@ -3156,8 +3156,8 @@ static unsigned si_get_ps_input_cntl(struct si_context *sctx, } } - if (name == TGSI_SEMANTIC_PRIMID) - /* PrimID is written after the last output. */ + if (j == vsinfo->num_outputs && name == TGSI_SEMANTIC_PRIMID) + /* PrimID is written after the last output when HW VS is used. */ ps_input_cntl |= S_028644_OFFSET(vs->info.vs_output_param_offset[vsinfo->num_outputs]); else if (j == vsinfo->num_outputs && !G_028644_PT_SPRITE_TEX(ps_input_cntl)) { /* No corresponding output found, load defaults into input.