[Mesa-dev] [PATCH] i965: Update MESA_INFO to eliminate error
Courtney Goeltzenleuchter
courtney at lunarg.com
Wed Oct 23 21:41:21 CEST 2013
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.
---
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
--
1.8.1.2
More information about the mesa-dev
mailing list