diff options
author | Marek Olšák <[email protected]> | 2011-09-26 15:03:43 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2011-09-26 15:25:05 +0200 |
commit | 44afac04eaac08eb49938001a65363bef6bd3d3b (patch) | |
tree | fbfbc3e9ea8357bf193b30acb804ffd6e77f918a | |
parent | 60a77cf316a90cb5be4f73495c2545b3d49e5ca1 (diff) |
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.
-rw-r--r-- | src/gallium/drivers/r600/r600_state_common.c | 5 |
1 files changed, 5 insertions, 0 deletions
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) { |