[Bug 2082] DirectDraw games only showing black screen

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Jan 9 06:40:45 CST 2014


http://bugs.winehq.org/show_bug.cgi?id=2082

--- Comment #136 from Henri Verbeet <hverbeet at gmail.com> ---
(In reply to comment #135)
> Created attachment 47154 [details]
> Implement WGL extension to get fullscreen DC, use it in WineD3D
> 
I think that mostly works for me, from a wined3d point of view.

  - The main thing I'm wondering about is if it wouldn't make more sense to
pass a window to wglCreateFullscreenDCWINE(). Some of the considerations there
are what should happen when the device window is e.g. destroyed or minimized.
  - If we do want to pass a device name to wglCreateFullscreenDCWINE(), it
should probably take a WCHAR[], and you can get at that from the context as
"context->swapchain->device->adapter->DeviceName".
  - wglDeleteFullscreenDCWINE() seems to just be a wrapper around DeleteDC().
If possible I think it would be preferable to be able to just call ReleaseDC()
on the DC returned by wglCreateFullscreenDCWINE(), and then just use
wined3d_release_dc().
  - If we can just use wined3d_release_dc(), context->hdc_fullscreen can just
go away, but otherwise it should probably be part of the other context
bitfields like current/destroyed/valid.
  - When there are multiple threads drawing, wglCreateFullscreenDCWINE() is
going to be called multiple times for the same window / display. I didn't
really review the winemac.drv changes, but will it do the right thing in that
case? wglGetFullscreenDCWINE() might be a more appropriate name for how we're
using this.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list