OpenGL fix Mesa/DRI regression

Roderick Colenbrander thunderbird2k at gmx.net
Fri Aug 25 17:50:22 CDT 2006


Hi,

Yesterday I submitted a patch which fixed support for the closed source ATI 
drivers. The patch was tested on the ati drivers, the nvidia drivers and 
using plain mesa (without dri).

The patch itself was correct but it still caused a regression in case of using 
Mesa + DRI. As I mentioned yesterday the GLX client version should be used in 
case of direct rendering. The client libGL then needs to implement the 
functions for the version it advertises. This is how it should work in 
theory.

In case of Mesa + DRI the advertised client libGL version is 1.3 or 1.4 and 
the server version is 1.2. In case of the DRI regression the problem is the 
function glXQueryDrawable. This function is part of GLX 1.3 but Mesa 
implements it using a GLX Xserver request. Because the server version isn't 
1.3 this fails. This is what caused a regression.

The patch changes the way glXQueryDrawable is used. We now only dynamicly load 
it when the Xserver speaks GLX 1.3 or higher. The function is only used in a 
few lines of debugging related code, so it is not very critical. The function 
in question already checked if the function pointer was null and what the glx 
version was. I removed the glx version check as it isn't usefull because it 
can be the client glx version aswell.

Regards
Roderick Colenbrander
-------------- next part --------------
A non-text attachment was scrubbed...
Name: x11drv_opengl_fix.patch
Type: text/x-diff
Size: 2904 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20060825/426e6669/x11drv_opengl_fix.bin


More information about the wine-patches mailing list