[Mesa-dev] [PATCH 02/41] main: Created a standard function that looks up a texture object by its ID and throws INVALID_OPERATION if the ID isn't in the hash table.
Laura Ekstrand
laura at jlekstrand.net
Mon Jan 5 11:21:16 PST 2015
I just ran
git grep -e "_err(" --and -e "lookup",
followed by
git grep -e "_error(" --and -e "lookup".
It looks like there is precedence for the naming convention
_mesa_lookup_[object_name]_err instead of error.
On Wed, Dec 17, 2014 at 5:51 PM, Laura Ekstrand <laura at jlekstrand.net>
wrote:
> That makes sense. It's now
>
> main: Added utility function _mesa_lookup_texture_err().
>
> On Wed, Dec 17, 2014 at 3:47 AM, Anuj Phogat <anuj.phogat at gmail.com>
> wrote:
>>
>> Keep the subject of commit message short (under 50 chars) and use present
>> tense.
>> Here you can use "mesa: Add utility function
>> _mesa_lookup_texture_error()".
>>
>> On Tue, Dec 16, 2014 at 6:52 AM, Laura Ekstrand <laura at jlekstrand.net>
>> wrote:
>> > Most ARB_DIRECT_STATE_ACCESS functions take an object's ID and use it
>> to look
>> > up the object in its hash table. If the user passes a fake object ID
>> (ie. a
>> > non-generated name), the implementation should throw INVALID_OPERATION.
>> > This is a convenience function for texture objects.
>> > ---
>> > src/mesa/main/texobj.c | 17 ++++++++++++++++-
>> > src/mesa/main/texobj.h | 3 +++
>> > 2 files changed, 19 insertions(+), 1 deletion(-)
>> >
>> > diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c
>> > index 923cf60..49ab2c4 100644
>> > --- a/src/mesa/main/texobj.c
>> > +++ b/src/mesa/main/texobj.c
>> > @@ -60,6 +60,22 @@ _mesa_lookup_texture(struct gl_context *ctx, GLuint
>> id)
>> > _mesa_HashLookup(ctx->Shared->TexObjects, id);
>> > }
>> >
>> > +/**
>> > + * Wrapper around _mesa_lookup_texture that throws
>> GL_INVALID_OPERATION if id
>> > + * is not in the hash table. After calling _mesa_error, it returns
>> NULL.
>> > + */
>> > +struct gl_texture_object *
>> > +_mesa_lookup_texture_err(struct gl_context *ctx, GLuint id, const
>> char* func)
>> I would use the name _mesa_lookup_texture_error() here.
>> > +{
>> > + struct gl_texture_object *texObj;
>> > +
>> > + texObj = _mesa_lookup_texture(ctx, id); /* Returns NULL if not
>> found. */
>> > +
>> > + if (!texObj)
>> > + _mesa_error(ctx, GL_INVALID_OPERATION, "%s(texture)", func);
>> > +
>> > + return texObj;
>> > +}
>> >
>> > void
>> > _mesa_begin_texture_lookups(struct gl_context *ctx)
>> > @@ -1419,7 +1435,6 @@ _mesa_BindTexture( GLenum target, GLuint texName )
>> > ctx->Driver.BindTexture(ctx, ctx->Texture.CurrentUnit, target,
>> newTexObj);
>> > }
>> >
>> > -
>> unwanted change.
>> > void GLAPIENTRY
>> > _mesa_BindTextures(GLuint first, GLsizei count, const GLuint *textures)
>> > {
>> > diff --git a/src/mesa/main/texobj.h b/src/mesa/main/texobj.h
>> > index b1b7a30..abf03a1 100644
>> > --- a/src/mesa/main/texobj.h
>> > +++ b/src/mesa/main/texobj.h
>> > @@ -46,6 +46,9 @@
>> > extern struct gl_texture_object *
>> > _mesa_lookup_texture(struct gl_context *ctx, GLuint id);
>> >
>> > +extern struct gl_texture_object *
>> > +_mesa_lookup_texture_err(struct gl_context *ctx, GLuint id, const
>> char* func);
>> > +
>> > extern void
>> > _mesa_begin_texture_lookups(struct gl_context *ctx);
>> >
>> > --
>> > 2.1.0
>> >
>> > _______________________________________________
>> > mesa-dev mailing list
>> > mesa-dev at lists.freedesktop.org
>> > http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20150105/bc4b1c71/attachment.html>
More information about the mesa-dev
mailing list