From 315df0a7d73956696cb4d6426e2da33ef3c050e3 Mon Sep 17 00:00:00 2001 From: Gert Wollny Date: Sun, 28 Mar 2021 10:27:20 +0200 Subject: [PATCH] r600: don't set an index_bias for indirect draw calls The bug #4657 mixed up which commit was actually responsible for the regression, so re-apply this patch. The indirect draw call already encodes the index bias so that no additional encoding in the hardware is needed in this case. This fixes a regression with a number of tests from dEQP-GLES31.functional.draw_indirect.random.* Fixes: c6c532faa8cf172715b38783ec7175b626a63944 "gallium/u_vbuf: use updated pipe_draw_start_count while using draw_vbo" Closes #4671 Signed-off-by: Gert Wollny Part-of: (cherry picked from commit 0cae8d372e644a1d89ec5685781435159ee2d285) --- .pick_status.json | 2 +- src/gallium/drivers/r600/r600_state_common.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 78e1dc891cf..517f56c6785 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -13,7 +13,7 @@ "description": "r600: don't set an index_bias for indirect draw calls", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "c6c532faa8cf172715b38783ec7175b626a63944" }, diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c index 6624a2af25d..b1b7936859f 100644 --- a/src/gallium/drivers/r600/r600_state_common.c +++ b/src/gallium/drivers/r600/r600_state_common.c @@ -2225,7 +2225,7 @@ static void r600_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info } index_bias = info->index_bias; } else { - index_bias = draws[0].start; + index_bias = indirect ? 0 : draws[0].start; } /* Set the index offset and primitive restart. */