radeonsi: set vs_uses_base_instance using C++ template arguments

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13048>
This commit is contained in:
Marek Olšák 2021-09-23 08:05:04 -04:00 committed by Marge Bot
parent ca37d4c925
commit a927a2f527
1 changed files with 6 additions and 4 deletions

View File

@ -217,10 +217,12 @@ static bool si_update_shaders(struct si_context *sctx)
}
}
sctx->vs_uses_base_instance =
sctx->shader.vs.current ? sctx->shader.vs.current->uses_base_instance :
sctx->queued.named.hs ? sctx->queued.named.hs->uses_base_instance :
sctx->shader.gs.current->uses_base_instance;
if (GFX_VERSION >= GFX9 && HAS_TESS)
sctx->vs_uses_base_instance = sctx->queued.named.hs->uses_base_instance;
else if (GFX_VERSION >= GFX9 && HAS_GS)
sctx->vs_uses_base_instance = sctx->shader.gs.current->uses_base_instance;
else
sctx->vs_uses_base_instance = sctx->shader.vs.current->uses_base_instance;
union si_vgt_stages_key key;
key.index = 0;