radeonsi: only set BREAK_PRIMGRP/WAVE_AT_EOI when TES/GS need PrimID sysval after TES

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32957>
This commit is contained in:
Marek Olšák 2025-01-07 15:43:26 -05:00
parent f06a103eea
commit 1b405a12e0

View file

@ -3847,10 +3847,11 @@ static void si_bind_vs_shader(struct pipe_context *ctx, void *state)
static void si_update_tess_uses_prim_id(struct si_context *sctx)
{
sctx->ia_multi_vgt_param_key.u.tess_uses_prim_id =
(sctx->shader.tes.cso && sctx->shader.tes.cso->info.uses_primid) ||
(sctx->shader.tcs.cso && sctx->shader.tcs.cso->info.uses_primid) ||
(sctx->shader.gs.cso && sctx->shader.gs.cso->info.uses_primid) ||
(sctx->shader.ps.cso && !sctx->shader.gs.cso && sctx->shader.ps.cso->info.uses_primid);
sctx->shader.tes.cso &&
((sctx->shader.tcs.cso && sctx->shader.tcs.cso->info.uses_primid) ||
sctx->shader.tes.cso->info.uses_primid ||
(sctx->shader.gs.cso && sctx->shader.gs.cso->info.uses_primid) ||
(!sctx->shader.gs.cso && sctx->shader.ps.cso && sctx->shader.ps.cso->info.uses_primid));
}
bool si_update_ngg(struct si_context *sctx)