Hi guys
I send a reply to the list a couple of days ago, but I attached my exe file and it seems it was blocked but hotmail...
First, thanks a lot for all your replies... Jesse, I've made the changes proposed in those patches, but it didn't work :-(
After further inspection, it seems the problem is when I call wglMakeCurrent for a context which shares display lists with another context. I've attached the program and the source code, so you can try it.
This is the output of the trace+opengl:
trace:opengl:has_opengl GLX is up and running error_base = 77 trace:opengl:X11DRV_setup_opengl_visual Visual ID 21 Chosen trace:opengl:X11DRV_ChoosePixelFormat (0x403a28a8,0x406afdac) trace:opengl:dump_PIXELFORMATDESCRIPTOR - size / version : 40 / 1 trace:opengl:dump_PIXELFORMATDESCRIPTOR - dwFlags : PFD_DOUBLEBUFFER PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL trace:opengl:dump_PIXELFORMATDESCRIPTOR - iPixelType : PFD_TYPE_RGBA trace:opengl:dump_PIXELFORMATDESCRIPTOR - Color : 24 trace:opengl:dump_PIXELFORMATDESCRIPTOR - Red : 8 trace:opengl:dump_PIXELFORMATDESCRIPTOR - Green : 8 trace:opengl:dump_PIXELFORMATDESCRIPTOR - Blue : 8 trace:opengl:dump_PIXELFORMATDESCRIPTOR - Alpha : 8 trace:opengl:dump_PIXELFORMATDESCRIPTOR - Accum : 0 trace:opengl:dump_PIXELFORMATDESCRIPTOR - Depth : 24 trace:opengl:dump_PIXELFORMATDESCRIPTOR - Stencil : 0 trace:opengl:dump_PIXELFORMATDESCRIPTOR - Aux : 0 trace:opengl:dump_PIXELFORMATDESCRIPTOR - iLayerType : PFD_MAIN_PLANE trace:opengl:X11DRV_SetPixelFormat (0x403a28a8,3,0x406afdac) trace:opengl:X11DRV_SetPixelFormat FBConfig have : trace:opengl:X11DRV_SetPixelFormat - FBCONFIG_ID 0x73 trace:opengl:X11DRV_SetPixelFormat - VISUAL_ID 0x23 trace:opengl:X11DRV_SetPixelFormat - DRAWABLE_TYPE 0x7 trace:opengl:X11DRV_GetPixelFormat (0x403a28a8): returns 3 trace:opengl:wglCreateContext (0x1cc)->(PF:3) trace:opengl:wglCreateContext creating context 0x403a2a40 (GL context creation delayed) trace:opengl:X11DRV_ChoosePixelFormat (0x403a2cc0,0x406afdac) trace:opengl:dump_PIXELFORMATDESCRIPTOR - size / version : 40 / 1 trace:opengl:dump_PIXELFORMATDESCRIPTOR - dwFlags : PFD_DOUBLEBUFFER PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL trace:opengl:dump_PIXELFORMATDESCRIPTOR - iPixelType : PFD_TYPE_RGBA trace:opengl:dump_PIXELFORMATDESCRIPTOR - Color : 24 trace:opengl:dump_PIXELFORMATDESCRIPTOR - Red : 8 trace:opengl:dump_PIXELFORMATDESCRIPTOR - Green : 8 trace:opengl:dump_PIXELFORMATDESCRIPTOR - Blue : 8 trace:opengl:dump_PIXELFORMATDESCRIPTOR - Alpha : 8 trace:opengl:dump_PIXELFORMATDESCRIPTOR - Accum : 0 trace:opengl:dump_PIXELFORMATDESCRIPTOR - Depth : 24 trace:opengl:dump_PIXELFORMATDESCRIPTOR - Stencil : 0 trace:opengl:dump_PIXELFORMATDESCRIPTOR - Aux : 0 trace:opengl:dump_PIXELFORMATDESCRIPTOR - iLayerType : PFD_MAIN_PLANE trace:opengl:X11DRV_SetPixelFormat (0x403a2cc0,3,0x406afdac) trace:opengl:X11DRV_SetPixelFormat FBConfig have : trace:opengl:X11DRV_SetPixelFormat - FBCONFIG_ID 0x73 trace:opengl:X11DRV_SetPixelFormat - VISUAL_ID 0x23 trace:opengl:X11DRV_SetPixelFormat - DRAWABLE_TYPE 0x7 trace:opengl:X11DRV_GetPixelFormat (0x403a2cc0): returns 3 trace:opengl:wglCreateContext (0x1dc)->(PF:3) trace:opengl:wglCreateContext creating context 0x403a2e58 (GL context creation delayed) trace:opengl:wglShareLists (0x403a2a40, 0x403a2e58) trace:opengl:describeContext Context 0x403a2a40 have (vis:0x7c1782d0): trace:opengl:describeContext - FBCONFIG_ID 0x73 trace:opengl:describeContext - VISUAL_ID 0x23 trace:opengl:wglShareLists created a delayed OpenGL context (0x7c190318) for Wine context 0x403a2a40 trace:opengl:describeContext Context 0x403a2e58 have (vis:0x7c18a4d0): trace:opengl:describeContext - FBCONFIG_ID 0x73 trace:opengl:describeContext - VISUAL_ID 0x23 trace:opengl:wglShareLists created a delayed OpenGL context (0x7c1b1590) for Wine context 0x403a2e58 sharing lists with OpenGL ctx 0x7c190318 trace:opengl:wglGetCurrentDC () trace:opengl:wglGetCurrentDC no Wine context found for GLX context 0x7c096448 trace:opengl:wglGetCurrentContext () trace:opengl:wglGetCurrentContext returning (nil) (GL context 0x7c096448) trace:opengl:wglMakeCurrent (0x1dc,0x403a2e58) trace:opengl:wglMakeCurrent make current for dis 0x7c0657f0, drawable 0x3800002, ctx 0x7c1b1590 X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 144 (GLX) Minor opcode of failed request: 5 (X_GLXMakeCurrent) Serial number of failed request: 120 Current serial number in output stream: 120
My guess is that when we call wglMakeCurrent for the context with the shared lists, it has a VISUAL_ID of 0x23, but X11DRV_setup_opengl_visual chosed a Visual ID of 0x21, and hence the BadMatch error.
As I said, this program works just fine in Windows, so we must be doing something differente in wine
Any ideas/hints?
Thanks
_________________________________________________________________ Don't just Search. Find! http://search.sympatico.msn.ca/default.aspx The new MSN Search! Check it out!