[Mesa-dev] [PATCH 2/2] st/mesa: fix assertion failures with GL_UNSIGNED_INT64_ARB (v2)
Juan A. Suarez Romero
jasuarez at igalia.com
Wed May 30 08:16:55 UTC 2018
On Mon, 2018-05-28 at 21:15 -0400, Ilia Mirkin wrote:
> Series is Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
>
> Thanks for tracking down why this wasn't working cleanly in the first
> place. This should make the NV int64 attrib extension much simpler.
>
> On Mon, May 28, 2018 at 9:10 PM, Marek Olšák <maraeo at gmail.com> wrote:
> > 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>
Hello.
Unfortunately, I can't apply this patch in 18.0 branch, as it seems to depends
on 19a91841c3 ("st/mesa: Use Array._DrawVAO in st_atom_array.c.").
If you require this in 18.0, please, submit a backport as soon as possible, as I
expect to propose the release this week.
J.A.
> > ---
> > 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
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list