For patches 1 & 2: Reviewed-by: Marek Olšák <marek.ol...@amd.com>
Marek On Sat, Oct 26, 2013 at 7:35 AM, Kenneth Graunke <kenn...@whitecape.org> wrote: > Both Gallium and i965 subclass gl_transform_feedback_object, which > requires implementing a custom NewTransformFeedback hook. Creating a > helper function to initialize the fields avoids code duplication and > divergence. > > Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> > Cc: Eric Anholt <e...@anholt.net> > Cc: Marek Olšák <mar...@gmail.com> > --- > src/mesa/main/transformfeedback.c | 20 +++++++++++++++----- > src/mesa/main/transformfeedback.h | 3 +++ > 2 files changed, 18 insertions(+), 5 deletions(-) > > diff --git a/src/mesa/main/transformfeedback.c > b/src/mesa/main/transformfeedback.c > index bc9b52a..76d213b 100644 > --- a/src/mesa/main/transformfeedback.c > +++ b/src/mesa/main/transformfeedback.c > @@ -205,17 +205,27 @@ _mesa_free_transform_feedback(struct gl_context *ctx) > } > > > +/** Initialize the fields of a gl_transform_feedback_object. */ > +void > +_mesa_init_transform_feedback_object(struct gl_transform_feedback_object > *obj, > + GLuint name) > +{ > + if (!obj) > + return; > + > + obj->Name = name; > + obj->RefCount = 1; > + obj->EverBound = GL_FALSE; > +} > + > + > /** Default fallback for ctx->Driver.NewTransformFeedback() */ > static struct gl_transform_feedback_object * > new_transform_feedback(struct gl_context *ctx, GLuint name) > { > struct gl_transform_feedback_object *obj; > obj = CALLOC_STRUCT(gl_transform_feedback_object); > - if (obj) { > - obj->Name = name; > - obj->RefCount = 1; > - obj->EverBound = GL_FALSE; > - } > + _mesa_init_transform_feedback_object(obj, name); > return obj; > } > > diff --git a/src/mesa/main/transformfeedback.h > b/src/mesa/main/transformfeedback.h > index 0ffaab5..7aecd66 100644 > --- a/src/mesa/main/transformfeedback.h > +++ b/src/mesa/main/transformfeedback.h > @@ -91,6 +91,9 @@ _mesa_GetTransformFeedbackVarying(GLuint program, GLuint > index, > > > /*** GL_ARB_transform_feedback2 ***/ > +extern void > +_mesa_init_transform_feedback_object(struct gl_transform_feedback_object > *obj, > + GLuint name); > > struct gl_transform_feedback_object * > _mesa_lookup_transform_feedback_object(struct gl_context *ctx, GLuint name); > -- > 1.8.3.2 > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev