From 44afac04eaac08eb49938001a65363bef6bd3d3b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Mon, 26 Sep 2011 15:03:43 +0200 Subject: [PATCH] r600g: add index_bias to index buffer bounds This fixes ARB_draw_elements_base_vertex with max_index != ~0. NOTE: This is a candidate for the 7.11 branch. --- src/gallium/drivers/r600/r600_state_common.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c index bec31ffe9fd..3a6298115ae 100644 --- a/src/gallium/drivers/r600/r600_state_common.c +++ b/src/gallium/drivers/r600/r600_state_common.c @@ -572,6 +572,11 @@ void r600_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info) r600_vertex_buffer_update(rctx); draw.info = *info; + if (draw.info.max_index != ~0) { + draw.info.min_index += info->index_bias; + draw.info.max_index += info->index_bias; + } + draw.ctx = ctx; draw.index_buffer = NULL; if (info->indexed && rctx->index_buffer.buffer) { -- 2.30.2