util/primconvert: handle multidraws in primconvert

once a draw reaches primconvert, it should never be able to reach the driver
until all draw operations have been converted as necessary

Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10973>
This commit is contained in:
Mike Blumenkrantz 2021-05-21 11:37:45 -04:00 committed by Marge Bot
parent 583070748c
commit 99a60ed378

View file

@ -139,7 +139,13 @@ util_primconvert_draw_vbo(struct primconvert_context *pc,
}
if (num_draws > 1) {
util_draw_multi(pc->pipe, info, drawid_offset, indirect, draws, num_draws);
unsigned drawid = drawid_offset;
for (unsigned i = 0; i < num_draws; i++) {
if (draws[i].count && info->instance_count)
util_primconvert_draw_vbo(pc, info, drawid, NULL, &draws[i], 1);
if (info->increment_draw_id)
drawid++;
}
return;
}