Commit Graph

144 Commits

Author SHA1 Message Date
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 2043c42cef Implemented gamma control on the DirectDraw primary window.
Ensured that the primary window is created before the constructor returns.
Flag the primary window as transparent so mouse clicks pass through it.
Put the primary window handle into a reserved field for x11drv HAL use.
2001-04-17 17:34:11 +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
James Juran f4d5fefb0a Add <string.h> to files that needed it. 2001-01-26 20:43:40 +00:00
Patrik Stridvall d5f824b482 Fixed some issues found by winapi_check. 2001-01-25 22:23:08 +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 85f4a49c2d Support non-buffered overlays. 2000-10-12 23:09:40 +00:00
Lionel Ulmer fc67be9a01 Added support for DirectDraw overlays using the XVideo extension. 2000-09-26 00:38:03 +00:00
Gerald Pfeifer 54449ce348 Remove unused local variable in DGA_IDirectDrawSurface4Impl_SetPalette(). 2000-09-18 01:41:26 +00:00
Lionel Ulmer 5e14b07961 Fixed DGA / DGA 2 palette creation. 2000-09-12 23:35:17 +00:00
Alexandre Julliard 94074bc224 Fixed non-OpenGL compile. 2000-08-30 01:51:21 +00:00
Peter Hunnisett 5b6bf34067 Newbie friendly error message for 3D creation failure. 2000-08-29 23:55:26 +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
Alexandre Julliard 2a2321bbca Authors: Alexandre Julliard <julliard@codeweavers.com> (for Corel), Albert den Haan <albertd@corel.com>
Added syslevel locking for GDI operations.
Propagate the changes through the graphics code.
2000-08-19 21:38:55 +00:00
Marcus Meissner 77e3cd8cd0 No longer crash when running with DirectDraw with a DDClipper in
-desktop mode.
2000-07-29 00:01:30 +00:00
Marcus Meissner bfae5c8382 IDirectDraw,IDirectDraw2,IDirectDraw4 fixed up in regard to COM usage. 2000-07-23 13:39:52 +00:00
Lionel Ulmer a8cc5f543e - fix Direct3D support and a lot of warnings
- add support for DDraw in a window (not optimized yet)
- cleans up OpenGL extensions handling for D3D
2000-07-16 14:40:35 +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 968580c136 Use correct bpp for the X side of the surface XImages.
Cleaned up Xlib_Surface_Release so it is a bit more readable.
use VirtualAlloc for conversion-programside buffer to simplify
handling.
2000-06-23 16:52:53 +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
Lionel Ulmer ef275bbb99 Removed the Release in case of error as we do not AddRef anymore. 2000-06-12 01:18:35 +00:00
Ove Kaaven 70b699a1a1 Call TSXFlush after setting DGA palette, so it updates immediately. 2000-06-10 04:24:41 +00:00
Lionel Ulmer 0761f537ee Install the colormap only if it was created. 2000-05-30 20:05:05 +00:00
Ove Kaaven 561895a937 Made IDirectDrawSurface::SetPalette set the surface's DIBSection color
map to point to the IDirectDrawPalette's own depth conversion color map.
2000-05-18 00:04:10 +00:00
Ove Kaaven 270c9fb109 Improved DIBSection support for IDirectDrawSurface::GetDC. 2000-05-14 22:53:51 +00:00
Lionel Ulmer bedf40b58b Added support for OpenGL. 2000-05-12 20:18:14 +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
Lionel Ulmer 51177f96ba Added DGA2 driver to DirectDraw. 2000-05-01 14:25:49 +00:00
Marcus Meissner 8903137cd6 Make DirectDraw compile with DGA2 present. 2000-04-13 15:59:22 +00:00
Marcus Meissner 81a84bb387 Free private structure in Xlib_DDS_Release. 2000-04-11 19:37:50 +00:00
Marcus Meissner 01cfbaf46e Two left over HeapValidate assertions removed. 2000-04-09 18:39:52 +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