freedreno: Use multi-draw helper

In the normal case, we'll be pushing multi-draw (eventually) down into
the backend, but there are still a few remaining edge cases where we
can't deal with it.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9581>
This commit is contained in:
Rob Clark
2021-03-14 11:13:58 -07:00
parent 27ab249c9a
commit 5765932375
+4 -10
View File
@@ -257,19 +257,13 @@ update_draw_stats(struct fd_context *ctx, const struct pipe_draw_info *info,
static void
fd_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
unsigned num_draws)
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
unsigned num_draws)
in_dt
{
if (num_draws > 1) {
struct pipe_draw_info tmp_info = *info;
for (unsigned i = 0; i < num_draws; i++) {
fd_draw_vbo(pctx, &tmp_info, indirect, &draws[i], 1);
if (tmp_info.increment_draw_id)
tmp_info.drawid++;
}
util_draw_multi(pctx, info, indirect, draws, num_draws);
return;
}