Hello,

Thanks for your reply.
Yes you are right.
The new code was added 7 days ago)

Regards,
Andrii.
On Tue, Sep 4, 2018 at 8:53 PM Marek Olšák <mar...@gmail.com> wrote:

> On Mon, Sep 3, 2018 at 5:05 AM, andrey simiklit
> <asimiklit.w...@gmail.com> wrote:
> > Hello,
> >
> > I believe that this check already added inside _mesa_lookup_vao:
> >
> >>_mesa_lookup_vao(struct gl_context *ctx, GLuint id)
> >>{
> >>   if (id == 0) {
> >>      return NULL;
> >>   } else {
> >>      .......
> >>}
>
> Your Mesa code is outdated.
>
> Marek
>
> >
> > I guess that the '_mesa_lookup_vao' function returns NULL for zero
> indexes.
> > So we will never pass into the 'if(obj)' for 0 index case.
> > So I think that this additional check which was added by this patch is
> > unnecessary here
> > because this functionality works fine for zero indexes as is.
> > Please correct me if am wrong.
> >
> > Regards,
> > Andrii.
> >
> > On Fri, Aug 31, 2018 at 10:24 AM Ian Romanick <i...@freedesktop.org>
> wrote:
> >>
> >> On 08/30/2018 07:42 PM, Marek Olšák wrote:
> >> > Sadly, there are no tests for this.
> >>
> >> Ok... I just sent one to the piglit list.  It should be easy enough to
> >> create a few more for other glDeleteFoo functions.  I'll save that for
> >> during boring meetings. ;)
> >>
> >> > Marek
> >> >
> >> > On Thu, Aug 30, 2018 at 6:24 PM, Ian Romanick <i...@freedesktop.org>
> >> > wrote:
> >> >> This patch is
> >> >>
> >> >> Reviewed-by: Ian Romanick <ian.d.roman...@intel.com>
> >> >>
> >> >> Is there a piglit test?  I wonder how many other glDeleteFoo
> functions
> >> >> mishandle the id=0 case. :(
> >> >>
> >> >> On 08/30/2018 12:16 PM, Marek Olšák wrote:
> >> >>> From: Marek Olšák <marek.ol...@amd.com>
> >> >>>
> >> >>> This fixes a firefox crash.
> >> >>>
> >> >>> Fixes: 781a78914c798dc64005b37c6ca1224ce06803fc
> >> >>> ---
> >> >>>  src/mesa/main/arrayobj.c | 4 ++++
> >> >>>  1 file changed, 4 insertions(+)
> >> >>>
> >> >>> diff --git a/src/mesa/main/arrayobj.c b/src/mesa/main/arrayobj.c
> >> >>> index a23031fe182..6e0665c0e5d 100644
> >> >>> --- a/src/mesa/main/arrayobj.c
> >> >>> +++ b/src/mesa/main/arrayobj.c
> >> >>> @@ -1007,20 +1007,24 @@ _mesa_BindVertexArray(GLuint id)
> >> >>>   *
> >> >>>   * \param n      Number of array objects to delete.
> >> >>>   * \param ids    Array of \c n array object IDs.
> >> >>>   */
> >> >>>  static void
> >> >>>  delete_vertex_arrays(struct gl_context *ctx, GLsizei n, const
> GLuint
> >> >>> *ids)
> >> >>>  {
> >> >>>     GLsizei i;
> >> >>>
> >> >>>     for (i = 0; i < n; i++) {
> >> >>> +      /* IDs equal to 0 should be silently ignored. */
> >> >>> +      if (!ids[i])
> >> >>> +         continue;
> >> >>> +
> >> >>>        struct gl_vertex_array_object *obj = _mesa_lookup_vao(ctx,
> >> >>> ids[i]);
> >> >>>
> >> >>>        if (obj) {
> >> >>>           assert(obj->Name == ids[i]);
> >> >>>
> >> >>>           /* If the array object is currently bound, the spec says
> >> >>> "the binding
> >> >>>            * for that object reverts to zero and the default vertex
> >> >>> array
> >> >>>            * becomes current."
> >> >>>            */
> >> >>>           if (obj == ctx->Array.VAO)
> >> _______________________________________________
> >> mesa-dev mailing list
> >> mesa-dev@lists.freedesktop.org
> >> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to