[Bug 2082] DirectDraw games only showing black screen

wine-bugs at winehq.org wine-bugs at winehq.org
Tue Dec 24 10:13:26 CST 2013


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

Stefan Dösinger <stefan at codeweavers.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |stefan at codeweavers.com

--- Comment #127 from Stefan Dösinger <stefan at codeweavers.com> ---
d3d8/9 drawing to the desktop window is not valid, unless D3DDEVTYPE_NULLREF is
used. Which is what some applications do, and we don't implement NULLREF and
just treat it as HAL.

I believe we have tests that demonstrate that opengl rendering on the desktop
window is not valid on Windows. I might be mistaken though, I haven't checked
the code.

I'm not entirely sure about the ddraw behavior. This needs some additional
tests for clippers. Specifically we'll have to check what clippers do in
fullscreen mode, and if clippers affect primary surface locks (and not just
blits). The current behavior is to render to the clipper window if a clipper is
assigned to the primary, and it has a clip window and not a clip list.

What may be the correct behavior:
*) Always render to the device window, which is NULL by default unless the
application explicitly sets it with SetCoopLevel(DDSCL_SETDEVICEWINDOW) or asks
ddraw to create one with SetCoopLevel(DDSCL_CREATEDEVICEWINDOW). I think
SetCoopLevel(window, FULLSCREEN | EXCLUSIVE) just sets the focus window, not
the device window.
*) Never render to the clipper window.
*) Use the clipper window only in surface::blt to limit the written area.

-- 
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