radeonsi: skip instance_count==0 draws on <= GFX9

This changes seems to prevent a hang, at least on Renoir chips.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4866
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11356>
This commit is contained in:
Pierre-Eric Pelloux-Prayer 2021-06-14 09:53:45 +02:00
parent 2624765e66
commit 66dbd16f38

View file

@ -1800,8 +1800,10 @@ static void si_draw_vbo(struct pipe_context *ctx,
/* GFX6-GFX7 treat instance_count==0 as instance_count==1. There is
* no workaround for indirect draws, but we can at least skip
* direct draws.
* 'instance_count == 0' seems to be problematic on Renoir chips (#4866),
* so simplify the condition and drop these draws for all <= GFX9 chips.
*/
if (GFX_VERSION <= GFX7 && unlikely(!indirect && !instance_count))
if (GFX_VERSION <= GFX9 && unlikely(!indirect && !instance_count))
return;
struct si_shader_selector *vs = sctx->shader.vs.cso;