[Mesa-dev] [PATCH] vbo: fix node_attrsz[] usage in vbo_bind_vertex_list()
Ian Romanick
idr at freedesktop.org
Wed Feb 1 12:34:53 PST 2012
On 02/01/2012 08:52 AM, Brian Paul wrote:
> The node_attrsz[] array is initially copied from the node->attrsz[]
> array but some values get rewritten. Thereafter, we need to use the
> node_attrsz[] values.
>
> Fixes a bug when replaying a display list that uses generic vertex
> array[16] (at least).
>
> NOTE: This is a candidate for the 8.0 branch.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
> ---
> src/mesa/vbo/vbo_save_draw.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/mesa/vbo/vbo_save_draw.c b/src/mesa/vbo/vbo_save_draw.c
> index 9f02905..b903757 100644
> --- a/src/mesa/vbo/vbo_save_draw.c
> +++ b/src/mesa/vbo/vbo_save_draw.c
> @@ -191,7 +191,7 @@ static void vbo_bind_vertex_list(struct gl_context *ctx,
> save->inputs[attr] =&arrays[attr];
>
> arrays[attr].Ptr = (const GLubyte *) NULL + buffer_offset;
> - arrays[attr].Size = node->attrsz[src];
> + 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;
> @@ -205,7 +205,7 @@ static void vbo_bind_vertex_list(struct gl_context *ctx,
>
> assert(arrays[attr].BufferObj->Name);
>
> - buffer_offset += node->attrsz[src] * sizeof(GLfloat);
> + buffer_offset += node_attrsz[src] * sizeof(GLfloat);
> varying_inputs |= VERT_BIT(attr);
> ctx->NewState |= _NEW_ARRAY;
> }
More information about the mesa-dev
mailing list