Mesa (main): draw: handle resetting draw_id between instances.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Jul 15 20:00:33 UTC 2021
Module: Mesa
Branch: main
Commit: b3d2642ca4fe10faf05d51962339a598e622028e
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b3d2642ca4fe10faf05d51962339a598e622028e
Author: Dave Airlie <airlied at redhat.com>
Date: Thu Jul 15 15:25:24 2021 +1000
draw: handle resetting draw_id between instances.
If we have a multi draw then the draw_id needs to get reset
between each instance.
Fixes the rest of the VK CTS multidraw tests
Fixes: ce0b1f23c30e ("aux/draw: track increment_draw_id value from draw info")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11899>
---
src/gallium/auxiliary/draw/draw_pt.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/gallium/auxiliary/draw/draw_pt.c b/src/gallium/auxiliary/draw/draw_pt.c
index f4f460e9530..80084bc7724 100644
--- a/src/gallium/auxiliary/draw/draw_pt.c
+++ b/src/gallium/auxiliary/draw/draw_pt.c
@@ -455,6 +455,7 @@ resolve_draw_info(const struct pipe_draw_info *raw_info,
*/
static void
draw_instances(struct draw_context *draw,
+ unsigned drawid_offset,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
@@ -473,6 +474,7 @@ draw_instances(struct draw_context *draw,
draw->instance_id = 0xffffffff;
}
+ draw->pt.user.drawid = drawid_offset;
draw_new_instance(draw);
if (info->primitive_restart) {
@@ -601,10 +603,10 @@ draw_vbo(struct draw_context *draw,
if (use_info->view_mask) {
u_foreach_bit(i, use_info->view_mask) {
draw->pt.user.viewid = i;
- draw_instances(draw, use_info, use_draws, num_draws);
+ draw_instances(draw, drawid_offset, use_info, use_draws, num_draws);
}
} else
- draw_instances(draw, use_info, use_draws, num_draws);
+ draw_instances(draw, drawid_offset, use_info, use_draws, num_draws);
/* If requested emit the pipeline statistics for this run */
if (draw->collect_statistics) {
More information about the mesa-commit
mailing list