[Mesa-dev] [PATCH 17/41] main: Added get_texobj_by_name in texparam.c.
Anuj Phogat
anuj.phogat at gmail.com
Tue Dec 30 16:09:21 PST 2014
On Tue, Dec 16, 2014 at 6:52 AM, Laura Ekstrand <laura at jlekstrand.net> wrote:
> This is a convenience function for *Texture*Parameter functions.
> ---
> src/mesa/main/texparam.c | 38 ++++++++++++++++++++++++++++++++++++++
> 1 file changed, 38 insertions(+)
>
> diff --git a/src/mesa/main/texparam.c b/src/mesa/main/texparam.c
> index df2ba3c..6121346 100644
> --- a/src/mesa/main/texparam.c
> +++ b/src/mesa/main/texparam.c
> @@ -147,6 +147,44 @@ get_texobj(struct gl_context *ctx, GLenum target, GLboolean get)
> return texUnit->CurrentTex[targetIndex];
> }
>
> +/**
> + * Get current texture object for given name.
> + * Return NULL if any error (and record the error).
> + * Note that proxy targets are not accepted.
> + * Only the glGetTexLevelParameter() functions accept proxy targets.
> + */
> +static struct gl_texture_object *
> +get_texobj_by_name(struct gl_context *ctx, GLuint texture, GLboolean get)
> +{
> + struct gl_texture_object *texObj;
> +
> + texObj = _mesa_lookup_texture(ctx, texture);
> + if (!texObj) {
> + /* User passed a non-generated name. */
> + /* Throw the error in the caller. */
Combine the comments into one.
> + return NULL;
> + }
> +
> + switch (texObj->Target) {
> + case GL_TEXTURE_1D:
> + case GL_TEXTURE_1D_ARRAY:
> + case GL_TEXTURE_2D:
> + case GL_TEXTURE_2D_ARRAY:
> + case GL_TEXTURE_2D_MULTISAMPLE:
> + case GL_TEXTURE_2D_MULTISAMPLE_ARRAY:
> + case GL_TEXTURE_3D:
> + case GL_TEXTURE_CUBE_MAP:
> + case GL_TEXTURE_CUBE_MAP_ARRAY:
> + case GL_TEXTURE_RECTANGLE:
> + return texObj;
> + default:
> + _mesa_error(ctx, GL_INVALID_ENUM,
> + "gl%sTextureParameter(target)", get ? "Get" : "");
> + return NULL;
> + }
> +
> +}
> +
>
> /**
> * Convert GL_RED/GREEN/BLUE/ALPHA/ZERO/ONE to SWIZZLE_X/Y/Z/W/ZERO/ONE.
> --
> 2.1.0
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list