virgl: Use util_draw_multi() helper
authorRob Clark <robdclark@chromium.org>
Sun, 21 Mar 2021 17:14:10 +0000 (10:14 -0700)
committerMarge Bot <eric+marge@anholt.net>
Sat, 27 Mar 2021 19:30:04 +0000 (19:30 +0000)
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742>

src/gallium/drivers/virgl/virgl_context.c

index 9ee2da5..dcbff1d 100644 (file)
@@ -28,6 +28,7 @@
 #include "pipe/p_defines.h"
 #include "pipe/p_screen.h"
 #include "pipe/p_state.h"
+#include "util/u_draw.h"
 #include "util/u_inlines.h"
 #include "util/u_memory.h"
 #include "util/format/u_format.h"
@@ -864,13 +865,7 @@ static void virgl_draw_vbo(struct pipe_context *ctx,
                            unsigned num_draws)
 {
    if (num_draws > 1) {
-      struct pipe_draw_info tmp_info = *dinfo;
-
-      for (unsigned i = 0; i < num_draws; i++) {
-         virgl_draw_vbo(ctx, &tmp_info, indirect, &draws[i], 1);
-         if (tmp_info.increment_draw_id)
-            tmp_info.drawid++;
-      }
+      util_draw_multi(ctx, dinfo, indirect, draws, num_draws);
       return;
    }