summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Berry <stereotype441@gmail.com>2011-10-31 17:29:17 -0700
committerPaul Berry <stereotype441@gmail.com>2011-11-02 09:29:35 -0700
commit8f84c237b360be69f9b6ac51465c729b3ada196a (patch)
tree1a6df07c54e20bce8bc9c7f9ee70eb62bef6c689
parent9abda92b270596fd3a5e2e8b74e3fc3255da70ce (diff)
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>
-rw-r--r--src/mesa/main/arrayobj.c1
-rw-r--r--src/mesa/main/varray.c1
-rw-r--r--src/mesa/vbo/vbo_split_copy.c1
3 files changed, 3 insertions, 0 deletions
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! */