Commit Graph

34 Commits

Author SHA1 Message Date
Lionel Ulmer 43c3dc4d33 - Clean up all the D3D COM handling (but the underlaying code is still
as ugly as before).
- Handle properly (ie as on real Windows) negative values in
  rectangles during blitting.
2002-11-21 21:04:16 +00:00
Lionel Ulmer b103f7b679 Proper logging of DDSCAPS / DDSCAPS2 structures. 2002-11-11 22:23:10 +00:00
Lionel Ulmer 5ecd8903e2 - only compare the first WORD in the DDSCAPS2 structure if no DX7
- add some TRACEs
2002-11-04 22:34:11 +00:00
Alexandre Julliard b34fb35b31 Fixed warnings caused by conversion to -DSTRICT. 2002-10-18 23:48:57 +00:00
Christian Costa ce35cc03a8 Main_DirectDrawSurface_QueryInterface: enable creation of a
IDirect3DTexture2 from a surface.
2002-10-10 23:27:32 +00:00
Lionel Ulmer 1c0a8ac4c0 Added some TRACEs to the ddraw code. 2002-10-10 22:47:02 +00:00
Christian Costa 74d0d4c562 Enable creation of our OpenGL Direct3D device from a surface used as
rendering target.
Enable creation of a texture from a surface.
2002-09-26 03:20:07 +00:00
Lionel Ulmer b6051dec93 - DDRAW_SYSTEMMEMORY is handled like OFFSCREENPLAIN for now
- added more logging
2002-07-16 01:16:14 +00:00
Ove Kaaven 1d8f92c88c Removed the flags fields of IDirectDrawPaletteImpl, as we should use
the dwFlags field of DDRAWI_DDRAWPALETTE_GBL structure instead.
2002-07-10 03:05:43 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Alexandre Julliard 0799c1a780 Added LGPL standard comment, and copyright notices where necessary.
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Marcus Meissner 4d2f173ce3 Added dwFlags to lock_update private functions so we can pass
WRITEONLY/READONLY.
Added those flags to the internal Lock() calls.
Only copy the surface from screen to surface if not writeonly.
Restrict blitting between display window and surface to the
locked/unlocked rectangle and the clipwindow section.
Added defines for DDHAL_UNLOCKDATA/DDHAL_LOCKDATA, added calls to HAL
implementation.
2001-09-10 23:12:16 +00:00
Alexandre Julliard e994d5036e Added Interlocked*Pointer functions.
Fixed InterlockedCompareExchange prototype.
2001-08-09 21:21:13 +00:00
Ove Kaaven fe01f0e7d0 Fill in some more HAL fields. Flip some of them when appropriate.
Allow SetSurfaceDesc to change client memory surface address.
Propagate DIB color table updates to backbuffers too (thanks to
Stephen Clouse).
2001-04-17 17:36:28 +00:00
Ove Kaaven e37b1d31a8 Implemented the IDirectDrawGammaControl interface. 2001-04-16 19:35:18 +00:00
Ove Kaaven 01b9436018 Added ddraw HAL and gamma ramp stuff to implementation structures.
Added a parameter and return value to flip_data and flip_update.
2001-04-16 19:06:13 +00:00
Marcus Meissner c5d2f5efeb Handle differently sized structs by using their dwSize parameters. 2001-02-12 03:43:53 +00:00
Marcus Meissner 15a525973b - Siedler3 appears to have rather limited buffers for device/description
strings and crashes with those long strings. Shortened those strings.
- Also driver needs to be "display" for display devices (some other
  programs rely on that info I seem to remember).
- Fixed DSurface::GetSurfaceDesc to not just blindly copy a
  DDSURFACEDESC2 struct over a smaller DDSURFACEDESC one.
2001-01-28 23:15:17 +00:00
Gavriel State ba3c18df69 Warning fixes. 2001-01-12 23:18:22 +00:00
Gerald Pfeifer ab75b89a55 Fixed some incorrect format strings. 2001-01-09 21:50:01 +00:00
Alexandre Julliard d6c0f9f784 Authors: Andrew Lewycky <andrew@transgaming.com>, Gavriel State <gav@transgaming.com>, Ove Kaaven <ovek@transgaming.com>
Major DirectDraw restructure/reimplementation, using an improved component
object model hierarchy. The implementation currently supports:
- DirectDraw over GDI/USER in a window (using DIBsections and
  asynchronous updates)
- XVidMode
- XF86DGA2
- All DirectDraw interfaces from versions 1 to 7 (at least in theory)
- Hooks for Direct3D interfaces
2001-01-04 22:44:55 +00:00
Marcus Meissner a337437706 IDirectDrawSurface::Blt::SRCCOPY is the default ROP operation, do not
throw error.
2000-12-22 01:39:22 +00:00
Marcus Meissner e38b41911f Truncate dest blit rectangle down to surface size. 2000-11-27 23:06:36 +00:00
Andreas Mohr bb84359c41 Avoid division by zero. 2000-11-04 02:55:08 +00:00
Lionel Ulmer 6e408c4f16 - added ARGB 1555 format
- fixed refcount problem for Add/DeleteAttachedSurface
2000-08-28 19:31:18 +00:00
James Abbatiello ba0a533669 Don't crash when calling DirectDrawSurface::EnumAttachedSurfaces on a
surface with no attached surfaces.
2000-08-22 20:38:00 +00:00
Marcus Meissner 5d760b1ca8 Check for NULL flipchain and just return the current surface if it
happens.
2000-07-11 22:05:21 +00:00
Marcus Meissner 62eedafb4a Removed another bad assert and two no longer needed ones. 2000-07-08 11:43:34 +00:00
Marcus Meissner cbe749f16a Fixed two asserts in Blt(). 2000-06-25 12:50:54 +00:00
Marcus Meissner 653d57a22a Dump FourCC correctly, print conversion messages, add reference to
ddraw in DDSurface::GetDDInterface.
2000-06-23 16:50:24 +00:00
Ove Kaaven 270c9fb109 Improved DIBSection support for IDirectDrawSurface::GetDC. 2000-05-14 22:53:51 +00:00
Marcus Meissner b7ed6df279 Number of surface Lock/Unlocks must NOT match, so do NOT use it for
reference counting.
2000-05-09 22:33:12 +00:00
Lionel Ulmer 25b05b1a2f Remove the assertion when there is no source surface. 2000-05-03 17:43:07 +00:00
Marcus Meissner 10ad97c838 Restructured DirectDraw. Split into X11 and DGA driver, and multiple
files/dirs for easier maintenance. Cleaned up structs and include
files. Reindented the code. Started the same for Direct3D.  Driver
inclusion now done by using configure/Makefile/ELF constructor tricks.
2000-04-09 14:30:50 +00:00