http://bugs.winehq.org/show_bug.cgi?id=2082
Ken Thomases ken@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #46977|0 |1 is obsolete| |
--- Comment #135 from Ken Thomases ken@codeweavers.com --- Created attachment 47154 --> http://bugs.winehq.org/attachment.cgi?id=47154 Implement WGL extension to get fullscreen DC, use it in WineD3D
(In reply to comment #132)
I said (to Henri):
With respect to a WGL extension, were you thinking of something like an alternative to wglMakeCurrent() such as wglMakeCurrentFullScreenWINE()?
In looking at the code, I decided it makes more sense for the extension to provide a full-screen DC which can then be used pretty much as normal. The attached patch adds a Wine WGL extension named WGL_WINE_fullscreen_dc. It provides two functions: wglCreateFullscreenDCWINE() and wglDeleteFullscreenDCWINE().
The patch makes WineD3D aware of the extension and makes it use it instead of GetDC()/wined3d_release_dc() if the swapchain is not windowed.
Then the extension is implemented in the Mac driver.
Taken together, this gets Worms Armageddon to show its rendering without the use of any of its tweaks. Since the extension hasn't been implemented for the X11 driver it doesn't help there but, unlike my previous patch, it shouldn't break X11 either. It should work just like it has. If the extension is implemented for X11, then it should start working, too.