From e056762f129768b1639dcf22ca6202589aeb7ea7 Mon Sep 17 00:00:00 2001 From: Patrick Lerda Date: Fri, 25 Apr 2025 13:23:41 +0200 Subject: [PATCH] r600: fix index buffer with offset This is an issue when glMultiDrawElements() is enabled. Signed-off-by: Patrick Lerda Reviewed-by: Gert Wollny Part-of: --- src/gallium/drivers/r600/r600_state_common.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c index dd99b632c88..548f9a43810 100644 --- a/src/gallium/drivers/r600/r600_state_common.c +++ b/src/gallium/drivers/r600/r600_state_common.c @@ -2270,11 +2270,10 @@ static void r600_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info draws[0].count*index_size > 20)) { unsigned start_offset = draws[0].start * index_size; indexbuf = NULL; - u_upload_data(ctx->stream_uploader, start_offset, + u_upload_data(ctx->stream_uploader, 0, draws[0].count * index_size, 256, (char*)info->index.user + start_offset, &index_offset, &indexbuf); - index_offset -= start_offset; has_user_indices = false; } index_bias = unlikely(indirect) ? 0 : draws->index_bias;