From 1b11fb148c3c60bc8a2af22a0bbee352f405264d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Nicolai=20H=C3=A4hnle?= Date: Fri, 1 Jun 2018 16:03:31 +0200 Subject: [PATCH] radeonsi/gfx10: take PRIMID from the correct output when exported by GS Acked-by: Bas Nieuwenhuizen --- src/gallium/drivers/radeonsi/si_state_shaders.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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. -- 2.30.2