diff options
-rw-r--r-- | src/mesa/vbo/vbo_context.c | 1 | ||||
-rw-r--r-- | src/mesa/vbo/vbo_exec_api.c | 2 | ||||
-rw-r--r-- | src/mesa/vbo/vbo_save_draw.c | 2 |
3 files changed, 5 insertions, 0 deletions
diff --git a/src/mesa/vbo/vbo_context.c b/src/mesa/vbo/vbo_context.c index ae17ae29a0c..9de770d0bcf 100644 --- a/src/mesa/vbo/vbo_context.c +++ b/src/mesa/vbo/vbo_context.c @@ -145,6 +145,7 @@ static void init_mat_currval(struct gl_context *ctx) cl->Stride = 0; cl->StrideB = 0; cl->Enabled = 1; + cl->_ElementSize = cl->Size * sizeof(GLfloat); _mesa_reference_buffer_object(ctx, &cl->BufferObj, ctx->Shared->NullBufferObj); } diff --git a/src/mesa/vbo/vbo_exec_api.c b/src/mesa/vbo/vbo_exec_api.c index fcd544de763..3c7c439b64c 100644 --- a/src/mesa/vbo/vbo_exec_api.c +++ b/src/mesa/vbo/vbo_exec_api.c @@ -168,6 +168,8 @@ static void vbo_exec_copy_to_current( struct vbo_exec_context *exec ) * directly. */ vbo->currval[i].Size = exec->vtx.attrsz[i]; + assert(vbo->currval[i].Type == GL_FLOAT); + vbo->currval[i]._ElementSize = vbo->currval[i].Size * sizeof(GLfloat); /* This triggers rather too much recalculation of Mesa state * that doesn't get used (eg light positions). diff --git a/src/mesa/vbo/vbo_save_draw.c b/src/mesa/vbo/vbo_save_draw.c index 26f1d96de33..ca4cff38a89 100644 --- a/src/mesa/vbo/vbo_save_draw.c +++ b/src/mesa/vbo/vbo_save_draw.c @@ -90,6 +90,8 @@ _playback_copy_to_current(struct gl_context *ctx, memcpy(current, tmp, 4 * sizeof(GLfloat)); vbo->currval[i].Size = node->attrsz[i]; + assert(vbo->currval[i].Type == GL_FLOAT); + vbo->currval[i]._ElementSize = vbo->currval[i].Size * sizeof(GLfloat); if (i >= VBO_ATTRIB_FIRST_MATERIAL && i <= VBO_ATTRIB_LAST_MATERIAL) |