Commit Graph

304 Commits

Author SHA1 Message Date
Stefan Dösinger c42277883a ddraw: Introduce a function to convert a DDSURFACEDESC2 to a DDSURFACEDESC. 2011-08-31 19:43:09 +02:00
Stefan Dösinger 76fecde8fb ddraw: Introduce a function to convert a DDSURFACEDESC to a DDSURFACEDESC2. 2011-08-31 19:43:09 +02:00
Henri Verbeet 43ad90ce31 ddraw: Get rid of the ImplType fields in IDirectDrawImpl and IDirectDrawSurfaceImpl. 2011-08-31 19:42:55 +02:00
Henri Verbeet c89a3ffe80 ddraw: Get rid of the surface implementation switching code. 2011-08-31 19:42:52 +02:00
Henri Verbeet 8f46cb6b8b ddraw: Introduce a separate function for setting the focus window. 2011-08-29 19:42:46 +02:00
Henri Verbeet 93b5f681d9 ddraw: Remove a redundant check from ddraw7_SetCooperativeLevel(). 2011-08-29 19:42:41 +02:00
Henri Verbeet cad9cbe445 ddraw: Trace which surfaces we enumerate in ddraw7_EnumSurfaces(). 2011-08-29 19:42:31 +02:00
Stefan Dösinger 899b278558 ddraw: Emulate a 24 bit depth format without stencil or padding. 2011-08-29 13:56:33 +02:00
Ričardas Barkauskas bf7df85169 ddraw: Do not create implicit depth buffer. 2011-08-25 11:31:38 +02:00
Ričardas Barkauskas 5c8ad26757 ddraw: Do not AddRef IDirectDraw7 iface in CreateSurface helper. 2011-08-22 17:15:54 +02:00
Frédéric Delanoy f932abf326 dlls: Assorted spelling fixes. 2011-08-01 18:26:27 +02:00
Henri Verbeet 2256a7e804 wined3d: wined3d_device_evict_managed_resources() doesn't need a return value. 2011-07-29 12:09:39 +02:00
Henri Verbeet 84413298de ddraw: Resize the window after setting the new display mode. 2011-07-22 12:57:18 +02:00
Henri Verbeet 04d541c26d ddraw: Just use SetWindowPos() in ddraw_set_display_mode().
Instead of going through wined3d_device_restore_fullscreen_window() /
wined3d_device_setup_fullscreen_window(). The main point of those functions is
changing the window styles, but we don't actually need that here. More
importantly, we filter the messages generated by those functions in wined3d,
while tests show that messages generated by SetDisplayMode() /
RestoreDisplayMode() are visible to the application. Applications depend on
WM_SIZE in particular.
2011-07-19 14:05:56 +02:00
Henri Verbeet ddc29c40e6 wined3d: Make D3DRS_ZBIAS work.
D3DRS_ZBIAS is poorly defined, but it makes sense that the bias should be
format independent. Looking at application behaviour, it seems to include a
slope scale factor as well. This fixes a couple of regressions introduced by
96b758f7b3, although it was broken before as
well, just in a different way.
2011-07-05 13:46:07 +02:00
Ričardas Barkauskas 5f6d7021aa ddraw: Separate IDirectDrawSurface and IDirectDrawSurface7 reference counts. 2011-06-28 11:57:50 -05:00
Ričardas Barkauskas 9190d349d2 ddraw: Separate IDirectDrawSurface4 reference count. 2011-06-28 11:57:50 -05:00
Henri Verbeet c461d312ba wined3d: Request per-surface palettes in the client libs. 2011-06-24 08:49:48 -05:00
Henri Verbeet b296f181dd wined3d: Explicitly set surface alignment in the client libs.
Instead of using dxVersion.
2011-06-24 08:49:42 -05:00
Ričardas Barkauskas 8959a1395a ddraw: Remove ddraw_set_surface_version and set surface version when initialising it. 2011-06-21 17:09:02 +02:00
Ričardas Barkauskas 4c0c0d3aeb ddraw: Fix ddraw4_EnumSurfaces to pass correct iface in callbacks. 2011-06-20 19:33:30 +02:00
Michael Stefaniuc 588ddee736 ddraw: COM cleanup for the IDirectDrawClipper iface. 2011-06-20 19:32:03 +02:00
Stefan Dösinger 07c761a6a1 ddraw: Implement IDirect3D7::EvictManagedTextures. 2011-06-17 15:37:33 +02:00
Michael Stefaniuc d7768739ec ddraw: COM cleanup for the IDirect3DVertexBuffer7 iface. 2011-06-15 20:04:39 +02:00
Michael Stefaniuc 60223057f0 ddraw: COM cleanup for the IDirect3DVertexBuffer iface. 2011-06-15 20:04:39 +02:00
Michael Stefaniuc ca1ee4a7c3 ddraw: Avoid unsafe IDirect3DVertexBuffer to object casts. 2011-06-15 20:04:39 +02:00
Michael Stefaniuc d010dac84d ddraw: Rename d3d_vertex_buffer_init() and have it allocate the object too. 2011-06-15 20:04:39 +02:00
Ričardas Barkauskas f3ae1b99f6 ddraw: Separate IDirectDrawSurface vtable. 2011-06-10 15:26:52 +02:00
Ričardas Barkauskas 27063ffeaa ddraw: Use unsafe_impl_from_IDirectDrawSurface() for application provided interfaces. 2011-06-10 15:26:29 +02:00
Michael Stefaniuc 0519450708 ddraw: COM cleanup for the IDirect3DLight iface. 2011-06-09 13:28:08 +02:00
Michael Stefaniuc d9fb7b9b92 ddraw: COM cleanup for the IDirect3DMaterial3 iface. 2011-06-08 17:43:07 +02:00
Michael Stefaniuc 8d91f8b614 ddraw: Avoid "unsafe" IDirect3DMaterial3 to object casts. 2011-06-08 17:37:33 +02:00
Michael Stefaniuc db15ce6580 ddraw: Rename d3d_material_init() and have it allocate the object too. 2011-06-08 17:37:24 +02:00
Michael Stefaniuc e3a32e8d95 ddraw: COM cleanup for the IDirect3DMaterial iface. 2011-06-07 14:18:32 +02:00
Michael Stefaniuc 0586dd8bbe ddraw: COM cleanup for the IDirect3DMaterial2 iface. 2011-06-07 14:18:32 +02:00
Ričardas Barkauskas bb063b994c ddraw: Separate IDirectDrawSurface4 vtable. 2011-06-06 21:49:23 +02:00
Ričardas Barkauskas 4582562f55 ddraw: Use unsafe_impl_from_IDirectDrawSurface4. 2011-06-06 21:49:23 +02:00
Ričardas Barkauskas 2f02bbb41f ddraw: Change lpVtbl to IDirectDrawSurface7_iface. 2011-06-06 21:49:23 +02:00
Ričardas Barkauskas 4074dd7615 ddraw: Avoid IDirectDrawSurfaceX to IDirectDrawSurface7 casts. 2011-06-06 21:49:23 +02:00
Ričardas Barkauskas 93dfe5afc3 ddraw: Use impl_from_IDirectDrawSurface7() instead of casts. 2011-06-06 21:49:23 +02:00
Ričardas Barkauskas 705548a6ef ddraw: Separate conversion from IDirectDrawSurface7 iface to object and conversion to other iface. 2011-06-06 21:49:22 +02:00
Ričardas Barkauskas 4123c7a38a ddraw: Pass an object instead of iface to helper function CreateSurface. 2011-06-06 21:49:22 +02:00
Ričardas Barkauskas 28ce1c00a7 ddraw: Use unsafe_impl_from_IDirectDrawSurface7() for application provided interfaces. 2011-06-06 21:49:22 +02:00
Andrew Nguyen a90b698e0c ddraw: Handle a callback cancellation attempt in d3d7_EnumDevices. 2011-06-01 16:09:58 +02:00
Andrew Nguyen f2f529ae38 ddraw: Extend the lifetime of the EnumDevices strings beyond function scope. 2011-06-01 16:09:53 +02:00
Ričardas Barkauskas 6d5be5033e ddraw: Change IDirectDrawSurface3_vtbl to IDirectDrawSurface3_iface. 2011-05-31 19:24:10 +02:00
Ričardas Barkauskas fb6ceb971b ddraw: Use unsafe_impl_from_IDirectDrawSurface3() for application provided interfaces. 2011-05-31 19:22:52 +02:00
Andrew Nguyen cf6d56a43a ddraw: Add a NULL callback pointer check in the EnumDevices implementations. 2011-05-31 18:32:59 +02:00
Dylan Smith f7002c6627 ddraw: Don't interpret end padding as dwCaps2 for x64. 2011-05-24 12:47:28 +02:00
Dylan Smith 3871329872 ddraw: Avoid clearing some memory unnecessarily. 2011-05-24 12:47:27 +02:00
Henri Verbeet f147c1e928 ddraw: Don't touch the window during mode setting if we're not in exclusive mode. 2011-05-24 11:53:47 +02:00
Henri Verbeet 3032b40c80 wined3d: Get rid of the IWineD3DDeviceParent interface. 2011-05-19 10:06:21 +02:00
Henri Verbeet 8d4ca1f815 wined3d: Remove COM from the device implementation. 2011-05-17 10:06:18 +02:00
Ričardas Barkauskas a7bd11afb0 ddraw: Fix filtering of enumerated display modes. 2011-05-12 18:22:25 +02:00
Henri Verbeet 00a5f38595 wined3d: Remove object creation methods from the IWineD3DDevice interface. 2011-05-11 14:56:48 +02:00
Henri Verbeet 5e4145d0ff ddraw: Skip redundant mode setting calls. 2011-05-11 14:56:48 +02:00
Henri Verbeet 1c1de920e3 wined3d: Remove COM from the surface implementation. 2011-04-29 16:52:13 +02:00
Henri Verbeet 6ff226f502 ddraw: Destroy the ddraw surface after the wined3d surface is destroyed. 2011-04-21 16:53:41 +02:00
Henri Verbeet 5492560cb5 ddraw: Introduce a separate function for texture creation. 2011-04-20 13:06:45 +02:00
Henri Verbeet 2c450571e5 wined3d: Remove COM from the volume implementation. 2011-04-15 10:07:57 +02:00
Henri Verbeet 3ec19590d5 wined3d: Remove COM from the swapchain implementation. 2011-04-14 17:13:57 +02:00
Henri Verbeet d2e665230a wined3d: Get rid of the swapchain destroy callback. 2011-04-13 14:13:51 +02:00
Henri Verbeet dd2c7d0d8c wined3d: Don't free D3D swapchains until the wined3d swapchain is destroyed.
This will allow us the get rid of the swapchain refcounting hacks in d3d9 in
particular. This is similar to the way we handle resources that are still in
use by a stateblock, but aren't referenced anywhere by the application.
2011-04-08 14:40:48 +02:00
Henri Verbeet fd8e18bd2b wined3d: Remove COM from the texture implementation. 2011-03-28 17:08:52 +02:00
Henri Verbeet b8c40f3a7e wined3d: Get rid of IWineD3DCubeTexture. 2011-03-18 15:59:04 +01:00
Henri Verbeet f1ec3820d7 wined3d: Get rid of IWineD3DTexture. 2011-03-17 10:40:52 +01:00
Henri Verbeet 2b18192e7a wined3d: Get rid of IWineD3DSurface::GetDesc(). 2011-03-11 11:40:31 +01:00
Henri Verbeet 756fdb7c5a wined3d: Merge the various resource desc structures. 2011-03-09 12:28:58 +01:00
Henri Verbeet 015ad93d47 ddraw: Just pass NULL as swapchain parent.
The swapchain was the last place using IParent, so this allows us to kill
IParent completely.
2011-03-08 12:28:20 +01:00
Henri Verbeet b9fae5e9a8 wined3d: Don't require container parents for IWineD3DDeviceParent methods to be COM objects. 2011-03-08 12:27:41 +01:00
Henri Verbeet 304d713860 wined3d: Remove COM from the clipper implementation. 2011-02-04 15:25:31 +01:00
Henri Verbeet 5765632d9f wined3d: Remove COM from the vertex declaration. 2011-02-03 13:15:17 +01:00
Henri Verbeet 36d4268e3c wined3d: Remove COM from IWineD3D. 2011-02-02 12:22:42 +01:00
Henri Verbeet 8872239088 ddraw: Link directly to wined3d. 2011-01-28 11:59:02 +01:00
Henri Verbeet 93f1c49ea4 ddraw: Initialize the AutoRestoreDisplayMode field of WINED3DPRESENT_PARAMETERS (Valgrind). 2011-01-20 12:18:50 +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
Michael Stefaniuc 497944f2bd ddraw: COM cleanup for the IDirect3D7 iface. 2011-01-19 12:31:04 +01:00
Michael Stefaniuc 97f9b02a26 ddraw: COM cleanup for the IDirect3D3 iface. 2011-01-19 12:30:58 +01:00
Michael Stefaniuc 2b80213578 ddraw: COM cleanup for the IDirect3D2 iface. 2011-01-18 13:29:59 +01:00
Michael Stefaniuc 8255d464db ddraw: COM cleanup for the IDirect3D iface. 2011-01-18 13:29:58 +01:00
Michael Stefaniuc 055c5e205a ddraw: Pass an IDirectDrawImpl* instead of an iface to CreateSurface(). 2011-01-18 13:29:58 +01:00
Michael Stefaniuc 0b362f6fa4 ddraw: Pass an IDirectDrawImpl* instead of an iface to ddraw_set_display_mode(). 2011-01-18 13:29:58 +01:00
Henri Verbeet 63316d0967 ddraw: Return DDERR_INVALIDPARAMS for 0 width / height surface creation. 2010-11-18 12:37:49 +01:00
Henri Verbeet 2b0684c56d ddraw: Make switching to/from fullscreen work more than once. 2010-11-10 12:19:09 +01:00
Henri Verbeet 6fcb33f59f ddraw: Window proc replacement depends on DDSCL_EXCLUSIVE, not DDSCL_FULLSCREEN. 2010-11-10 12:19:04 +01:00
Henri Verbeet 7e3985e1fe ddraw: Setup the device window in SetCooperativeLevel(). 2010-11-08 13:30:54 +01:00
David Adam 7661e8986c ddraw: Exclusive mode is the corner case for SetCooperative, not the normal mode. 2010-11-04 12:23:07 +01:00
Michael Stefaniuc 1fe54842e0 ddraw: Add missing unlock (Smatch). 2010-10-26 11:54:10 +02:00
David Adam 0a90271d69 ddraw: SETFOCUSWINDOW lives independently of other flags. 2010-10-22 12:08:07 +02:00
Michael Stefaniuc ef104dc465 ddraw: Add missing unlock on an error path (Smatch). 2010-09-29 10:06:36 +02:00
Paul Vriens c0ff1aec03 ddraw: Pass the correct size to memset (Coccinelle). 2010-09-21 20:16:15 +02:00
Oldřich Jedlička a6c3d0d6ac ddraw: Add checking of SURFACEDESC type/nullness into CreateSurface methods. 2010-09-18 14:40:01 +02:00
Oldřich Jedlička bec3b7692d ddraw: Allow creating back buffer for DirectX 1 interfaces. 2010-09-16 13:38:03 -05:00
Henri Verbeet 53183b4cf3 wined3d: IWineD3DSurface_GetDesc() should never fail. 2010-09-08 13:31:43 +02:00
Henri Verbeet 6c4c351791 wined3d: Don't require wined3d object parents to be COM objects. 2010-09-01 14:01:02 +02:00
Henri Verbeet 2ef400901d wined3d: Devices don't need parents. 2010-09-01 12:40:07 +02:00