Module: Mesa Branch: main Commit: 99a60ed3786a3224e7ca0930d2c19d5f2fd3727b URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=99a60ed3786a3224e7ca0930d2c19d5f2fd3727b
Author: Mike Blumenkrantz <[email protected]> Date: Fri May 21 11:37:45 2021 -0400 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 <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10973> --- src/gallium/auxiliary/indices/u_primconvert.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/gallium/auxiliary/indices/u_primconvert.c b/src/gallium/auxiliary/indices/u_primconvert.c index d376841e72e..d8704237e49 100644 --- a/src/gallium/auxiliary/indices/u_primconvert.c +++ b/src/gallium/auxiliary/indices/u_primconvert.c @@ -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; } _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
