[wined3d] Status update: Converting Wined3d to use WGL instead of GLX

Lionel Ulmer lionel.ulmer at free.fr
Thu Jan 12 15:37:29 CST 2006


On Thu, Jan 12, 2006 at 02:17:11AM +0000, Aric Cyr wrote:
> Most of the problems I've come across were GLXContext related... namely due to a
> problem in wine's wgl which causes an app to think there is a current context,
> when infact there isn't. (See wglGetCurrentContext in wgl.c, and see what
> happens when there is no glX context, especially between calls to
> wglCreateContext and wglMakeCurrent).

Could you explain in more details what the problem is ?

> Another change I made which I'm not sure about and would like feedback for, is
> to change wgl's process_attach to use wgl functions instead of glX functions. 
> The reason for this is so that the GLXContext that is created will be properly
> added to the context list so it can be used for other purposes.  This should
> reduce the number of GL contexts by one for all d3d and (behaved) opengl apps.

This default context was only added to prevent one game from breaking (do
not remember the name of it though) which did some 'glGet' stuff before
creating its context.

I checked that this worked just fine in Windows but did not work properly in
GLX (where calling any GL function without a context set generates an error)
so the only way I found out to work around the problem was to add this
default context.

And if you put in the context_list, in that case 'wglGetCurrentContext' will
return this dummy context (instead of NULL as in the current code as it
won't find this dummy one in the linked list).

         Lionel

-- 
		 Lionel Ulmer - http://www.bbrox.org/



More information about the wine-devel mailing list