2014-08-27 22:14:02 -07:00
|
|
|
From 7d77edaea3c4ba8067e4b73034df5c58940daebc Mon Sep 17 00:00:00 2001
|
2014-06-01 13:55:11 -07:00
|
|
|
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
|
|
|
Date: Sun, 1 Jun 2014 22:51:32 +0200
|
|
|
|
Subject: winex11.drv: Indicate direct rendering through OpenGL extension
|
|
|
|
|
|
|
|
---
|
2014-08-27 22:14:02 -07:00
|
|
|
dlls/winex11.drv/opengl.c | 8 ++++++--
|
|
|
|
1 file changed, 6 insertions(+), 2 deletions(-)
|
2014-06-01 13:55:11 -07:00
|
|
|
|
|
|
|
diff --git a/dlls/winex11.drv/opengl.c b/dlls/winex11.drv/opengl.c
|
2014-08-27 22:14:02 -07:00
|
|
|
index 71af3db..966d32d 100644
|
2014-06-01 13:55:11 -07:00
|
|
|
--- a/dlls/winex11.drv/opengl.c
|
|
|
|
+++ b/dlls/winex11.drv/opengl.c
|
|
|
|
@@ -440,6 +440,7 @@ static int GLXErrorHandler(Display *dpy, XErrorEvent *event, void *arg)
|
|
|
|
static BOOL X11DRV_WineGL_InitOpenglInfo(void)
|
|
|
|
{
|
|
|
|
static const char legacy_extensions[] = " WGL_EXT_extensions_string WGL_EXT_swap_control";
|
|
|
|
+ static const char direct_extension[] = " WINE_EXT_direct_rendering";
|
|
|
|
|
|
|
|
int screen = DefaultScreen(gdi_display);
|
|
|
|
Window win = 0, root = 0;
|
2014-08-27 22:14:02 -07:00
|
|
|
@@ -491,10 +492,13 @@ static BOOL X11DRV_WineGL_InitOpenglInfo(void)
|
2014-06-01 13:55:11 -07:00
|
|
|
}
|
|
|
|
gl_renderer = (const char *)opengl_funcs.gl.p_glGetString(GL_RENDERER);
|
|
|
|
WineGLInfo.glVersion = (const char *) opengl_funcs.gl.p_glGetString(GL_VERSION);
|
|
|
|
+ WineGLInfo.glxDirect = pglXIsDirect(gdi_display, ctx);
|
|
|
|
str = (const char *) opengl_funcs.gl.p_glGetString(GL_EXTENSIONS);
|
|
|
|
- WineGLInfo.glExtensions = HeapAlloc(GetProcessHeap(), 0, strlen(str)+sizeof(legacy_extensions));
|
2014-08-27 22:14:02 -07:00
|
|
|
+ WineGLInfo.glExtensions = HeapAlloc(GetProcessHeap(), 0, strlen(str)+sizeof(legacy_extensions)+sizeof(direct_extension));
|
2014-06-01 13:55:11 -07:00
|
|
|
strcpy(WineGLInfo.glExtensions, str);
|
|
|
|
strcat(WineGLInfo.glExtensions, legacy_extensions);
|
|
|
|
+ if (WineGLInfo.glxDirect)
|
|
|
|
+ strcat(WineGLInfo.glExtensions, direct_extension);
|
|
|
|
|
|
|
|
/* Get the common GLX version supported by GLX client and server ( major/minor) */
|
|
|
|
pglXQueryVersion(gdi_display, &WineGLInfo.glxVersion[0], &WineGLInfo.glxVersion[1]);
|
2014-08-27 22:14:02 -07:00
|
|
|
@@ -508,7 +512,7 @@ static BOOL X11DRV_WineGL_InitOpenglInfo(void)
|
2014-06-01 13:55:11 -07:00
|
|
|
WineGLInfo.glxClientExtensions = pglXGetClientString(gdi_display, GLX_EXTENSIONS);
|
|
|
|
|
|
|
|
WineGLInfo.glxExtensions = pglXQueryExtensionsString(gdi_display, screen);
|
|
|
|
- WineGLInfo.glxDirect = pglXIsDirect(gdi_display, ctx);
|
|
|
|
+
|
|
|
|
|
|
|
|
TRACE("GL version : %s.\n", WineGLInfo.glVersion);
|
|
|
|
TRACE("GL renderer : %s.\n", gl_renderer);
|
|
|
|
--
|
2014-08-27 22:14:02 -07:00
|
|
|
1.7.9.5
|
2014-06-01 13:55:11 -07:00
|
|
|
|