Commit Graph

178 Commits

Author SHA1 Message Date
Ričardas Barkauskas c7e5e6d2b5 ddraw: Use ddraw_surface_release_iface to destroy leftover surfaces. 2011-06-28 11:57:50 -05:00
Ričardas Barkauskas f0634f7a4b ddraw: Separate IDirectDrawSurface3 reference count. 2011-06-21 17:11:53 +02:00
Ričardas Barkauskas 167ffc7b4b ddraw: Separate IDirectDrawSurface2 reference count. 2011-06-21 17:10:55 +02:00
Ričardas Barkauskas 93dfe5afc3 ddraw: Use impl_from_IDirectDrawSurface7() instead of casts. 2011-06-06 21:49:23 +02:00
Henri Verbeet 8872239088 ddraw: Link directly to wined3d. 2011-01-28 11:59:02 +01:00
Michael Stefaniuc 68d5d33e5e ddraw: COM cleanup for the IClassFactory iface. 2011-01-24 14:43:23 +01:00
Michael Stefaniuc 9745108096 ddraw: COM cleanup for the IDirectDraw7 iface. 2011-01-19 12:32:06 +01:00
Michael Stefaniuc cd8c18e83c ddraw: COM cleanup for the IDirectDraw4 iface. 2011-01-19 12:32:00 +01:00
Michael Stefaniuc 30a07d8371 ddraw: COM cleanup for the IDirectDraw3 iface. 2011-01-19 12:31:54 +01:00
Michael Stefaniuc 4202f09100 ddraw: COM cleanup for the IDirectDraw2 iface. 2011-01-19 12:31:45 +01:00
Michael Stefaniuc a59347fcd2 ddraw: COM cleanup for the IDirectDraw iface. 2011-01-19 12:31:12 +01:00
Alexandre Julliard 4da54d93e1 ddraw: Convert dll registration to the IRegistrar mechanism. 2010-12-07 12:54:12 +01:00
Henri Verbeet b1a385db11 ddraw: Remove some stray tabs. 2010-09-08 13:32:00 +02:00
Henri Verbeet 20a42b4c98 ddraw: Add / improve TRACEs. 2010-08-20 13:21:24 +02:00
Henri Verbeet c87fd4a65c ddraw: Add a separate function for ddraw initialization. 2010-08-20 13:21:23 +02:00
Henri Verbeet c5a14085d4 ddraw: Remove unused / redundant includes. 2010-08-19 11:17:41 +02:00
Henri Verbeet 0cb4de4542 ddraw: Use a less offensive handle table implementation for materials. 2010-07-29 17:33:35 +02:00
Henri Verbeet e4a4065bbd ddraw: Register / unregister the ddraw window class from DllMain().
This avoids failing in DDRAW_Create() if a previous IDirectDrawImpl object
with the same pointer value was imporperly cleaned up. The improper cleanup is
of course the larger problem, but I don't believe that can be fixed without
making more invasive changes to ddraw.
2010-06-18 15:22:22 +02:00
Michael Stefaniuc 989e98202f ddraw: Remove redundant "not NULL" check of This (coccicheck). 2010-05-18 18:42:07 +02:00
Michael Stefaniuc a0789f611d ddraw: Simplify DllCanUnloadNow(). 2010-01-14 09:03:58 -06:00
Stefan Dösinger 64367542d0 ddraw: Make directdraw create functions hookable. 2009-10-14 12:21:06 +02:00
Andrew Nguyen 7211f7ce18 ddraw: Implement and test DirectDrawEnumerateExW. 2009-10-09 11:50:28 +02:00
Andrew Nguyen 3496fe5f43 ddraw: More fully implement and test DirectDrawEnumerateExA. 2009-10-09 11:50:28 +02:00
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