From 0634abbeb7e91b9145bcc123685813a615a2a02c Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Sun, 21 Mar 2021 10:04:07 -0700 Subject: [PATCH] r300: Use util_draw_multi() helper Signed-off-by: Rob Clark Part-of: --- src/gallium/drivers/r300/r300_render.c | 29 ++++++++------------------ 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/src/gallium/drivers/r300/r300_render.c b/src/gallium/drivers/r300/r300_render.c index e7ffcf11b26..ed89daa82b0 100644 --- a/src/gallium/drivers/r300/r300_render.c +++ b/src/gallium/drivers/r300/r300_render.c @@ -30,6 +30,7 @@ #include "util/u_inlines.h" #include "util/format/u_format.h" +#include "util/u_draw.h" #include "util/u_memory.h" #include "util/u_upload_mgr.h" #include "util/u_prim.h" @@ -791,16 +792,10 @@ static void r300_draw_vbo(struct pipe_context* pipe, const struct pipe_draw_start_count *draws, unsigned num_draws) { - if (num_draws > 1) { - struct pipe_draw_info tmp_info = *dinfo; - - for (unsigned i = 0; i < num_draws; i++) { - r300_draw_vbo(pipe, &tmp_info, indirect, &draws[i], 1); - if (tmp_info.increment_draw_id) - tmp_info.drawid++; - } - return; - } + if (num_draws > 1) { + util_draw_multi(pipe, dinfo, indirect, draws, num_draws); + return; + } struct r300_context* r300 = r300_context(pipe); struct pipe_draw_info info = *dinfo; @@ -864,16 +859,10 @@ static void r300_swtcl_draw_vbo(struct pipe_context* pipe, const struct pipe_draw_start_count *draws, unsigned num_draws) { - if (num_draws > 1) { - struct pipe_draw_info tmp_info = *info; - - for (unsigned i = 0; i < num_draws; i++) { - r300_swtcl_draw_vbo(pipe, &tmp_info, indirect, &draws[i], 1); - if (tmp_info.increment_draw_id) - tmp_info.drawid++; - } - return; - } + if (num_draws > 1) { + util_draw_multi(pipe, info, indirect, draws, num_draws); + return; + } struct r300_context* r300 = r300_context(pipe); struct pipe_draw_start_count draw = draws[0];