winex11.drv: cleanup better in X11DRV_WineGL_InitOpenglInfo

Roderick Colenbrander thunderbird2k at gmx.net
Mon Sep 18 15:16:17 CDT 2006


Hi,

I had a little amount of time to look at the issue and have posted a fix to 
the list. It appeared that the GLX context did still exist when 
X11DRV_InitOpenGLInfo got called the second time from a different thread. 
This most likely turned wined3d in a multithreaded OpenGL app which doesn't 
allways work well as OpenGL isn't threadsafe. By switching to a NULL context 
before killing the context, it got killed immedeately (before it became 
inactive which it never became). This fixes atleast 3dmark2001 and halflife2.

Roderick

> Phil, Roderick,
>
> I'm going to look at what I can do to improve the patch and gather
> more information on the handling of contextes. I just haven't had time
> yet. And Roderick, I'll discuss with you the newer patch when I'm
> ready so to see if you agree with it. I do lean towards agreeing with
> Phil on that this is simply needed and more than a workaround. I've
> already been asked many times if the patch has gotten in and that is
> why I posted to wine-patches so quickly; your patch broke alot of D3D
> apps for alot of people...  The d3d9 stateblock test is the best clue.
>
> Jesse



More information about the wine-devel mailing list