radeonsi: workaround Specviewperf13 Catia hang on GFX9

The root cause is unknown but PAL always update IA_MULTI_VGT_PARAM
whenever primitive type change.

cc: mesa-stable

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Singed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14944>
(cherry picked from commit fe560aeb12)
This commit is contained in:
Qiang Yu 2022-02-09 09:40:22 +08:00 committed by Dylan Baker
parent c1822e7222
commit 166fc8e9f3
2 changed files with 4 additions and 2 deletions

View file

@ -40,7 +40,7 @@
"description": "radeonsi: workaround Specviewperf13 Catia hang on GFX9",
"nominated": true,
"nomination_type": 0,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null
},

View file

@ -1186,7 +1186,9 @@ static void si_emit_ia_multi_vgt_param(struct si_context *sctx,
min_vertex_count);
/* Draw state. */
if (ia_multi_vgt_param != sctx->last_multi_vgt_param) {
if (ia_multi_vgt_param != sctx->last_multi_vgt_param ||
/* Workaround for SpecviewPerf13 Catia hang on GFX9. */
(GFX_VERSION == GFX9 && prim != sctx->last_prim)) {
radeon_begin(cs);
if (GFX_VERSION == GFX9)