[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