http://bugs.winehq.org/show_bug.cgi?id=14767
Summary: WGL_SWAP_METHOD_ARB attribute not implemented Product: Wine Version: CVS/GIT Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: minor Priority: P2 Component: opengl AssignedTo: wine-bugs@winehq.org ReportedBy: screwdriver@lxnt.info
Created an attachment (id=15283) --> (http://bugs.winehq.org/attachment.cgi?id=15283) patch against git head as of 05.08.2008
WGL_SWAP_METHOD_ARB attribute, defined in wgl_pixel_format opengl extension is not handled.
Attached patch adds trivial handling of this attribute.
This gets rid of fixme messages about unknown/unhandled WGL attributes 0x2007, 0x2028-0x202A.
http://bugs.winehq.org/show_bug.cgi?id=14767
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
--- Comment #1 from Austin English austinenglish@gmail.com 2008-08-05 17:12:38 --- Please send patches to wine-patches@winehq.org
Can you add a testcase to prove its correct?
http://bugs.winehq.org/show_bug.cgi?id=14767
--- Comment #2 from Alexander Sabourenkov screwdriver@lxnt.info 2008-08-06 06:46:19 --- Sent the patch to wine-patches@winehq.org.
What should such a testcase look like?
http://bugs.winehq.org/show_bug.cgi?id=14767
--- Comment #3 from Roderick Colenbrander thunderbird2k@gmx.net 2008-08-14 13:45:30 --- They should prove that WGL_SWAP_UNDEFINED_ARB is a reasonable default value. I'm not sure what the best way to right that test is.
Slightly offtopic I noticed (on the Mesa list to which I'm not subscribed) that you looked at this missing feature was because you are experiencing image corruption in Sketchup and other OpenGL apps and thought this might be related.
Due to various technical reasons and incompatibilities between win32 and X11 Wine only uses 1 X11 window for a program and does all subwindow drawing itself (on windows buttons, textboxes and so on are subwindows but on wine those aren't X11 subwindows). For OpenGL this caused major issues and the most problematic one is that the OpenGL window was shared with generic win32 gdi rendering.
Adding a X11 subwindow specially for OpenGL was not an option due to event issues and other technical reasons. In the end we decided to do windowed OpenGL rendering (with this I mean rendering as in apps like Google Earth which mix a win32 gui with OpenGL; this is something different than win32 apps with just a basic menubar or no win32 gui at all) to an offscreen buffer. The contents of the offscreen buffer is copied to the window.
The problem is the offscreen buffer. For that we are directly rendering to a toplevel X11 window which is made offscreen using the Composite extension. In other words we are using 'redirected GL rendering'. Not much display drivers support this yet. Nvidia has been offering it for some time and further I believe recent (experimental?) Intel drivers offer it.
This same functionality is also needed to render e.g. a glxgears window on one of the faces of a Compiz cube.
http://bugs.winehq.org/show_bug.cgi?id=14767
--- Comment #4 from Alexander Sabourenkov screwdriver@lxnt.info 2008-08-15 01:16:56 --- (In reply to comment #3)
They should prove that WGL_SWAP_UNDEFINED_ARB is a reasonable default value.
The value is reasonable because it allows the least amount of assumptions about buffer contents after a swap. Namely, that they're undefined. However, after some discussion in wine-patch list, I revised this patch to use corresponding GLX extension and to use the information in pixel/fbformat selection.
I'm not sure what the best way to right that test is.
I was more concerned with that I found no tests for winex11drv. Having at least one I would have something to model my tests on, but without any I'm at a loss what to do. I need examples.
Slightly offtopic I noticed (on the Mesa list to which I'm not subscribed) that you looked at this missing feature was because you are experiencing image corruption in Sketchup and other OpenGL apps and thought this might be related.
[...]
This same functionality is also needed to render e.g. a glxgears window on one of the faces of a Compiz cube.
Many thanks for the insights. There is something fishy going on with offscreen buffers in free drivers and that would be my next area of investigation. Again, many thanks for this most informative comment.
http://bugs.winehq.org/show_bug.cgi?id=14767
--- Comment #5 from Roderick Colenbrander thunderbird2k@gmx.net 2008-08-15 08:03:34 --- For opengl tests you need to look in the opengl32 directory.
I haven't checked your proposed patch but I guess it is using the OML extension. To be honest I haven't used a driver which supports that. I'll check the patch when I have time.
http://bugs.winehq.org/show_bug.cgi?id=14767
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dank@kegel.com Status|UNCONFIRMED |NEW Ever Confirmed|0 |1
--- Comment #6 from Dan Kegel dank@kegel.com 2008-12-31 11:57:16 --- What's the status of this patch? Does it make Sketchup work better, or does it just get rid of FIXMEs that don't have visible impact?
http://bugs.winehq.org/show_bug.cgi?id=14767
--- Comment #7 from Roderick Colenbrander thunderbird2k@gmx.net 2009-01-01 05:22:52 --- This feature isn't very important and isn't exposed by most Linux drivers. Basically it defines how the backbuffer is copied to the front e.g. by performing a memcpy or performing a buffer swap. So you could say that this would remove another FIXME. I'll take a look at it some time as using some new GLX extensions we might be able to offer it properly.
http://bugs.winehq.org/show_bug.cgi?id=14767
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|CVS/GIT |unspecified
--- Comment #8 from Austin English austinenglish@gmail.com 2009-01-20 02:39:42 --- Removing deprecated CVS/GIT version tag. Please retest in current git. If the bug is still present in today's wine, but was not present in some earlier version of wine, please update version field to earliest known version of wine that had the bug. Thanks!
http://bugs.winehq.org/show_bug.cgi?id=14767
Roderick Colenbrander thunderbird2k@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |thunderbird2k@gmail.com Resolution| |FIXED
--- Comment #9 from Roderick Colenbrander thunderbird2k@gmail.com 2009-06-10 03:25:46 --- We have some basic WGL_SWAP_METHOD_ARB support these days.
http://bugs.winehq.org/show_bug.cgi?id=14767
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #10 from Alexandre Julliard julliard@winehq.org 2009-06-19 11:00:08 --- Closing bugs fixed in 1.1.24.