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