From 5a49e84fcd858a1ad9c0ad839ccbe93504593cd0 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 8 Jan 2008 16:20:28 -0800 Subject: [965] Clarify a bit of index buffer upload code. --- src/mesa/drivers/dri/i965/brw_draw_upload.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/mesa/drivers/dri/i965') diff --git a/src/mesa/drivers/dri/i965/brw_draw_upload.c b/src/mesa/drivers/dri/i965/brw_draw_upload.c index b0042a5449..8c4e1bd569 100644 --- a/src/mesa/drivers/dri/i965/brw_draw_upload.c +++ b/src/mesa/drivers/dri/i965/brw_draw_upload.c @@ -583,7 +583,10 @@ void brw_upload_indices( struct brw_context *brw, index_buffer->ptr, bufferobj); } else { - if (((1 << get_index_type(index_buffer->type)) - 1) & offset) { + /* If the index buffer isn't aligned to its element size, we have to + * rebase it into a temporary. + */ + if ((get_size(index_buffer->type) - 1) & offset) { struct gl_buffer_object *vbo; GLuint voffset; GLubyte *map = ctx->Driver.MapBuffer(ctx, -- cgit v1.2.3