Commit Graph

56 Commits

Author SHA1 Message Date
Lionel Ulmer d069312de6 Add the possibility to save a snapshot of the backbuffer at
flip-time.
2004-04-12 22:07:33 +00:00
Lionel Ulmer 2b8281a827 Fix palette deletion issue seen in DungeonKeeper. 2004-01-30 22:58:03 +00:00
Lionel Ulmer b6ddd8cadb Better color-keying support. 2003-11-11 00:31:16 +00:00
Lionel Ulmer 2f34e74ede Some broken games do not put the TEXTURE flags in the surface caps. 2003-07-15 20:45:01 +00:00
Lionel Ulmer 51df9314d8 - fix FPS computation
- some TRACEing fixes
- optimize BltFast locking rectangles
2003-07-08 21:10:01 +00:00
Lionel Ulmer c203d68e98 - fix some regressions
- GetDC does not lock in ReadOnly mode as it leads to problems with
  some D3D optimizations
- added a fast Back => Front / Front => Back Blt fast path
2003-06-16 19:41:34 +00:00
Lionel Ulmer 8944b25ead Be more stringent in the 'Lock' invalid RECT check. 2003-06-13 16:31:41 +00:00
Lionel Ulmer 4aba282bb8 - proper (tested on Win2K) reference counting for Direct3D object
- fix one case of reference counting on textures
- fix stupid bug in texture upload code
- yet another texture enumeration reordering
2003-06-04 23:31:39 +00:00
Alexandre Julliard 24d0a8394f Authors: Mike McCormack <mike@codeweavers.com>, Lionel Ulmer <lionel.ulmer@free.fr>
Make DDraw not linked 'statically' to OpenGL.
2003-06-04 20:13:21 +00:00
Lionel Ulmer 97f216c93c - some tracing fixes
- flush the right buffer to the screen
2003-05-20 04:27:04 +00:00
Tony Lambregts 2e24a148bf Replace DPRINTF with TRACE. 2003-03-15 00:12:42 +00:00
Dan Kegel 0fd521fee3 Change RECT to use LONG to match win32 standard headers and fix format
strings to use %ld for RECT elements.
2003-01-08 21:09:25 +00:00
Dimitrie O. Paun 297f3d898d Define NONAMELESS{STRUCT,UNION} explicitly in the files that need them. 2003-01-07 20:36:20 +00:00
Lionel Ulmer cec93d0abd - re-activate the color-keying code
- fix yet again texture enumeration to please all games :-/
2003-01-03 21:16:03 +00:00
Lionel Ulmer b07df8a198 - allow application to load palette-less textures
- handle palette change of loaded textures
- some changes in the ExecuteBuffer
2003-01-02 19:59:49 +00:00
Lionel Ulmer 8cd2609587 Enable the application to create first textures and then the D3D
device.
2003-01-02 19:39:57 +00:00
Lionel Ulmer 19ef31e802 - fix small TRACE bug introduced in a previous patch
- add WRAPU / WRAPV warning
2002-12-23 02:09:20 +00:00
Lionel Ulmer f5e1e3beba Have the 'Lock' warning a bit clearer. 2002-12-23 02:04:12 +00:00
Lionel Ulmer 8377b9d49b - fix Twist demo
- some clean-ups / traces
2002-12-16 22:48:20 +00:00
Lionel Ulmer 91c6f817b9 - rework how texturing is done in the D3D driver
- added the generic path for DrawPrimitive API in D3D 3 / 7
2002-12-15 01:17:59 +00:00
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