[Mesa-dev] [PATCH] mesa: Update MESA_INFO to eliminate error

Kenneth Graunke kenneth at whitecape.org
Thu Nov 21 00:28:09 PST 2013


On 10/24/2013 12:13 PM, Courtney Goeltzenleuchter wrote:
> If a user set MESA_INFO and the OpenGL application uses a
> 3.0 or later context then the MESA_INFO debug output will have
> an error when it queries for extensions using the deprecated
> enum GL_EXTENSIONS. Passing context argument allows code
> to return extension list directly regardless of profile.
> Commit title updated as recommended by Kenneth Graunke.
> ---
>  src/mesa/main/context.c |  2 +-
>  src/mesa/main/debug.c   | 10 +++++++---
>  src/mesa/main/debug.h   |  2 +-
>  3 files changed, 9 insertions(+), 5 deletions(-)
> 
> diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
> index 0d1f71c..8218153 100644
> --- a/src/mesa/main/context.c
> +++ b/src/mesa/main/context.c
> @@ -1522,7 +1522,7 @@ _mesa_make_current( struct gl_context *newCtx,
>            * information.
>            */
>  	 if (_mesa_getenv("MESA_INFO")) {
> -	    _mesa_print_info();
> +	    _mesa_print_info(newCtx);
>  	 }
>  
>  	 newCtx->FirstTimeCurrent = GL_FALSE;
> diff --git a/src/mesa/main/debug.c b/src/mesa/main/debug.c
> index 9434c1e..99b2147 100644
> --- a/src/mesa/main/debug.c
> +++ b/src/mesa/main/debug.c
> @@ -103,7 +103,7 @@ _mesa_print_state( const char *msg, GLuint state )
>  /**
>   * Print information about this Mesa version and build options.
>   */
> -void _mesa_print_info( void )
> +void _mesa_print_info( struct gl_context *ctx )
>  {
>     _mesa_debug(NULL, "Mesa GL_VERSION = %s\n",
>  	   (char *) _mesa_GetString(GL_VERSION));
> @@ -111,8 +111,12 @@ void _mesa_print_info( void )
>  	   (char *) _mesa_GetString(GL_RENDERER));
>     _mesa_debug(NULL, "Mesa GL_VENDOR = %s\n",
>  	   (char *) _mesa_GetString(GL_VENDOR));
> -   _mesa_debug(NULL, "Mesa GL_EXTENSIONS = %s\n",
> -	   (char *) _mesa_GetString(GL_EXTENSIONS));
> +
> +   /* use ctx as GL_EXTENSIONS will not work on 3.0 or higher
> +    * core contexts.
> +    */
> +   _mesa_debug(NULL, "Mesa GL_EXTENSIONS = %s\n", ctx->Extensions.String);
> +
>  #if defined(THREADS)
>     _mesa_debug(NULL, "Mesa thread-safe: YES\n");
>  #else
> diff --git a/src/mesa/main/debug.h b/src/mesa/main/debug.h
> index 8414c5e..902f595 100644
> --- a/src/mesa/main/debug.h
> +++ b/src/mesa/main/debug.h
> @@ -43,7 +43,7 @@ struct gl_texture_image;
>  
>  extern void _mesa_print_enable_flags( const char *msg, GLuint flags );
>  extern void _mesa_print_state( const char *msg, GLuint state );
> -extern void _mesa_print_info( void );
> +extern void _mesa_print_info( struct gl_context *ctx );
>  extern void _mesa_init_debug( struct gl_context *ctx );
>  
>  extern void
> 

I just realized this never went upstream.

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

Also pushed.




More information about the mesa-dev mailing list