mirror of
git://source.winehq.org/git/wine.git
synced 2024-07-21 15:54:09 +00:00
Merge documentation/status/directdraw into the ddraw code.
This commit is contained in:
parent
b99ab2dd18
commit
976483e2a9
|
@ -17,9 +17,30 @@
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
* License along with this library; if not, write to the Free Software
|
* License along with this library; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*
|
||||||
|
* NOTES
|
||||||
/*
|
*
|
||||||
|
* WINE currently implements a very basic set of the DirectDraw functionality
|
||||||
|
* in graphics/ddraw.c. This implementation uses either the XFree86-DGA extension
|
||||||
|
* to get very fast access to the graphics card framebuffer and doublebuffering
|
||||||
|
* features or Xlib, which is slower.
|
||||||
|
* The implementation using XFree86-DGA is as fast as the MS equivalent for the
|
||||||
|
* stuff that is implemented.
|
||||||
|
*
|
||||||
|
* Several applications already work, see below.
|
||||||
|
* Problems of the implementation using XFree86-DGA:
|
||||||
|
*
|
||||||
|
* - XFree86 cannot switch depth on the fly.
|
||||||
|
* This is a problem with X and unavoidable.
|
||||||
|
* Current solution is to pop up a MessageBox with an error for
|
||||||
|
* mismatched parameters and advice the user to restart the X server
|
||||||
|
* with the specified depth.
|
||||||
|
* - The rest of the functionality that has to be implemented will have
|
||||||
|
* to be done in software and will be very slow.
|
||||||
|
* - This requires WINE to be run as root user so XF86DGA can mmap the
|
||||||
|
* framebuffer into the addressspace of the process.
|
||||||
|
* - Blocks all other X windowed applications.
|
||||||
|
*
|
||||||
* This file contains all the interface functions that are shared between
|
* This file contains all the interface functions that are shared between
|
||||||
* all interfaces. Or better, it is a "common stub" library for the
|
* all interfaces. Or better, it is a "common stub" library for the
|
||||||
* IDirectDraw* objects
|
* IDirectDraw* objects
|
||||||
|
|
|
@ -1,65 +0,0 @@
|
||||||
This file contains information on the current implementation of the DirectDraw
|
|
||||||
API. Information specific to Direct3D is in the direct3D file.
|
|
||||||
|
|
||||||
The DirectDraw API is being used in a lot of current computergames. Its API
|
|
||||||
layer is represented by the functions in the Win32 DLL ddraw.dll and the
|
|
||||||
IDirectDraw* interfaces (that can be created using the API functions).
|
|
||||||
|
|
||||||
WINE currently implements a very basic set of the DirectDraw functionality
|
|
||||||
in graphics/ddraw.c. This implementation uses either the XFree86-DGA extension
|
|
||||||
to get very fast access to the graphics card framebuffer and doublebuffering
|
|
||||||
features or Xlib, which is slower.
|
|
||||||
The implementation using XFree86-DGA is as fast as the MS equivalent for the
|
|
||||||
stuff that is implemented.
|
|
||||||
|
|
||||||
Several applications already work, see below.
|
|
||||||
Problems of the implementation using XFree86-DGA:
|
|
||||||
|
|
||||||
- XFree86 cannot switch depth on the fly.
|
|
||||||
This is a problem with X and unavoidable.
|
|
||||||
Current solution is to pop up a MessageBox with an error for
|
|
||||||
mismatched parameters and advice the user to restart the X server
|
|
||||||
with the specified depth.
|
|
||||||
- The rest of the functionality that has to be implemented will have
|
|
||||||
to be done in software and will be very slow.
|
|
||||||
- This requires WINE to be run as root user so XF86DGA can mmap the
|
|
||||||
framebuffer into the addressspace of the process.
|
|
||||||
- Blocks all other X windowed applications.
|
|
||||||
|
|
||||||
Status:
|
|
||||||
- Diablo [640x480x8]:
|
|
||||||
No longer works. Unclear why. [WINE-990131, Marcus Meissner]
|
|
||||||
|
|
||||||
- WingCommander 4 / Win95 Patch [640x480x8]:
|
|
||||||
The intromovie plays, in 8 bit mode (to reconfigure wc4, run wine
|
|
||||||
"wc4w.exe -I"). The 16bit mode looks broken on Mystique, but I think
|
|
||||||
this is due to the unusual colorweight (565 rgb) of the Mystique in 16bit
|
|
||||||
mode. [Specifying it in DDPIXELFORMAT didn't help.]
|
|
||||||
|
|
||||||
Keyboard input does not work. This seems to be a problem with the
|
|
||||||
cooperative window and USER input handling in general.
|
|
||||||
|
|
||||||
-> Unable to test Gameplay.
|
|
||||||
|
|
||||||
The display is slower as before. Reason is unknown, but I suspect the
|
|
||||||
communication between winserver,dsoundmixerthread,mainthread takes
|
|
||||||
up too much time.
|
|
||||||
|
|
||||||
[WINE-990131, Marcus Meissner]
|
|
||||||
|
|
||||||
- Monkey Island 3 [640x480x8]:
|
|
||||||
WINE-CVS-981116:
|
|
||||||
Works, using DGA and Xlib. (Mousecontrol is a bit off in windowed mode.)
|
|
||||||
|
|
||||||
- DiscWorld 2 [640x480x8]:
|
|
||||||
Plays through nearly all intro movies. Sound and animation skip a lot of
|
|
||||||
stuff (possible DirectSound asynchronization problem).
|
|
||||||
|
|
||||||
- Tomb Raider 2 Demo (using 8 bit renderer) [640x480x8]:
|
|
||||||
I have played nearly all of the DEMO level using Keyboard Controls.
|
|
||||||
Sound is a bit weird. Keyboard/Mouse handling too due to incomplete
|
|
||||||
DirectInput.
|
|
||||||
|
|
||||||
- WingCommander Prophecy Demo (using software renderer) [640x480x16]:
|
|
||||||
Plays trailer, hangs in selection screen (no keyboard input, DirectInput
|
|
||||||
problem).
|
|
Loading…
Reference in a new issue