[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