mesa: Set the "Integer" field of gl_client_array properly.
This patch ensures that gl_client_array::Integer is properly set to GL_TRUE for vertex attributes specified using glVertexAttribIPointer, and to GL_FALSE for vertex attributes specified using glVertexAttribPointer, so that the vertex attributes can be interpreted properly by driver back-ends. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
@@ -208,6 +208,7 @@ init_array(struct gl_context *ctx,
|
||||
array->Ptr = NULL;
|
||||
array->Enabled = GL_FALSE;
|
||||
array->Normalized = GL_FALSE;
|
||||
array->Integer = GL_FALSE;
|
||||
array->_ElementSize = size * _mesa_sizeof_type(type);
|
||||
#if FEATURE_ARB_vertex_buffer_object
|
||||
/* Vertex array buffers */
|
||||
|
||||
@@ -212,6 +212,7 @@ update_array(struct gl_context *ctx,
|
||||
array->Stride = stride;
|
||||
array->StrideB = stride ? stride : elementSize;
|
||||
array->Normalized = normalized;
|
||||
array->Integer = integer;
|
||||
array->Ptr = (const GLubyte *) ptr;
|
||||
array->_ElementSize = elementSize;
|
||||
|
||||
|
||||
@@ -518,6 +518,7 @@ replay_init( struct copy_context *copy )
|
||||
dst->Ptr = copy->dstbuf + offset;
|
||||
dst->Enabled = GL_TRUE;
|
||||
dst->Normalized = src->Normalized;
|
||||
dst->Integer = src->Integer;
|
||||
dst->BufferObj = ctx->Shared->NullBufferObj;
|
||||
dst->_ElementSize = src->_ElementSize;
|
||||
dst->_MaxElement = copy->dstbuf_size; /* may be less! */
|
||||
|
||||
Reference in New Issue
Block a user