summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXiang, Haihao <haihao.xiang@intel.com>2007-09-14 16:26:56 +0800
committerXiang, Haihao <haihao.xiang@intel.com>2007-09-14 16:26:56 +0800
commite04c58e06842e5157231f1bd4ba79ccbbaad8f1c (patch)
treedf9ce948f142656775dd897dcec4faab775a1404
parentea07a0df9a2f689b8f5acaf92c40bbbd602cab3c (diff)
mesa: bind VBO_ATTRIB_XXX to correct input array when
executing a display list. fix #10604
-rw-r--r--src/mesa/vbo/vbo_save_draw.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mesa/vbo/vbo_save_draw.c b/src/mesa/vbo/vbo_save_draw.c
index 3c6f0fccd9..da7bc765b7 100644
--- a/src/mesa/vbo/vbo_save_draw.c
+++ b/src/mesa/vbo/vbo_save_draw.c
@@ -132,9 +132,11 @@ static void vbo_bind_vertex_list( GLcontext *ctx,
}
for (attr = 0; attr < VBO_ATTRIB_MAX; attr++) {
- if (node->attrsz[attr]) {
+ GLuint src = map[attr];
+
+ if (node->attrsz[src]) {
arrays[attr].Ptr = (const GLubyte *)data;
- arrays[attr].Size = node->attrsz[attr];
+ arrays[attr].Size = node->attrsz[src];
arrays[attr].StrideB = node->vertex_size * sizeof(GLfloat);
arrays[attr].Stride = node->vertex_size * sizeof(GLfloat);
arrays[attr].Type = GL_FLOAT;