Module: Mesa Branch: master Commit: 33f832e079384878ff490b7b1f78436442878809 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=33f832e079384878ff490b7b1f78436442878809
Author: Mike Blumenkrantz <[email protected]> Date: Thu Mar 25 15:04:43 2021 -0400 aux/draw: pass the full draw params through to draw_pt_arrays_restart() multidraw depth 1.5: loop in draw_pt_arrays_restart() Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9844> --- src/gallium/auxiliary/draw/draw_pt.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/gallium/auxiliary/draw/draw_pt.c b/src/gallium/auxiliary/draw/draw_pt.c index df4179cbc25..ad5257ce369 100644 --- a/src/gallium/auxiliary/draw/draw_pt.c +++ b/src/gallium/auxiliary/draw/draw_pt.c @@ -411,7 +411,8 @@ prim_restart_loop(struct draw_context *draw, static void draw_pt_arrays_restart(struct draw_context *draw, const struct pipe_draw_info *info, - const struct pipe_draw_start_count *draw_info) + const struct pipe_draw_start_count *draw_info, + unsigned num_draws) { const unsigned prim = info->mode; @@ -419,13 +420,15 @@ draw_pt_arrays_restart(struct draw_context *draw, if (draw->pt.user.eltSize) { /* indexed prims (draw_elements) */ - prim_restart_loop(draw, info, draw_info->start, draw_info->count, draw->pt.user.elts); + for (unsigned i = 0; i < num_draws; i++) + prim_restart_loop(draw, info, draw_info[i].start, draw_info[i].count, draw->pt.user.elts); } else { /* Non-indexed prims (draw_arrays). * Primitive restart should have been handled in gallium frontends. */ - draw_pt_arrays(draw, prim, draw_info->start, draw_info->count); + for (unsigned i = 0; i < num_draws; i++) + draw_pt_arrays(draw, prim, draw_info[i].start, draw_info[i].count); } } @@ -484,8 +487,7 @@ draw_instances(struct draw_context *draw, draw_new_instance(draw); if (info->primitive_restart) { - for (unsigned i = 0; i < num_draws; i++) - draw_pt_arrays_restart(draw, info, &draws[i]); + draw_pt_arrays_restart(draw, info, draws, num_draws); } else { for (unsigned i = 0; i < num_draws; i++) _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
