opengl32: make the old code before the "sync the dibsection to its pixmap" patch be selectable at runtime

Leon Freitag leon_fraitak at mail.ru
Mon Mar 20 10:09:53 CST 2006


> Does that work any better?
The patch works wonderfully! Thank you very much!
The only thing is that you have to modify the Makefile.in in the opengl32 
directory and add "ntdll" to the libs list.

> Well, to make this work better, one would need a two-tiered approach:

> = use thread-local variables to check if it's a 'special' buffer or not
>   (like this patch does)

> = only do this check on GL APIs that actually modify or read from the frame 
> buffer (basically stuff like glClear, glEnd, gl(Read|Write)Buffer, ...).  

> The last is easy to do for 'core' stuff, a bit harder for extensions though.
> But anyway, this is mandatory if one day we want to fix the 'windowed' 
> OpenGL code properly (whatever the method we choose as long as we do not 
> have the GLX extension exporting the clip list feature to the application). 

I don't think it would be that hard to realize. Right now we have the 
ENTER_GL() macro that gets called before each opengl call (see opengl_ext.c 
and norm.c) where the check and sync occurs. One solution would be to make 
two enter_gl functions -- one with the check and one without, and hardcode 
some database with the function list in the script that generates the files.

This patch does already a great job for fixing Huw's regressions, and me and 
many Wine users would greatly appreciate its merge into Wine tree.

Leon
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 827 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20060320/4e025562/attachment.pgp


More information about the wine-devel mailing list