summaryrefslogtreecommitdiffstats
path: root/src/mesa/vbo/vbo_exec_array.c
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2012-01-11 20:03:32 -0700
committerBrian Paul <brianp@vmware.com>2012-01-11 20:05:02 -0700
commitbbc74ffad6551272a4551f8dd9de5b34916c0ac2 (patch)
tree2c64b061726dd2630efcfbdd1db996e7f063e0d7 /src/mesa/vbo/vbo_exec_array.c
parent4c0d88c14514346438c4d6c0c3af76a0deee2af6 (diff)
vbo: fix void * arithmetic compilation error on MSVC
Also, call vbo_sizeof_ib_type() once and fix argument cast in MapBufferRange() call.
Diffstat (limited to 'src/mesa/vbo/vbo_exec_array.c')
-rw-r--r--src/mesa/vbo/vbo_exec_array.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/mesa/vbo/vbo_exec_array.c b/src/mesa/vbo/vbo_exec_array.c
index 263e429ace2..89f032f7bf8 100644
--- a/src/mesa/vbo/vbo_exec_array.c
+++ b/src/mesa/vbo/vbo_exec_array.c
@@ -108,13 +108,14 @@ vbo_get_minmax_index(struct gl_context *ctx,
{
const GLboolean restart = ctx->Array.PrimitiveRestart;
const GLuint restartIndex = ctx->Array.RestartIndex;
- const void *indices;
+ const int index_size = vbo_sizeof_ib_type(ib->type);
+ const char *indices;
GLuint i;
- indices = (void *)ib->ptr + prim->start * vbo_sizeof_ib_type(ib->type);
+ indices = (char *) ib->ptr + prim->start * index_size;
if (_mesa_is_bufferobj(ib->obj)) {
- GLsizeiptr size = MIN2(count * vbo_sizeof_ib_type(ib->type), ib->obj->Size);
- indices = ctx->Driver.MapBufferRange(ctx, (GLsizeiptr) indices, size,
+ GLsizeiptr size = MIN2(count * ib_size, index->obj->Size);
+ indices = ctx->Driver.MapBufferRange(ctx, (GLintptr) indices, size,
GL_MAP_READ_BIT, ib->obj);
}