36 Commits

Author SHA1 Message Date
Lionel Ulmer
4941a3aff2 - fix texture snooping (plus adds snoop for 1555 format)
- add texture memory usage tracking
2002-11-27 21:38:28 +00:00
Lionel Ulmer
dd738eab07 - Prevent the backbuffer to also have the frontbuffer flag set.
- Log the Locking flags.
- Print symbolic name (if any) of zero values for bit fields (thanks
  Andi).
2002-11-25 02:42:04 +00:00
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