Commit Graph

155 Commits

Author SHA1 Message Date
Andrew Nguyen bab8f7e557 ddraw: Implement and test DirectDrawEnumerateW. 2009-10-09 11:50:14 +02:00
Andrew Nguyen 4c61c2ff63 ddraw: Simplify and test DirectDrawEnumerateA. 2009-10-09 11:40:16 +02:00
Henri Verbeet a5214c306f wined3d: Don't free D3D surfaces until the wined3d surface is destroyed.
This prevents for example a d3d9 depth stencil from being destroyed when it
has no external references but is still in use by the device/stateblock. A
nice side effect is that it simplifies handling of "implicit" surfaces like
the frontbuffer and backbuffers, as well as the forwarding of reference counts
for surfaces that are part of a texture.
2009-09-16 13:04:32 -05:00
Henri Verbeet 9b5f3ed8f3 ddraw: Rename the main vtables to lpVtbl. 2009-01-22 15:28:22 +01:00
Henri Verbeet 802f9c7e29 ddraw: Get rid of ICOM_OBJECT. 2009-01-22 12:05:07 +01:00
Henri Verbeet 8c4cc2af46 ddraw: Get rid of ICOM_THIS_FROM. 2009-01-22 12:05:03 +01:00
Henri Verbeet 9a0c885e63 ddraw: Get rid of ICOM_INTERFACE. 2009-01-21 11:17:25 +01:00
Henri Verbeet ad171b143f ddraw: Get rid of ICOM_INIT_INTERFACE. 2009-01-21 11:16:51 +01:00
Henri Verbeet a966293f59 wined3d: Add an IWineD3DDeviceParent interface.
Other than being a bit nicer than passing function pointers all over the
place, this helps dxgi/d3d10. While the swapchain itself is created in dxgi,
its surfaces are constructed in d3d10core, which makes it impractical for dxgi
to pass the appropriate function pointers.
2009-01-16 13:29:32 +01:00
Michael Stefaniuc 5ee7a104c9 ddraw: Remove superfluous pointer casts. 2009-01-14 12:21:02 +01:00
Michael Stefaniuc 176c8eb333 ddraw: Remove two superfluous casts. 2008-12-05 12:36:34 +01:00
Henri Verbeet 7142754820 wined3d: Remove the SDKVersion parameter to WineDirect3DCreate(). 2008-10-24 14:24:59 +02:00
Henri Verbeet 99a50b5396 ddraw: Make sure pWineDirect3DCreate and pWineDirect3DCreateClipper match the header. 2008-10-24 14:24:59 +02:00
Alexandre Julliard e1ced22db1 ddraw: Convert source files to utf-8. 2008-10-18 19:19:45 +02:00
Stefan Dösinger a47e7badb9 ddraw: Set ddraw caps in wined3d.
Currently the ddraw capabilities were almost static, except of D3D
support. When overlay support is added, the caps depend on certain
settings in WineD3D or capabilities available from OpenGL and Xv. So
set those caps in wined3d as well.
2008-08-04 13:10:11 +02:00
Michael Karcher 606186d4c5 ddraw: Ensure to load wined3d before attempting to create a clipper. 2008-06-23 14:11:58 +02:00
Austin English f4c4488df8 Spelling fixes. 2008-04-07 13:36:17 +02:00
Austin English 825baa23a2 ddraw: Spelling fixes. 2008-04-03 11:39:45 +02:00
Denver Gingerich 248ae8f112 ddraw: Implement ForceRefreshRate registry entry for overriding DirectX refresh rate. 2008-03-11 15:30:37 +01:00
Francois Gouget 5b375aec71 ddraw: Better match the PSDK types and fix the winapi_check warnings. 2007-08-08 15:32:03 +02:00
Stefan Dösinger 430239b470 ddraw: Some d3d-only code fixes.
Vertex declarations are a d3d feature, thus they should be destroyed
before d3d is shut down in wined3d. The surface type should be reset
afterwards to prevent avoid gl surface afterwards and before a new
render target is created.
2007-07-24 13:40:29 +02:00
Stefan Dösinger bfe631dfb9 ddraw: Hold the lock in creation functions. 2007-05-21 19:11:34 +02:00
Stefan Dösinger 5307dd2029 ddraw: Make the ddraw list lock a global dll lock. 2007-05-21 19:11:22 +02:00
Stefan Dösinger d93e161b1f d3d: Move clippers from DDraw to wined3d. 2007-05-08 18:27:44 +02:00
Andrew Talbot 0629946e65 ddraw: Exclude unused headers. 2007-05-01 11:42:24 +02:00
Stefan Dösinger 9e3e799ca3 ddraw: Complex surfaces form a tree. 2007-04-30 12:22:06 +02:00
Stefan Dösinger 0386eed91f ddraw: Get rid of FVFs.
Remove all IWineD3DDevice::SetFVF calls and instead create converted
vertex declarations and use them. The idea is to remove the FVF paths
from wined3d to simplify the code, and optimize the vertex declaration
codepath.
2007-04-26 14:54:17 +02:00
Andrew Talbot e4253fd8b9 ddraw: Constify some variables. 2007-04-23 14:42:06 +02:00
Andrew Talbot 4eb936db33 ddraw: Replace inline static with static inline. 2007-03-20 13:00:45 +01:00
Alexandre Julliard 656fc93815 Use GetDC instead of CreateDC where possible. 2007-01-02 17:16:36 +01:00
Ulrich Czekalla 325f666fc5 ddraw: IDirectDraw3 should use its own ref count variable. 2006-12-16 17:01:52 +01:00
Ulrich Czekalla f26cb44c73 ddraw: Initialize the IDirectDraw3 vtable. 2006-12-16 17:01:46 +01:00
Stefan Dösinger 2e5628df3f ddraw: Make the surface list a standard wine list. 2006-10-16 12:06:43 +02:00
H. Verbeet 2465fcb368 ddraw: Win64 printf format warning fixes. 2006-10-11 12:08:28 +02:00
Stefan Dösinger 4ff712c938 ddraw: Remove the process counter. 2006-10-09 20:38:37 +02:00
Stefan Dösinger 3543a070ff ddraw: Protect the ddraw list. 2006-10-09 20:38:27 +02:00
Stefan Dösinger 09e794aff8 ddraw: Make the ddraw list a wine list. 2006-10-09 20:38:15 +02:00
Francois Gouget 82babbee0b Add missing '\n's to Wine traces. 2006-10-05 17:46:48 +02:00
Mike McCormack a8ae03f2d8 ddraw: Make tests pass when OpenGL libraries aren't present. 2006-09-07 10:22:02 +02:00
Andrew Talbot 04a0f74b63 ddraw: Write-strings warnings fix. 2006-08-23 16:53:55 +02:00
Dmitry Timoshkov c7ae07adf4 ddraw: Do not report DDCAPS_OVERLAY and friends since overlays are not supported. 2006-08-15 19:24:19 +02:00
Michael Stefaniuc 757ee19ca1 janitorial: Removed the rest of the redundant NULL checks before HeapFree. 2006-08-10 10:57:33 +02:00
Mike McCormack d99c7d5939 ddraw: Don't link to wined3d, load it at runtime.
This lets ddraw dlls built on a machine with OpenGL present run on other 
machines that may not have the OpenGL libraries installed.
2006-08-03 18:20:31 +02:00
Stefan Dösinger 0a81295782 ddraw: Split up the ddraw refcount. 2006-07-11 17:10:17 +02:00
Francois Gouget 9bfbfcbeb4 Assorted spelling, case and grammar fixes. 2006-06-26 13:06:11 +02:00
Alexandre Julliard 7f8c29a407 ddraw: Make some functions static. 2006-06-15 17:14:37 +02:00
Stefan Dösinger c8901d6f62 ddraw: Rewrite most of ddraw using WineD3D. 2006-06-15 16:51:16 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Alexandre Julliard 8b3e426821 ddraw: Call DDRAW_ChooseDefaultDriver only on PROCESS_ATTACH. 2006-03-21 15:06:36 +01:00
Alexandre Julliard ae964ac801 Take advantage of the __EXCEPT_PAGE_FAULT macro. 2005-12-16 17:17:57 +01:00
Rein Klazes 72caaad6cc ddraw: Catch access violations when calling DirectDrawEnumerateProc. 2005-12-05 20:40:42 +01:00
Alexandre Julliard d37f0abf07 Don't prefix the functions DllCanUnloadNow, DllGetClassObject and
Dll(Un)RegisterServer with the dll name so that the compiler can check
the prototypes.
2005-08-08 17:35:28 +00:00
Francois Gouget 65f2082108 Add missing WINAPI to MSXML_DllGetClassObject().
Standardize the DllGetClassObject() prototypes so they match the MSDN
definition.
2005-08-08 15:04:53 +00:00
Mike McCormack 2d7ea23868 Interlocked LONG* gcc warning fixes. 2005-07-11 13:21:17 +00:00
Christian Costa 69c3e6ff11 Moved d3ddevice and direct3d objects files to ddraw root dir.
Renamed all remaining files.
2005-06-06 15:51:50 +00:00
Dmitry Timoshkov 4625628e67 Make some of the OLE interface vtables const. 2005-05-27 20:17:35 +00:00
Alexandre Julliard c3116c5e61 Renamed ttydrv and x11drv to winetty.drv and winex11.drv respectively
to follow the namespace conventions and make it clear that they are
drivers and not dlls.
Moved the graphics driver configuration to HKLM\Software\Wine\Drivers.
2005-05-06 19:38:50 +00:00
Paul Vriens 202b340a51 - use Interlocked* functions in AddRef and Release.
- store the result of the Interlocked functions and use only this.
2005-01-09 17:29:21 +00:00
Francois Gouget 486d020c1b Don't define COBJMACROS in objbase.h.
Update the Wine sources accordingly.
2004-10-07 03:06:48 +00:00
Huw Davies e8d89cd0f5 Fix a reference leak on failure (spotted by Rob Shearman).
Move some code over to the Interlocked* functions.
2004-09-28 19:19:27 +00:00
Alexandre Julliard f5f7a1822c Removed some more uses of the non-standard ICOM_THIS macro. 2004-09-08 01:50:37 +00:00
James Hawkins fae181b099 Added API documentation for DirectDrawEnumerateEx. 2004-08-30 18:37:17 +00:00
Alexandre Julliard f714b39762 Get rid of the no longer used ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
macro.
2004-08-23 19:39:48 +00:00
Alexandre Julliard 48c4bb3c31 Get rid of the non-standard ICOM_VTABLE macro. 2004-08-12 23:00:51 +00:00
Christian Costa eac96b5606 Added native and emulated S3TC support. 2004-07-30 18:54:32 +00:00
Alexandre Julliard bb133bd596 Fixed a couple of header files ordering issues. 2004-04-07 03:59:41 +00:00
Patrik Stridvall ede82e3055 Fixed some issues found by winapi_check. 2004-02-20 20:19:23 +00:00
Daniel Marmier 0348649853 Fixed warnings with gcc option "-Wwrite-strings". 2003-10-06 21:03:32 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Alexandre Julliard 864ca06832 winnls.h must not include winbase.h. 2003-08-20 18:22:31 +00:00
Lionel Ulmer 4d8d0f03ca Added support for multi-texturing. 2003-08-18 19:55:11 +00:00
Lionel Ulmer d1291ba19a Better caps support (ie more in line with what GL reports). 2003-07-28 19:05:49 +00:00
Dmitry Timoshkov 4e1ef0c114 For all DLLs with defined DllMain and which do not require
DLL_THREAD_ATTACH/DLL_THREAD_DETACH notifications, call
DisableThreadLibraryCalls() in order to slightly improve performance
on thread creation/exiting.
2003-06-30 20:53:48 +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
Tony Lambregts 2e24a148bf Replace DPRINTF with TRACE. 2003-03-15 00:12:42 +00:00
Lionel Ulmer f85759bcc9 Update the 'DIRECTDRAW7' flag according to the interface initialized. 2003-01-13 18:30:47 +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
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
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
Alexandre Julliard 193cf50a09 Removed some of the calls to HEAP_strdup* functions. 2002-01-01 00:24:30 +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
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
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
Marcus Meissner a1d0bc3914 Actually print the guids in DllGetClassObject(). 2001-04-09 18:32:38 +00:00
Gavriel State ba3c18df69 Warning fixes. 2001-01-12 23:18:22 +00:00
Marcus Meissner b904063b54 Removed one &, now CoCreateInstance() of ddraw objects works again. 2001-01-07 21:49:00 +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 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
Marcus Meissner 5de0fa127c DirectDrawCreateEx() should already return the interface for the
passed refiid.
2000-10-22 23:47:09 +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
Alexandre Julliard 5ab9d860f2 Removed some unnecessary #includes and dll dependencies. 2000-08-09 22:35:05 +00:00
Alexandre Julliard bea617be47 Moved GUID definitions to their respective dll. 2000-08-03 04:22:35 +00:00
Alexandre Julliard 646c562f9c Cleaned up some more USER dependencies. 2000-07-31 23:32:47 +00:00
Marcus Meissner bfae5c8382 IDirectDraw,IDirectDraw2,IDirectDraw4 fixed up in regard to COM usage. 2000-07-23 13:39:52 +00:00
Patrik Stridvall 17d1e9e5e2 Fixed issues found by winapi_check. 2000-05-23 23:38:32 +00:00