summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r600/r600_draw.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2010-09-16 09:39:29 +1000
committerDave Airlie <airlied@redhat.com>2010-09-16 09:40:42 +1000
commit3ead528bbbbc59aa22e951c10cdeb1f7b54de87f (patch)
treea8b531ac458604e2dd88126efa5361731d63cdeb /src/gallium/drivers/r600/r600_draw.c
parent05433f20b6547e105d172bd586d3b6ce1b9d0f97 (diff)
r600g: use index min/max + index buffer offset.
more prep work for fixing up buffer handling
Diffstat (limited to 'src/gallium/drivers/r600/r600_draw.c')
-rw-r--r--src/gallium/drivers/r600/r600_draw.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_draw.c b/src/gallium/drivers/r600/r600_draw.c
index 81ba584fbd..17cc5a4abb 100644
--- a/src/gallium/drivers/r600/r600_draw.c
+++ b/src/gallium/drivers/r600/r600_draw.c
@@ -131,8 +131,11 @@ void r600_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info)
draw.start = info->start;
draw.count = info->count;
if (info->indexed && rctx->index_buffer.buffer) {
+ draw.min_index = info->min_index;
+ draw.max_index = info->max_index;
draw.index_size = rctx->index_buffer.index_size;
draw.index_buffer = rctx->index_buffer.buffer;
+ draw.index_buffer_offset = rctx->index_buffer.offset;
assert(rctx->index_buffer.offset %
rctx->index_buffer.index_size == 0);
@@ -142,6 +145,9 @@ void r600_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info)
else {
draw.index_size = 0;
draw.index_buffer = NULL;
+ draw.min_index = 0;
+ draw.max_index = 0xffffff;
+ draw.index_buffer_offset = 0;
}
r = r600_draw_common(&draw);
if (r)