[Mesa-dev] [PATCH 2/2] st/mesa: fix assertion failures with GL_UNSIGNED_INT64_ARB (v2)

Marek Olšák maraeo at gmail.com
Wed May 30 21:30:17 UTC 2018


Juan, Dylan,

Yes, the patch is not needed in stable.

Thanks,
Marek

On Wed, May 30, 2018 at 12:01 PM, Dylan Baker <dylan at pnwbakers.com> wrote:

> Quoting Marek Olšák (2018-05-28 18:10:42)
> > From: Marek Olšák <marek.olsak at amd.com>
> >
> > Bindless texture handles can be passed via vertex attribs using this
> type.
> > They use the double codepath, so don't use st_pipe_vertex_format.
> >
> > Cc: 18.0 18.1 <mesa-stable at lists.freedesktop.org>
> > ---
> >  src/mesa/state_tracker/st_atom_array.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/src/mesa/state_tracker/st_atom_array.c
> b/src/mesa/state_tracker/st_atom_array.c
> > index 9a0935e21a5..e4fc19eb5e2 100644
> > --- a/src/mesa/state_tracker/st_atom_array.c
> > +++ b/src/mesa/state_tracker/st_atom_array.c
> > @@ -317,21 +317,20 @@ static void init_velement(struct
> pipe_vertex_element *velement,
> >     velement->vertex_buffer_index = vbo_index;
> >     assert(velement->src_format);
> >  }
> >
> >  static void init_velement_lowered(const struct st_vertex_program *vp,
> >                                    struct pipe_vertex_element *velements,
> >                                    const struct gl_array_attributes
> *attrib,
> >                                    int src_offset, int instance_divisor,
> >                                    int vbo_index, int idx)
> >  {
> > -   const unsigned format = st_pipe_vertex_format(attrib);
> >     const GLubyte nr_components = attrib->Size;
> >
> >     if (attrib->Doubles) {
> >        int lower_format;
> >
> >        if (nr_components < 2)
> >           lower_format = PIPE_FORMAT_R32G32_UINT;
> >        else
> >           lower_format = PIPE_FORMAT_R32G32B32A32_UINT;
> >
> > @@ -351,20 +350,22 @@ static void init_velement_lowered(const struct
> st_vertex_program *vp,
> >                          lower_format, instance_divisor, vbo_index);
> >           } else {
> >              /* The values here are undefined. Fill in some conservative
> >               * dummy values.
> >               */
> >              init_velement(&velements[idx], src_offset,
> PIPE_FORMAT_R32G32_UINT,
> >                            instance_divisor, vbo_index);
> >           }
> >        }
> >     } else {
> > +      const unsigned format = st_pipe_vertex_format(attrib);
> > +
> >        init_velement(&velements[idx], src_offset,
> >                      format, instance_divisor, vbo_index);
> >     }
> >  }
> >
> >  static void
> >  set_vertex_attribs(struct st_context *st,
> >                     struct pipe_vertex_buffer *vbuffers,
> >                     unsigned num_vbuffers,
> >                     struct pipe_vertex_element *velements,
> > --
> > 2.17.0
> >
> > _______________________________________________
> > mesa-dev mailing list
> > mesa-dev at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
> Hi Marek,
>
> The first patch in this series is in my 18.1 branch, but this patch doesn't
> apply cleanly. I'm not sure that it's actually needed since
> 19a91841c347107d877bc750371c5fa4e9b4de19 isn't in the 18.1 tree, and a
> quick
> glance shows that this patch is changing code from that commit. Let me
> know what
> you want to do.
>
> Thanks,
> Dylan
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180530/9053631f/attachment.html>


More information about the mesa-dev mailing list