The patches are pushed now. Thanks for the review! best Mathias
On Thursday, 6 September 2018 16:42:51 CEST Brian Paul wrote: > The series looks good to me. > > Reviewed-by: Brian Paul <[email protected]> > > On 09/06/2018 08:31 AM, [email protected] wrote: > > From: Mathias Fröhlich <[email protected]> > > > > Introduce a new capability for the maximum value of > > pipe_vertex_element::src_offset. Initially just every driver > > backend returns the value previously set from _mesa_init_constants. > > So this shall end up in no functional change. > > > > Signed-off-by: Mathias Fröhlich <[email protected]> > > --- > > src/gallium/auxiliary/util/u_screen.c | 3 +++ > > src/gallium/docs/source/screen.rst | 3 +++ > > src/gallium/include/pipe/p_defines.h | 1 + > > src/mesa/state_tracker/st_extensions.c | 6 ++++++ > > 4 files changed, 13 insertions(+) > > > > diff --git a/src/gallium/auxiliary/util/u_screen.c > > b/src/gallium/auxiliary/util/u_screen.c > > index c41e28820b..d97c3cf5d9 100644 > > --- a/src/gallium/auxiliary/util/u_screen.c > > +++ b/src/gallium/auxiliary/util/u_screen.c > > @@ -318,6 +318,9 @@ u_pipe_screen_get_param_defaults(struct pipe_screen > > *pscreen, > > case PIPE_CAP_TEXTURE_MIRROR_CLAMP_TO_EDGE: > > return 0; > > > > + case PIPE_CAP_MAX_VERTEX_ELEMENT_SRC_OFFSET: > > + return 2047; > > + > > default: > > unreachable("bad PIPE_CAP_*"); > > } > > diff --git a/src/gallium/docs/source/screen.rst > > b/src/gallium/docs/source/screen.rst > > index 93415a5df1..6e5d123107 100644 > > --- a/src/gallium/docs/source/screen.rst > > +++ b/src/gallium/docs/source/screen.rst > > @@ -466,6 +466,9 @@ subpixel precision bias in bits during conservative > > rasterization. > > * ``PIPE_CAP_MAX_COMBINED_HW_ATOMIC_COUNTER_BUFFERS``: Maximum total > > number of > > atomic counter buffers. A value of 0 means the sum of all per-shader > > stage > > maximums (see ``PIPE_SHADER_CAP_MAX_HW_ATOMIC_COUNTER_BUFFERS``). > > +* ``PIPE_CAP_MAX_VERTEX_ELEMENT_SRC_OFFSET``: The maximum supported value > > for > > + of pipe_vertex_element::src_offset. > > + > > > > .. _pipe_capf: > > > > diff --git a/src/gallium/include/pipe/p_defines.h > > b/src/gallium/include/pipe/p_defines.h > > index bdd3f4680f..3a686c4cc3 100644 > > --- a/src/gallium/include/pipe/p_defines.h > > +++ b/src/gallium/include/pipe/p_defines.h > > @@ -821,6 +821,7 @@ enum pipe_cap > > PIPE_CAP_MAX_COMBINED_SHADER_BUFFERS, > > PIPE_CAP_MAX_COMBINED_HW_ATOMIC_COUNTERS, > > PIPE_CAP_MAX_COMBINED_HW_ATOMIC_COUNTER_BUFFERS, > > + PIPE_CAP_MAX_VERTEX_ELEMENT_SRC_OFFSET, > > }; > > > > /** > > diff --git a/src/mesa/state_tracker/st_extensions.c > > b/src/mesa/state_tracker/st_extensions.c > > index 244c12595e..43ef6a40f9 100644 > > --- a/src/mesa/state_tracker/st_extensions.c > > +++ b/src/mesa/state_tracker/st_extensions.c > > @@ -403,6 +403,12 @@ void st_init_limits(struct pipe_screen *screen, > > c->MaxVertexAttribStride > > = screen->get_param(screen, PIPE_CAP_MAX_VERTEX_ATTRIB_STRIDE); > > > > + /* The value cannot be larger than that since > > pipe_vertex_buffer::src_offset > > + * is only 16 bits. > > + */ > > + temp = screen->get_param(screen, > > PIPE_CAP_MAX_VERTEX_ELEMENT_SRC_OFFSET); > > + c->MaxVertexAttribRelativeOffset = MIN2(0xffff, temp); > > + > > c->StripTextureBorder = GL_TRUE; > > > > c->GLSLSkipStrictMaxUniformLimitCheck = > > > _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
