Reviewed-by: Ilia Mirkin <imir...@alum.mit.edu>

But please change the commit title to mention the actual effect, like
"avoid segfault with enabled but unbound vertex attrib" or something.
The piglit fix should be mentioned in the body of the message -- it's
a nice side-effect, but not really title-worthy.

Also:

Cc: mesa-sta...@lists.freedesktop.org

in the commit so that it gets cherry-picked into stable releases.

On Mon, Jul 6, 2015 at 5:34 PM, Samuel Pitoiset
<samuel.pitoi...@gmail.com> wrote:
> Before validating vertex arrays we need to check if a VBO is present.
> Checking if vb->buffer is not NULL fixes the issue.
>
> Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com>
> ---
>  src/gallium/drivers/nouveau/nv50/nv50_vbo.c | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/src/gallium/drivers/nouveau/nv50/nv50_vbo.c 
> b/src/gallium/drivers/nouveau/nv50/nv50_vbo.c
> index 1fd33b8..3d200bd 100644
> --- a/src/gallium/drivers/nouveau/nv50/nv50_vbo.c
> +++ b/src/gallium/drivers/nouveau/nv50/nv50_vbo.c
> @@ -382,6 +382,11 @@ nv50_vertex_arrays_validate(struct nv50_context *nv50)
>        if (nv50->vbo_user & (1 << b)) {
>           address = addrs[b] + ve->pipe.src_offset;
>           limit = addrs[b] + limits[b];
> +      } else
> +      if (!vb->buffer) {
> +         BEGIN_NV04(push, NV50_3D(VERTEX_ARRAY_FETCH(i)), 1);
> +         PUSH_DATA (push, 0);
> +         continue;
>        } else {
>           struct nv04_resource *buf = nv04_resource(vb->buffer);
>           if (!(refd & (1 << b))) {
> --
> 2.4.5
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to