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

Samuel Pitoiset samuel.pitoiset at gmail.com
Thu May 25 10:00:31 UTC 2017



On 05/25/2017 11:47 AM, Timothy Arceri wrote:
> 
> 
> 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.

Right, should be "gl%sTextureParameter(texture)", get ? "Get" : "");" 
instead, because the other error check call in this function does the 
same thing (ie. we don't care about 'fv', etc).

> 
>>         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);
>>   }
>>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list