radeonsi: don't check info->count == 0

it won't work with multi draws

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7056>
This commit is contained in:
Marek Olšák 2020-10-09 17:40:17 -04:00 committed by Marge Bot
parent d9c4ca2b7b
commit ae8d89260c
1 changed files with 6 additions and 12 deletions

View File

@ -1739,18 +1739,12 @@ static void si_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *i
(!sctx->screen->options.prim_restart_tri_strips_only ||
(prim != PIPE_PRIM_TRIANGLE_STRIP && prim != PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY));
if (likely(!info->indirect)) {
/* 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.
*/
if (unlikely(!instance_count))
return;
/* Handle count == 0. */
if (unlikely(!info->count && (index_size || !info->count_from_stream_output)))
return;
}
/* 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.
*/
if (unlikely(!info->indirect && !instance_count))
return;
struct si_shader_selector *vs = sctx->vs_shader.cso;
if (unlikely(!vs || sctx->num_vertex_elements < vs->num_vs_inputs ||