Commit Graph

337 Commits

Author SHA1 Message Date
Lionel Ulmer 2b87b23321 Implemented GetRenderTarget. 2002-11-30 02:20:31 +00:00
Lionel Ulmer 9e94cece22 Added enumeration of ZBuffer format. 2002-11-30 02:20:11 +00:00
Lionel Ulmer 5cb15cda5e Do not forget to AddRef the returned Direct3D interface. 2002-11-30 01:53:44 +00:00
Lionel Ulmer da0b4dc74e - fix caps filling to be more in line with what we support
- optimize a little bit the DrawPrimitive function
2002-11-30 01:49:08 +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 710b86e43e - add implementation for FindDevice function
- some miscellaneous clean-ups / additions
2002-11-24 22:33:41 +00:00
Christian Costa 774c5f77db Reenable OpenGL surface's flip method.
Reenable execute buffers.
Some bug fixes.
2002-11-24 22:14:40 +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 56ab2b3e91 Load OpenGL library dynamically from x11drv. 2002-11-15 04:16:38 +00:00
Lionel Ulmer b103f7b679 Proper logging of DDSCAPS / DDSCAPS2 structures. 2002-11-11 22:23:10 +00:00
Marko Kreen 971f3f3518 Clip bottom coordinates. 2002-11-11 20:26:33 +00:00
Matthew Bloch c9df52c381 Vtable fixes. 2002-11-06 19:53:45 +00:00
Alexandre Julliard 1e1313d54c Made the dll entry point default to DllMain and removed most of the
'init' spec file declarations.
2002-11-04 23:53:41 +00:00
Lionel Ulmer 52b93b6ae4 Additional exported capabilities to please some picky games. 2002-11-04 22:34:25 +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
Lionel Ulmer f18aec26c4 Augment the DDSCAPS2 dumping routine with new caps. 2002-11-04 22:33:53 +00:00
Lionel Ulmer 0595c0ca07 Add 3D support at the User driver level. 2002-10-19 17:16:00 +00:00
Alexandre Julliard b34fb35b31 Fixed warnings caused by conversion to -DSTRICT. 2002-10-18 23:48:57 +00:00
Christian Costa b47c14aef9 Implement OpenGL overriding of surface's flip method.
Remove broken code.
2002-10-17 01:20:52 +00:00
Christian Costa b44822a4a2 Associate texture to the device when GetHandle is called and perform
the appropriate AddRef/Release.
Fix 3_3_2 pixel format.
Move some ENTER_GL() calls to the right place.
Fix some FIXME/TRACE calls.
2002-10-16 18:57:52 +00:00
Christian Costa fe6c281b58 Initialize the DDCAPS structure of the DDRAW object at creation. 2002-10-10 23:27:49 +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
Alexandre Julliard e969027104 Fixed warnings. 2002-10-02 01:34:17 +00:00
Alexandre Julliard 137eed8d9b Moved X flags and libraries out of Make.rules into the makefiles that
need them.
2002-10-01 18:16:19 +00:00
Christian Costa 8534e08a02 Implement SwapTextureHandles method. 2002-09-30 18:52:06 +00:00
Alexandre Julliard a56a16ee73 Added check for OpenGL. 2002-09-29 18:05:32 +00:00
Christian Costa 92810b90c1 execute: Activate the viewport passed as parameter when executing
buffer.
2002-09-29 18:01:13 +00:00
Christian Costa c3fa405ab7 Implement IDirect3DViewport2_DeleteLight. 2002-09-29 18:00:43 +00:00
Christian Costa 48d8ff42e1 Remove wrong and useless transformation of z projected coordinates.
Add normals world transformation.
2002-09-27 22:01:28 +00:00
Christian Costa 427b333391 Fix devices creation broken code. Now, the display and the drawable
are retrieve through GDI escape sequences and stored in the private
data. Add desallocation of the device private data.
2002-09-27 22:01:12 +00:00
Christian Costa 58e8807a71 Added desallocation of the viewport private data. 2002-09-26 03:20:35 +00:00
Christian Costa 30633659b8 Added allocation/desallocation of the light private data. 2002-09-26 03:20:23 +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
Christian Costa 80be53efee Added support for POINT, WIREFRAME and SOLID fill modes. 2002-09-25 03:18:38 +00:00
Christian Costa 3bfa1fb384 IDirect3DTexture2Impl_Load: when the surface is not allocated and no
location are specified, set it to video memory.
2002-09-25 03:18:17 +00:00
Alexandre Julliard 2c40e29987 Import wine_tsx11_lock/unlock directly from x11drv in opengl32 and
ddraw, so that they don't need to link with libwine_tsx11.
Removed header wine_gl.h.
2002-09-25 00:29:56 +00:00
Alexandre Julliard cea2e825b2 Link all remaining dlls except kernel32 as separated dlls, by
temporarily exporting the few functions that are not properly
separated yet.
2002-09-06 18:51:31 +00:00
Patrik Stridvall d016f819f1 Added include protection for unistd.h and sys/time.h. 2002-08-17 00:43:16 +00:00
Gregg Mattinson 8c9bdcc9e1 Fixes for Sparc build. 2002-08-07 01:18:41 +00:00
Christian Costa afe785c4d5 Initialize the DDCAPS structure of the DDRAW object at creation. 2002-08-06 23:49:46 +00:00
Lionel Ulmer 00b088bc25 Support negative values in RECTs during Blts. 2002-08-03 19:11:55 +00:00
Lionel Ulmer 262cbcdb09 Be less strict on parameter checking in the SetSurfaceDesc function. 2002-08-02 19:10:16 +00:00
Michael Karcher 4ae5380cbb Set the correct length of the struct DDSURFACEDESC. 2002-07-22 20:37:01 +00:00
Ove Kaaven 1af798920c Wait for the asynchronous update thread to complete if the app
requests it. Fixed blit offseting issues in windowed mode.
2002-07-20 20:01:57 +00:00
Gregg Mattinson 8a191ff5b8 Avoid structures or arrays of size 0. 2002-07-19 03:18:05 +00:00
Tony Lambregts 2c5a41b027 Added support DDBLT_DDFX flag in DirectDrawSurface_Blt. 2002-07-16 01:42:47 +00:00
Lionel Ulmer b6051dec93 - DDRAW_SYSTEMMEMORY is handled like OFFSCREENPLAIN for now
- added more logging
2002-07-16 01:16:14 +00:00
Alexandre Julliard a80a814234 Fixed corruption when copying to the same surface (with the help of
Tony Lambregts and Lionel Ulmer).
2002-07-10 23:10:54 +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
Ove Kaaven ea20614e39 Handle WM_SYNCPAINT with DefWindowProc. 2002-07-10 03:04:58 +00:00
Gregg Mattinson bac71315d2 Removed non-static structure initializers. 2002-07-03 21:06:58 +00:00
Gregg Mattinson 2e38a17021 Void functions can't return a value, even if it is the return value
from another void function.
2002-07-03 01:20:07 +00:00
Jukka Heinonen 9859606ec8 Disable OWN_WINDOW as it no longer works. 2002-06-28 23:26:57 +00:00
Tony Lambregts fede234ed0 Added support for DDBLT_KEYSRCOVERRIDE/DDBLT_KEYDESTOVERRIDE. 2002-06-28 17:32:25 +00:00
Alexandre Julliard 77afd6c47e Made some more spec file entries optional or unnecessary.
Fixed a few DLLName/DLLFileName mismatches.
2002-06-21 19:15:45 +00:00
Dmitry Timoshkov bf2c7efaa2 Fixed version info. 2002-06-13 23:49:01 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Vincent Béron 6a5ba8fba2 Fixed some more missing \n in traces. 2002-05-29 19:09:54 +00:00
Alexandre Julliard 261e28a775 Removed some unnecessary imports. 2002-05-23 02:46:10 +00:00
Alexandre Julliard 2ab7625934 Removed most imports of ntdll since we no longer import Wine internal
functions from there.
2002-05-17 03:37:12 +00:00
Alexandre Julliard ad53383f9b Added winebuild support for generating a .dbg.c file containing the
debug channels definitions.
Made win32 the default type for spec files.
Ignore C compiler in winebuild so we can simply pass it $(DEFS).
Removed type win32 and debug_channels from spec files.
Fixed winebuild to always generate correct C identifiers (reported by
Vincent Béron).
2002-05-14 20:54:58 +00:00
Alexandre Julliard 67371bcc8d Added -res option to specify resources on winebuild command-line.
Added -exe mode to generate a .spec.c for an exe without having to
provide a .spec.
Removed some no longer needed spec files.
Removed .dll extension in makefiles import specifications.
2002-05-11 23:06:32 +00:00
Alexandre Julliard 32459912dc Moved imports specification from the .spec into the Makefile so that
it can be used on platforms that don't build a .spec.c file.
2002-05-09 00:05:48 +00:00
Alexandre Julliard 5769d1de00 Better support for configure detection of missing types, added check
for ssize_t.
Removed a couple of no longer used portability functions.
Various portability fixes in port.h.
2002-04-26 19:05:15 +00:00
Alexandre Julliard 85cacd8fe9 Removed call to DIB_GetDIBWidthBytes. 2002-03-28 22:25:02 +00:00
Alexandre Julliard c1bfca04e1 Changed builtin dlls file names to make it clear they are not normal
Unix libraries, and install them in $libdir/wine instead of $libdir to
avoid name conflicts in /usr/lib.
2002-03-20 22:19:06 +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
Lionel Ulmer e88edac600 Fix crash in the X11 HAL when setting a NULL palette to a surface. 2002-02-26 00:36:21 +00:00
Patrik Stridvall 57e5784c21 Move __stdcall/__cdecl to the right place. 2002-02-02 18:42:11 +00:00
Patrik Stridvall 74e4d21ebe Avoid wildcards in .cvsignore. 2002-01-29 03:05:12 +00:00
Francois Gouget 5f30ee0651 Comment out/ifdef out unused code and variables. 2002-01-21 23:37:53 +00:00
Alexandre Julliard 193cf50a09 Removed some of the calls to HEAP_strdup* functions. 2002-01-01 00:24:30 +00:00
Andreas Mohr a69c039c80 Documentation update. 2001-12-26 20:40:47 +00:00
François Gouget 1425941e29 Fix the #include order for config.h.
Add #include "config.h" directives where needed.
2001-11-06 20:57:11 +00:00
Jukka Heinonen 2547121843 When a surface becomes primary surface, mark the whole surface damaged. 2001-10-17 17:45:53 +00:00
Francois Gouget e5ddd26dd7 When including config.h, include it first. 2001-10-14 16:18:52 +00:00
Marcus Meissner 34cf5e8463 Return the FOURCC codes set by the HAL driver. 2001-09-14 00:11:52 +00:00
Patrik Stridvall 3c0211f969 Cleanup code that is strange or difficult to parse. 2001-09-11 00:32:32 +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
Jörg Mayer e5b5af9d66 Fixed a few signed/unsigned and "unsigned < 0 always true" warnings. 2001-08-10 22:49:35 +00:00
Alexandre Julliard e994d5036e Added Interlocked*Pointer functions.
Fixed InterlockedCompareExchange prototype.
2001-08-09 21:21:13 +00:00
Alexandre Julliard 502d83b1d2 Fixed a few problems with DCX_* flags handling. 2001-07-31 00:14:06 +00:00
Alexandre Julliard 4c5b35d6e9 Removed unused DC_FUNCS pointers. 2001-07-28 00:09:07 +00:00
Alexandre Julliard 9dd5b16382 Added missing ntdll imports. 2001-07-27 19:49:49 +00:00
Alexandre Julliard e9dd63ef16 Removed import of x11drv from ddraw. 2001-07-26 21:48:17 +00:00
Alexandre Julliard 1922c72b8a Removed unnecessary inclusion of heap.h. 2001-07-25 00:43:29 +00:00
Alexandre Julliard f899ef07a6 Removed some unnecessary includes. 2001-07-23 00:04:00 +00:00
Alexandre Julliard 6ac3937630 Commented out references to x11drv internals from MESA code. 2001-07-22 23:42:09 +00:00
Dmitry Timoshkov 822429ad55 Fix out of the source tree build (again). 2001-07-19 19:09:33 +00:00
Patrik Stridvall 33929be46f - Made sure that the files that contains the declarations
of implementated functions are included.
- Corrected mismatching prototypes.
- Cleaned up the include section.
2001-07-18 21:04:23 +00:00
Lionel Ulmer aeb92b1ca3 - removed unused OSMesa linking
- removed OSMesa code
2001-07-12 02:46:23 +00:00
Marcus Meissner 6e24312af5 Make (G|S)etClipList not abort, but return DDERR_NOCLIPLIST.
Do not scroll FIXME()s too much.
2001-07-10 19:03:15 +00:00
Patrik Stridvall 3ca9823941 Documentation ordinal fixes. 2001-06-20 23:03:14 +00:00
Patrik Stridvall 8b216b3d02 Documentation ordinal fixes. 2001-06-19 18:20:47 +00:00
Patrik Stridvall d9b9c4c496 Documentation ordinal fixes (using winapi_fixup). 2001-06-11 20:14:43 +00:00
Jason McMullan 238b1de12b More accurate stub of DDRAW:GetFourCCCodes. 2001-05-31 21:31:04 +00:00
Alexandre Julliard c559735bf8 Renamed display to gdi_display where it is used for GDI operations, to
allow supporting multiple X connections.
2001-05-11 00:17:47 +00:00
Francois Gouget e76218dd61 Add '\n' at the end of traces. 2001-05-09 17:31:31 +00:00
Francois Gouget 485cefd02d DDRAW_{XF86DGA2,XVidMode}_Init was moved to dlls/x11drv. 2001-04-27 18:00:33 +00:00
Alexandre Julliard 56a45b2049 Small cleanups. 2001-04-24 23:17:53 +00:00
Alexandre Julliard b735928ba1 Removed a few obsolete files. 2001-04-18 17:41:07 +00:00
Ove Kaaven c14bed35f6 Fix DGA so it works properly again. 2001-04-18 17:40:43 +00:00
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