From: Paul Berry Date: Tue, 1 Nov 2011 00:29:17 +0000 (-0700) Subject: mesa: Set the "Integer" field of gl_client_array properly. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8f84c237b360be69f9b6ac51465c729b3ada196a;p=mesa.git 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 Reviewed-by: Eric Anholt --- diff --git a/src/mesa/main/arrayobj.c b/src/mesa/main/arrayobj.c index 78f56ab00b7..1283940f7fd 100644 --- a/src/mesa/main/arrayobj.c +++ b/src/mesa/main/arrayobj.c @@ -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 */ diff --git a/src/mesa/main/varray.c b/src/mesa/main/varray.c index 13b3405e5ac..f1a57c1f089 100644 --- a/src/mesa/main/varray.c +++ b/src/mesa/main/varray.c @@ -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; diff --git a/src/mesa/vbo/vbo_split_copy.c b/src/mesa/vbo/vbo_split_copy.c index 40906e38917..4dcf71ef56e 100644 --- a/src/mesa/vbo/vbo_split_copy.c +++ b/src/mesa/vbo/vbo_split_copy.c @@ -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! */