[Mesa-dev] [PATCH] mesa: Correctly print glTexImage dimensions

Tapani Pälli tapani.palli at intel.com
Mon Jan 29 11:24:42 UTC 2018



On 01/29/2018 12:05 PM, Elie Tournier wrote:
> On Fri, Jan 26, 2018 at 02:34:03PM +0200, Tapani Pälli wrote:
>> Hi;
>>
>> On 01/25/2018 05:18 PM, Elie Tournier wrote:
>>> texture_format_error_check_gles() displays error like "glTexImage%dD".
>>> This patch just replace the %d by the correct dimension.
>>>
>>> Signed-off-by: Elie Tournier <elie.tournier at collabora.com>
>>> ---
>>>    src/mesa/main/teximage.c | 13 ++++++-------
>>>    1 file changed, 6 insertions(+), 7 deletions(-)
>>>
>>> diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
>>> index e5f8bb0718..cc329e6410 100644
>>> --- a/src/mesa/main/teximage.c
>>> +++ b/src/mesa/main/teximage.c
>>> @@ -1787,7 +1787,6 @@ texture_formats_agree(GLenum internalFormat,
>>>     * \param format pixel data format given by the user.
>>>     * \param type pixel data type given by the user.
>>>     * \param internalFormat internal format given by the user.
>>> - * \param dimensions texture image dimensions (must be 1, 2 or 3).
>>>     * \param callerName name of the caller function to print in the error message
>>>     *
>>>     * \return true if a error is found, false otherwise
>>> @@ -1796,8 +1795,7 @@ texture_formats_agree(GLenum internalFormat,
>>>     */
>>>    static bool
>>>    texture_format_error_check_gles(struct gl_context *ctx, GLenum format,
>>> -                                GLenum type, GLenum internalFormat,
>>> -                                GLuint dimensions, const char *callerName)
>>> +                                GLenum type, GLenum internalFormat, const char *callerName)
>>>    {
>>>       GLenum err = _mesa_es3_error_check_format_and_type(ctx, format, type,
>>>                                                          internalFormat);
>>> @@ -1911,9 +1909,11 @@ texture_error_check( struct gl_context *ctx,
>>>        * Formats and types that require additional extensions (e.g., GL_FLOAT
>>>        * requires GL_OES_texture_float) are filtered elsewhere.
>>>        */
>>> +   char bufCallerName[20];
>>> +   snprintf(bufCallerName, 20, "glTexImage%dD", dimensions);
>>
>> I don't think this is going to work, reason is that this error check is used
>> both from glTexImage and glTexSubImage. For example _mesa_TexSubImage2D
>> passes "glTexSubImage2D" as callerName like this:
>>
>> _mesa_TexSubImage2D
>> texsubimage_err
>> texsubimage_error_check
>> texture_format_error_check_gles
>>
> Hello Tapani,
> 
> I'm not sure to understand your comment.
> This patch just call texture_format_error_check_gles() with callerName parameter set correctly.
> Previously, callerName was "glTexImage%dD" but we didn't display the dimension.
> So I use snprintf in order to print the image dimension.

Sorry, now I noticed this works just fine. I was blind before and 
thought you did the snprintf in texture_format_error_check_gles.

> I should probably split this patch in 2:
> * Remove unused "dimensions" parameter in texture_format_error_check_gles.
> * Set callerName with the correct dimension.

I'm fine having these on same patch;
Reviewed-by: Tapani Pälli <tapani.palli at intel.com>

>>
>>>       if (_mesa_is_gles(ctx) &&
>>> -       texture_format_error_check_gles(ctx, format, type, internalFormat,
>>> -                                       dimensions, "glTexImage%dD")) {
>>> +       texture_format_error_check_gles(ctx, format, type,
>>> +                                       internalFormat, bufCallerName)) {
>>>          return GL_TRUE;
>>>       }
>>> @@ -2234,8 +2234,7 @@ texsubimage_error_check(struct gl_context *ctx, GLuint dimensions,
>>>        */
>>>       if (_mesa_is_gles(ctx) &&
>>>           texture_format_error_check_gles(ctx, format, type,
>>> -                                       internalFormat,
>>> -                                       dimensions, callerName)) {
>>> +                                       internalFormat, callerName)) {
>>>          return GL_TRUE;
>>>       }
>>>


More information about the mesa-dev mailing list