[Mesa-dev] [PATCH] mesa: throw an INVALID_OPERATION error in get_texobj_by_name()

Timothy Arceri tarceri at itsqueeze.com
Thu May 25 09:47:55 UTC 2017



On 25/05/17 19:24, Samuel Pitoiset wrote:
> While we are at it, rename obj to texObj for consistency.
> 
> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> ---
>   src/mesa/main/texparam.c | 74 ++++++++++++------------------------------------
>   1 file changed, 18 insertions(+), 56 deletions(-)
> 
> diff --git a/src/mesa/main/texparam.c b/src/mesa/main/texparam.c
> index 0156bbd275..97cd9b01e3 100644
> --- a/src/mesa/main/texparam.c
> +++ b/src/mesa/main/texparam.c
> @@ -159,10 +159,8 @@ get_texobj_by_name(struct gl_context *ctx, GLuint texture, GLboolean get)
>   
>      texObj = _mesa_lookup_texture(ctx, texture);
>      if (!texObj) {
> -      /*
> -       * User passed a non-generated name.
> -       * Throw the error in the caller.
> -       */
> +      _mesa_error(ctx, GL_INVALID_OPERATION,
> +                  "gl%sTextureParameterfv(texture)", get ? "Get" : "");

                                           ^-- This won't be correct for 
all functions. You might need to pass the string to this function instead.

>         return NULL;
>      }
>   
> @@ -1112,11 +1110,8 @@ _mesa_TextureParameterfv(GLuint texture, GLenum pname, const GLfloat *params)
>      GET_CURRENT_CONTEXT(ctx);
>   
>      texObj = get_texobj_by_name(ctx, texture, GL_FALSE);
> -   if (!texObj) {
> -      /* User passed a non-generated name. */
> -      _mesa_error(ctx, GL_INVALID_OPERATION, "glTextureParameterfv(texture)");
> +   if (!texObj)
>         return;
> -   }
>   
>      _mesa_texture_parameterfv(ctx, texObj, pname, params, true);
>   }
> @@ -1128,11 +1123,8 @@ _mesa_TextureParameterf(GLuint texture, GLenum pname, GLfloat param)
>      GET_CURRENT_CONTEXT(ctx);
>   
>      texObj = get_texobj_by_name(ctx, texture, GL_FALSE);
> -   if (!texObj) {
> -      /* User passed a non-generated name. */
> -      _mesa_error(ctx, GL_INVALID_OPERATION, "glTextureParameterf(texture)");
> +   if (!texObj)
>         return;
> -   }
>   
>      _mesa_texture_parameterf(ctx, texObj, pname, param, true);
>   }
> @@ -1144,11 +1136,8 @@ _mesa_TextureParameteri(GLuint texture, GLenum pname, GLint param)
>      GET_CURRENT_CONTEXT(ctx);
>   
>      texObj = get_texobj_by_name(ctx, texture, GL_FALSE);
> -   if (!texObj) {
> -      /* User passed a non-generated name. */
> -      _mesa_error(ctx, GL_INVALID_OPERATION, "glTextureParameteri(texture)");
> +   if (!texObj)
>         return;
> -   }
>   
>      _mesa_texture_parameteri(ctx, texObj, pname, param, true);
>   }
> @@ -1161,11 +1150,8 @@ _mesa_TextureParameteriv(GLuint texture, GLenum pname,
>      GET_CURRENT_CONTEXT(ctx);
>   
>      texObj = get_texobj_by_name(ctx, texture, GL_FALSE);
> -   if (!texObj) {
> -      /* User passed a non-generated name. */
> -      _mesa_error(ctx, GL_INVALID_OPERATION, "glTextureParameteriv(texture)");
> +   if (!texObj)
>         return;
> -   }
>   
>      _mesa_texture_parameteriv(ctx, texObj, pname, params, true);
>   }
> @@ -1178,12 +1164,8 @@ _mesa_TextureParameterIiv(GLuint texture, GLenum pname, const GLint *params)
>      GET_CURRENT_CONTEXT(ctx);
>   
>      texObj = get_texobj_by_name(ctx, texture, GL_FALSE);
> -   if (!texObj) {
> -      /* User passed a non-generated name. */
> -      _mesa_error(ctx, GL_INVALID_OPERATION,
> -                  "glTextureParameterIiv(texture)");
> +   if (!texObj)
>         return;
> -   }
>   
>      _mesa_texture_parameterIiv(ctx, texObj, pname, params, true);
>   }
> @@ -1195,12 +1177,8 @@ _mesa_TextureParameterIuiv(GLuint texture, GLenum pname, const GLuint *params)
>      GET_CURRENT_CONTEXT(ctx);
>   
>      texObj = get_texobj_by_name(ctx, texture, GL_FALSE);
> -   if (!texObj) {
> -      /* User passed a non-generated name. */
> -      _mesa_error(ctx, GL_INVALID_OPERATION,
> -                  "glTextureParameterIuiv(texture)");
> +   if (!texObj)
>         return;
> -   }
>   
>      _mesa_texture_parameterIuiv(ctx, texObj, pname, params, true);
>   }
> @@ -2334,35 +2312,27 @@ _mesa_GetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params)
>   void GLAPIENTRY
>   _mesa_GetTextureParameterfv(GLuint texture, GLenum pname, GLfloat *params)
>   {
> -   struct gl_texture_object *obj;
> +   struct gl_texture_object *texObj;
>      GET_CURRENT_CONTEXT(ctx);
>   
> -   obj = get_texobj_by_name(ctx, texture, GL_TRUE);
> -   if (!obj) {
> -      /* User passed a non-generated name. */
> -      _mesa_error(ctx, GL_INVALID_OPERATION,
> -                  "glGetTextureParameterfv(texture)");
> +   texObj = get_texobj_by_name(ctx, texture, GL_TRUE);
> +   if (!texObj)
>         return;
> -   }
>   
> -   get_tex_parameterfv(ctx, obj, pname, params, true);
> +   get_tex_parameterfv(ctx, texObj, pname, params, true);
>   }
>   
>   void GLAPIENTRY
>   _mesa_GetTextureParameteriv(GLuint texture, GLenum pname, GLint *params)
>   {
> -   struct gl_texture_object *obj;
> +   struct gl_texture_object *texObj;
>      GET_CURRENT_CONTEXT(ctx);
>   
> -   obj = get_texobj_by_name(ctx, texture, GL_TRUE);
> -   if (!obj) {
> -      /* User passed a non-generated name. */
> -      _mesa_error(ctx, GL_INVALID_OPERATION,
> -                  "glGetTextureParameteriv(texture)");
> +   texObj = get_texobj_by_name(ctx, texture, GL_TRUE);
> +   if (!texObj)
>         return;
> -   }
>   
> -   get_tex_parameteriv(ctx, obj, pname, params, true);
> +   get_tex_parameteriv(ctx, texObj, pname, params, true);
>   }
>   
>   void GLAPIENTRY
> @@ -2372,12 +2342,8 @@ _mesa_GetTextureParameterIiv(GLuint texture, GLenum pname, GLint *params)
>      GET_CURRENT_CONTEXT(ctx);
>   
>      texObj = get_texobj_by_name(ctx, texture, GL_TRUE);
> -   if (!texObj) {
> -      /* User passed a non-generated name. */
> -      _mesa_error(ctx, GL_INVALID_OPERATION,
> -                  "glGetTextureParameterIiv(texture)");
> +   if (!texObj)
>         return;
> -   }
>   
>      get_tex_parameterIiv(ctx, texObj, pname, params, true);
>   }
> @@ -2390,12 +2356,8 @@ _mesa_GetTextureParameterIuiv(GLuint texture, GLenum pname, GLuint *params)
>      GET_CURRENT_CONTEXT(ctx);
>   
>      texObj = get_texobj_by_name(ctx, texture, GL_TRUE);
> -   if (!texObj) {
> -      /* User passed a non-generated name. */
> -      _mesa_error(ctx, GL_INVALID_OPERATION,
> -                  "glGetTextureParameterIuiv(texture)");
> +   if (!texObj)
>         return;
> -   }
>   
>      get_tex_parameterIuiv(ctx, texObj, pname, params, true);
>   }
> 


More information about the mesa-dev mailing list