Commit Graph

2383 Commits

Author SHA1 Message Date
Ove Kaaven 71c6984901 Implemented DirectDraw's Hardware Abstraction Layer (HAL) interface.
Disabled DirectDraw's old XVidMode and DGA2 drivers, it now depends on the
display driver (x11drv) HAL implementations of these features.
2001-04-17 17:48:19 +00:00
Ove Kaaven 793bf04e24 Removed the obsolete DIBTexture surface class. 2001-04-17 17:36:44 +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 04b7b7a86d Fill in some DirectDrawPalette HAL fields. 2001-04-17 17:35:57 +00:00
Ove Kaaven 3b7d0928f0 Removed User_DirectDraw_GetCaps. Using Main_DirectDraw_GetCaps instead,
and the User constructor filling in the main capability bits.
2001-04-17 17:35:36 +00:00
Ove Kaaven c33e34cdcf Fill in some of the ddraw HAL fields.
Call the set_exclusive_mode callback when necessary.
Added a Main_DirectDraw_GetCaps method.
Removed references to obsolete DIBTexture surface class.
2001-04-17 17:34:48 +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
Ove Kaaven 365508512c Add version resource to ddraw.dll, versioned to DirectX 7.0. 2001-04-16 19:04:41 +00:00
Marcus Meissner a1d0bc3914 Actually print the guids in DllGetClassObject(). 2001-04-09 18:32:38 +00:00
Jeff Garzik 3ea0c073f8 Warning fixes. 2001-03-21 20:31:26 +00:00
Ove Kaaven 03dab82c3f Remove obsolete and misleading FIXME. 2001-03-21 03:37:10 +00:00
Andreas Mohr 5b7e1810a1 - correct DDRAW_Convert_DDDEVICEIDENTIFIER_2_To_1 confusion
- fix GetAvailableVidMem ddraw iface copy&paste bug (doh !)
2001-02-14 00:28:02 +00:00
Lionel Ulmer 7dd4c312a4 Allow an application to re-ask for EXCLUSIVE DirectDraw access. 2001-02-12 18:08:53 +00:00
Marcus Meissner c5d2f5efeb Handle differently sized structs by using their dwSize parameters. 2001-02-12 03:43:53 +00:00
Ove Kaaven c2fd62d0ba Fix DGA2 mode setting to use the correct color depth. 2001-02-12 01:20:04 +00:00
Marcus Meissner 9bed6988a4 dvideo.dll forgets to set the DDSD_CAPS flag, just assume it set.
Output more debug info on failure.
2001-01-29 00:31:50 +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
Josh DuBois 87a9ddaa9a Include 'options.h' for a needed prototype. 2001-01-22 19:24:20 +00:00
Marcus Meissner 50af4a381c Fixed an interface cast in DD2->DD7 thunk. 2001-01-15 20:20:50 +00:00
Alexandre Julliard 472d410c8b Added missing WIN_ReleaseWndPtr. 2001-01-13 01:01:35 +00:00
Gavriel State ba3c18df69 Warning fixes. 2001-01-12 23:18:22 +00:00
Alexandre Julliard 67d39034b9 No longer used. 2001-01-11 20:32:45 +00:00
Gavriel State 3f3e8d2957 Reenabled DXGrab option. 2001-01-10 23:55:56 +00:00
Gerald Pfeifer ab75b89a55 Fixed some incorrect format strings. 2001-01-09 21:50:01 +00:00
Marcus Meissner b904063b54 Removed one &, now CoCreateInstance() of ddraw objects works again. 2001-01-07 21:49:00 +00:00
Francois Gouget a1d23f5da6 Removed the 'fn' prefix (i.e. ICOM_FN). 2001-01-04 22:59:48 +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 34c9f9fb39 Check for NULL before doing IsEqualGUID(). 2000-12-16 20:17:22 +00:00
Marcus Meissner c9afc46efa If DirectDrawCreate gets passed a IDirectDraw{2,4,7} interface, get
this interface and do not use IDirectDraw.
2000-12-14 19:25:36 +00:00
Alexandre Julliard 5be8e7d8e0 Created a small static library in ole/libuuid.a that contains all the
UUID definitions (with the help of Francois Gouget).
2000-12-06 01:50:47 +00:00
Francois Gouget 99acd7dfa3 Use the DUMMYUNIONNAME macros so that the headers can be used in
Winelib.
2000-12-03 03:16:05 +00:00
Alexandre Julliard b2ed2528b4 Finished separation of ole32. 2000-11-30 20:29:30 +00:00
David Elliott ea186796eb Remove libXXXX.so.1.0 lines from .cvsignore files. 2000-11-30 19:57:34 +00:00
Dimitrie O. Paun 529da54394 Require {DECLARE,DEFAULT}_DEBUG_CHANNEL statements to end in a ; 2000-11-27 23:54:25 +00:00
Marcus Meissner e38b41911f Truncate dest blit rectangle down to surface size. 2000-11-27 23:06:36 +00:00
Dimitrie O. Paun 5298812be1 Make sure all files using config.h constants actually #include "config.h" 2000-11-26 04:04:21 +00:00
Francois Gouget f5cea729a6 We must include windef.h before wtypes.h (directly or indirectly). 2000-11-08 05:05:15 +00:00
Alexandre Julliard eb58e1d597 Declare debug channels in all dlls that need them; added imports of
ntdll where necessary.
2000-11-05 04:53:07 +00:00
Andreas Mohr bb84359c41 Avoid division by zero. 2000-11-04 02:55:08 +00:00
Alexandre Julliard 908464d448 Authors: Andreas Mohr <amohr@codeweavers.com>, Dimitrie O. Paun <dimi@cs.toronto.edu>, Patrik Stridvall <ps@leissner.se>
Various warning fixes.
2000-11-01 03:11:12 +00:00
William Waghorn 1e19fe323f xf86vmode_setdisplaymode() wasn't properly saving the 'private' field
of the XF86VidModeModeLine structure.
2000-10-25 21:27:16 +00:00
Patrik Stridvall 135dfd7576 Fixed some warnings. 2000-10-24 01:42:55 +00:00
Marcus Meissner aa10949064 Added some basic IDirectDraw7 interface support, fixed argument count
of IDirectDraw{4,7}_SetDisplayMode defines.
2000-10-23 00:36:45 +00:00
Marcus Meissner 5de0fa127c DirectDrawCreateEx() should already return the interface for the
passed refiid.
2000-10-22 23:47:09 +00:00
Lionel Ulmer c4134c741b Change the width / height parameter on a SetDisplayMode. 2000-10-22 23:46:48 +00:00
Lionel Ulmer cb4ff8c51e Warning fix. 2000-10-17 00:26:37 +00:00
Gerald Pfeifer 1841a2ac08 Remove unused variable orig_mode. 2000-10-15 00:30:16 +00:00
Marcus Meissner c429669791 Return "default" DirectDraw driver if we have at least one driver
registered.
2000-10-15 00:23:09 +00:00
Gerald Pfeifer df47d35e9d Fixed incorrect format string. 2000-10-13 23:08:13 +00:00
Lionel Ulmer 85f4a49c2d Support non-buffered overlays. 2000-10-12 23:09:40 +00:00
Marcus Meissner fad4593a74 Added 16 (565) -> 15 (555) bit depth converter. 2000-10-12 23:05:48 +00:00
Lionel Ulmer a9d3fab147 Implememnted GetFourCCCodes. 2000-10-12 20:50:45 +00:00
Marcus Meissner f71c962872 Enable XF86vmode switching possible for X11 too. 2000-10-12 20:47:42 +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 48455b369a Upgrade also 15bpp to 16bpp surfaces. 2000-09-13 00:00:26 +00:00
Andreas Mohr 20cd9356a8 - fixes debugger output
- get rid of wrong comments
- fix comments
- .spec spelling fix
- improve warning message
2000-09-12 23:40:40 +00:00
Lionel Ulmer 5e14b07961 Fixed DGA / DGA 2 palette creation. 2000-09-12 23:35:17 +00:00
Lionel Ulmer 109066bb8e Do not support DGA when DirectVideo not present. 2000-09-09 19:40:08 +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
Lionel Ulmer 6cd85a5816 Fixed the displaying of the FOURCC codes in _dump_pixelformat. 2000-08-25 21:34:09 +00:00
Lionel Ulmer e34191fc6d Change pixel format for 24 BPP surfaces when the DDraw BPP is 32. 2000-08-25 21:31:15 +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
Alexandre Julliard 5ab9d860f2 Removed some unnecessary #includes and dll dependencies. 2000-08-09 22:35:05 +00:00
Alexandre Julliard a007f3364a Moved a few non-standard headers into their respective dlls. 2000-08-09 00:54:58 +00:00
Marcus Meissner 9bc9f5e6df If we are looking for an existing pixmap format, we do not need the
same bitsperpixel (fixes depth 15/bitspixel 16 mode).
2000-08-07 17:09:37 +00:00
Alexandre Julliard bea617be47 Moved GUID definitions to their respective dll. 2000-08-03 04:22:35 +00:00
Marcus Meissner 28816705c6 One of the 24/32 convert color masks was wrong. 2000-08-03 00:22:59 +00:00
Alexandre Julliard 6c9d83aa4c Added imports of user32/gdi32/kernel32 wherever necessary. 2000-08-03 00:04:24 +00:00
Alexandre Julliard 646c562f9c Cleaned up some more USER dependencies. 2000-07-31 23:32:47 +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
Eric Pouech 67247b2b1d Compilation fixes for OpenGL. 2000-07-23 19:27:21 +00:00
Lionel Ulmer 1434d875ea Detect broken glext.h headers. 2000-07-23 14:23:31 +00:00
Ove Kaaven fddc3e15d8 Added a few C++ operators to Direct3D structures, and made some unions
'nameless'.
2000-07-23 14:19:19 +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 14a842761d Corrected 24->32 conversion. Still only correct for little endian. 2000-07-08 18:28:57 +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
Gerald Pfeifer 67263a3ec8 Properly cast arguments to printf to match the intended output. 2000-06-25 12:50:31 +00:00
Marcus Meissner 05fce2cf62 Create xlib ddsurfaces with correct reference counts. 2000-06-24 12:50:08 +00:00
Peter Ganten 3020d1b0be _common_depth_to_pixelformat() returns -1 and not zero, if a mode is
supported.
2000-06-23 16:54:23 +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
Patrik Stridvall 4710be20fe Fixed some warnings. 2000-06-23 15:47:14 +00:00
Alexandre Julliard 6953d6756c For dlls, derive SPEC_SRCS from MODULE and ALTNAMES. 2000-06-20 20:24:14 +00:00
Marcus Meissner 9c51c96c6d Added 24->32 packed pixel mapping support to convert.
Slightly rewrote the conversion initialisation.
2000-06-13 01:06:53 +00:00
Lionel Ulmer 2babd685a4 replaced a DPRINTF by a TRACE 2000-06-12 21:54:00 +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
Andreas Mohr 2e011a5243 Lots of spelling fixes that accumulated in my tree again, made several
error msgs more verbose, doc updates.
2000-06-01 23:28:25 +00:00
Lionel Ulmer 0761f537ee Install the colormap only if it was created. 2000-05-30 20:05:05 +00:00
Patrik Stridvall 17d1e9e5e2 Fixed issues found by winapi_check. 2000-05-23 23:38:32 +00:00
Ove Kaaven 76ba037559 Made WINE_DirectDraw a decorationless popup window. Fixes mouse
coordinates previously offset by the invisible decorations.
2000-05-23 21:13:33 +00:00
Lionel Ulmer 75f98cfc4c Remove the PRIMARYSURFACE attribute from back buffers. 2000-05-23 04:03:48 +00:00
Lionel Ulmer 79457d818c Initialize the back-buffer with the correct VTable. 2000-05-23 01:21:47 +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 9d0abdbcca Initialize an identity mapping in CreatePalette if no depth conversion
is necessary. Also fixed a warning.
2000-05-18 00:03:36 +00:00
Ove Kaaven d8ba1268b4 Use unsigned int instead of unsigned short in DirectDraw
depth-conversion color map.
2000-05-15 02:34:41 +00:00
Ove Kaaven 270c9fb109 Improved DIBSection support for IDirectDrawSurface::GetDC. 2000-05-14 22:53:51 +00:00
Peter Hunnisett 8c735b9bdb - Added ability to create 3D3 interfaces for Xlib
- Changed DD_OK to D3D_OK in some places for consistency
- Cleaned up some compiler warnings present without DGA2
- Changed order for DirectDrawEnumerateExA to enumerate at least
  what abilities are known rather than bailing on unsupported flags
- Added DirectDrawCreateEx stub
2000-05-13 01:28:49 +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
Alexandre Julliard 1ca9be85f6 Added DECL_GLOBAL_CONSTRUCTOR macro. 2000-05-01 20:25:13 +00:00
Lionel Ulmer 51177f96ba Added DGA2 driver to DirectDraw. 2000-05-01 14:25:49 +00:00
Lionel Ulmer 00d5d77ddc - added thread-safety protection to XListPixmapFormats
- moved pixmap / image format matching ERRs to WARNs
2000-04-29 17:16:53 +00:00
Patrik Stridvall 2941a2126c Compile fix for --without-x. 2000-04-25 20:34:22 +00:00
Marcus Meissner dfee49e3ed Also check for empty GUID in DirectDrawCreate. 2000-04-23 19:53:46 +00:00
Alexandre Julliard 84eb8334da Added some missing import directives. 2000-04-19 16:54:02 +00:00
Patrik Stridvall f0deb8a17e Fixed some issues reported by winapi_check. 2000-04-15 20:44:21 +00:00
Marcus Meissner 35870f95a0 Detypoed X11DRV_EVENT_SetInputMethod. 2000-04-14 14:09:50 +00:00
Francois Gouget aef6b47917 Changed the placement of WINE_UNUSED to make gcc 2.7.2 happy. 2000-04-14 14:06: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 3873f44505 Use d3dexecutebuffer_create only when compiling with MESA. 2000-04-10 13:45:17 +00:00
Marcus Meissner 01cfbaf46e Two left over HeapValidate assertions removed. 2000-04-09 18:39:52 +00:00
Alexandre Julliard c53ceba478 Improved support for Makefiles that need to recurse in subdirectories. 2000-04-09 18:19:59 +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
Alexandre Julliard 9383eb94a7 A few simplifications and optimizations in the x11 driver. 2000-03-25 14:05:06 +00:00
Alexandre Julliard 77d5ebbb37 Link ttydrv and x11drv objects into their respective dll. 2000-03-25 14:03:50 +00:00
Patrik Stridvall fcfacb95a7 Added/fixed some documentation reported by winapi_check. 2000-03-24 20:46:04 +00:00
Alexandre Julliard fe08568a0d Moved command-line option handling out of the X11 driver.
Added support for "--" prefix on options.
Replaced a few X11 command-line options by wine.conf parameters.
2000-03-18 21:56:10 +00:00
Alexandre Julliard ddce652cae Made ddraw and dinput separate dlls. 2000-03-17 16:58:10 +00:00