Module: wine Branch: master Commit: 3d58a065dfd0ceb7cf87c106a007d0819a857fc9 URL: http://source.winehq.org/git/wine.git/?a=commit;h=3d58a065dfd0ceb7cf87c106a0...
Author: Roderick Colenbrander thunderbird2k@gmx.net Date: Tue Aug 14 15:08:20 2007 +0200
wined3d: Load wglGetProcAddress from opengl32.dll instead of gdi32.dll when USE_WIN32_OPENGL is defined.
---
dlls/wined3d/directx.c | 11 ++++++++++- 1 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c index 22487bc..bef0c3f 100644 --- a/dlls/wined3d/directx.c +++ b/dlls/wined3d/directx.c @@ -414,12 +414,22 @@ BOOL IWineD3DImpl_FillGLCaps(WineD3D_GL_Info *gl_info) {
TRACE_(d3d_caps)("(%p)\n", gl_info);
+#ifdef USE_WIN32_OPENGL +#define USE_GL_FUNC(pfn) pfn = (void*)GetProcAddress(mod_gl, (const char *) #pfn); + mod_gl = LoadLibraryA("opengl32.dll"); + if(!mod_gl) { + ERR("Can't load opengl32.dll!\n"); + return FALSE; + } +#else +#define USE_GL_FUNC(pfn) pfn = (void*)p_wglGetProcAddress( (const char *) #pfn); /* To bypass the opengl32 thunks load wglGetProcAddress from gdi32 (glXGetProcAddress wrapper) instead of opengl32's */ mod_gl = LoadLibraryA("gdi32.dll"); if(!mod_gl) { ERR("Can't load gdi32.dll!\n"); return FALSE; } +#endif
p_wglGetProcAddress = (void*)GetProcAddress(mod_gl, "wglGetProcAddress"); if(!p_wglGetProcAddress) { @@ -428,7 +438,6 @@ BOOL IWineD3DImpl_FillGLCaps(WineD3D_GL_Info *gl_info) { }
/* Dynamicly load all GL core functions */ -#define USE_GL_FUNC(pfn) pfn = (void*)p_wglGetProcAddress( (const char *) #pfn); GL_FUNCS_GEN; #undef USE_GL_FUNC