On Mon, Nov 9, 2015 at 4:56 PM, Ian Romanick <i...@freedesktop.org> wrote: > From: Ian Romanick <ian.d.roman...@intel.com> > > Pulls the parts of enable_vertex_array_attrib that aren't just parameter > validation out into a function that can be called from other parts of > Mesa (e.g., meta). > > _mesa_enable_vertex_array_attrib can also be used to enable > fixed-function arrays. > > Signed-off-by: Ian Romanick <ian.d.roman...@intel.com> > --- > src/mesa/main/varray.c | 26 +++++++++++++++++--------- > src/mesa/main/varray.h | 5 +++++ > 2 files changed, 22 insertions(+), 9 deletions(-) > > diff --git a/src/mesa/main/varray.c b/src/mesa/main/varray.c > index e9f78e9..8836c18 100644 > --- a/src/mesa/main/varray.c > +++ b/src/mesa/main/varray.c > @@ -770,6 +770,22 @@ _mesa_VertexAttribLPointer(GLuint index, GLint size, > GLenum type, > } > > > +void > +_mesa_enable_vertex_array_attrib(struct gl_context *ctx, > + struct gl_vertex_array_object *vao, > + unsigned attrib) > +{ > + assert(attrib < ARRAY_SIZE(vao->VertexAttrib)); > + > + if (!vao->VertexAttrib[attrib].Enabled) { > + /* was disabled, now being enabled */ > + FLUSH_VERTICES(ctx, _NEW_ARRAY); > + vao->VertexAttrib[attrib].Enabled = GL_TRUE; > + vao->_Enabled |= VERT_BIT(attrib); > + vao->NewArrays |= VERT_BIT(attrib); > + } > +} > + > static void > enable_vertex_array_attrib(struct gl_context *ctx, > struct gl_vertex_array_object *vao, > @@ -781,15 +797,7 @@ enable_vertex_array_attrib(struct gl_context *ctx, > return; > } > > - assert(VERT_ATTRIB_GENERIC(index) < ARRAY_SIZE(vao->VertexAttrib)); > - > - if (!vao->VertexAttrib[VERT_ATTRIB_GENERIC(index)].Enabled) { > - /* was disabled, now being enabled */ > - FLUSH_VERTICES(ctx, _NEW_ARRAY); > - vao->VertexAttrib[VERT_ATTRIB_GENERIC(index)].Enabled = GL_TRUE; > - vao->_Enabled |= VERT_BIT_GENERIC(index); > - vao->NewArrays |= VERT_BIT_GENERIC(index); > - } > + _mesa_enable_vertex_array_attrib(ctx, vao, VERT_ATTRIB_GENERIC(index)); > } > > > diff --git a/src/mesa/main/varray.h b/src/mesa/main/varray.h > index 744b336..a766afa 100644 > --- a/src/mesa/main/varray.h > +++ b/src/mesa/main/varray.h > @@ -99,6 +99,11 @@ _mesa_update_array_format(struct gl_context *ctx, > GLuint relativeOffset, bool flush_vertices); > > extern void > +_mesa_enable_vertex_array_attrib(struct gl_context *ctx, > + struct gl_vertex_array_object *vao, > + unsigned attrib); > + > +extern void > _mesa_bind_vertex_buffer(struct gl_context *ctx, > struct gl_vertex_array_object *vao, > GLuint index, > -- > 2.1.0 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Reviewed-by: Anuj Phogat <anuj.pho...@gmail.com> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev