Roderick Colenbrander : wgl: Add more OpenGL diagnosing checks.
Alexandre Julliard
julliard at winehq.org
Mon Mar 15 12:19:31 CDT 2010
Module: wine
Branch: master
Commit: 22a247047dd5b20ae074902eecad0a9b86499812
URL: http://source.winehq.org/git/wine.git/?a=commit;h=22a247047dd5b20ae074902eecad0a9b86499812
Author: Roderick Colenbrander <thunderbird2k at gmail.com>
Date: Thu Mar 11 14:10:51 2010 +0100
wgl: Add more OpenGL diagnosing checks.
---
dlls/winex11.drv/opengl.c | 15 +++++++++++++++
1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/dlls/winex11.drv/opengl.c b/dlls/winex11.drv/opengl.c
index e784844..859cf94 100644
--- a/dlls/winex11.drv/opengl.c
+++ b/dlls/winex11.drv/opengl.c
@@ -375,6 +375,21 @@ static BOOL X11DRV_WineGL_InitOpenglInfo(void)
if(!getsockname(fd, (struct sockaddr *)&uaddr, &uaddrlen) && uaddr.sun_family == AF_UNIX)
ERR_(winediag)("Direct rendering is disabled, most likely your OpenGL drivers haven't been installed correctly\n");
}
+ else
+ {
+ /* In general you would expect that if direct rendering is returned, that you receive hardware
+ * accelerated OpenGL rendering. The definition of direct rendering is that rendering is performed
+ * client side without sending all GL commands to X using the GLX protocol. When Mesa falls back to
+ * software rendering, it shows direct rendering.
+ *
+ * Depending on the cause of software rendering a different rendering string is shown. In case Mesa fails
+ * to load a DRI module 'Software Rasterizer' is returned. When Mesa is compiled as a OpenGL reference driver
+ * it shows 'Mesa X11'.
+ */
+ const char *gl_renderer = (const char *)pglGetString(GL_RENDERER);
+ if(!strcmp(gl_renderer, "Software Rasterizer") || !strcmp(gl_renderer, "Mesa X11"))
+ ERR_(winediag)("The Mesa OpenGL driver is using software rendering, most likely your OpenGL drivers haven't been installed correctly\n");
+ }
if(vis) XFree(vis);
if(ctx) {
More information about the wine-cvs
mailing list