Commit Graph

263 Commits

Author SHA1 Message Date
Henri Verbeet 31f3120815 ddraw: Convert to integer before adjusting the clipped source rect.
This makes a difference for the bottom and right edges, and we could end up
with an empty source rectangle otherwise.
2012-01-06 19:24:20 +01:00
Henri Verbeet 223b0736c0 ddraw: Disallow clipped blits in ddraw_surface7_BltFast(). 2012-01-05 20:54:21 +01:00
André Hentschel b5ba054ce8 Assorted header comment cleanup. 2012-01-04 19:35:13 +01:00
Michael Stefaniuc f1f5536d8f ddraw: Fix two memory leaks (Smatch). 2012-01-03 12:37:58 +01:00
Henri Verbeet 10d2a9375d ddraw: Add support for clipped blits. 2011-12-13 18:58:56 +01:00
Henri Verbeet e6fb4537f0 ddraw: Move clipper handling to ddraw. 2011-12-13 18:58:37 +01:00
Stefan Dösinger 481e2f3366 ddraw: SetSurfaceDesc can set width, height and pitch under certain conditions. 2011-12-08 18:04:18 +01:00
Henri Verbeet 3dd03f642d wined3d: Get rid of the WINEDDCOLORKEY typedef. 2011-12-08 10:27:53 +01:00
Henri Verbeet eafebc0491 wined3d: Get rid of the WINED3DLOCKED_RECT typedef. 2011-12-06 15:50:58 +01:00
Henri Verbeet 3a2921c559 ddraw: Keep the primary surface mapped at the same address for early ddraw versions. 2011-11-30 11:50:58 +01:00
Henri Verbeet 3430e11605 wined3d: Add a flags parameter to wined3d_surface_create(). 2011-11-30 11:50:48 +01:00
Henri Verbeet 0f10ac9358 ddraw: Create the wined3d swapchain when setting the cooperative level. 2011-11-29 13:22:54 +01:00
Henri Verbeet 2e1c0d83c1 wined3d: Get rid of the WINED3DGAMMARAMP typedef. 2011-11-22 10:52:45 +01:00
Henri Verbeet 8e6f5c34a2 ddraw: We can't render to the desktop window either. 2011-11-18 14:26:16 +01:00
Stefan Dösinger c3d6061593 ddraw: Add more tests and fixes for SetSurfaceDesc. 2011-11-15 19:37:28 +01:00
Henri Verbeet a2963b662c ddraw: Use wined3d_mutex_lock() / wined3d_mutex_unlock() for locking. 2011-11-14 15:25:21 +01:00
Henri Verbeet fcf96b634a wined3d: Create the DIB section for DDSCAPS_OWNDC surfaces on initialization. 2011-10-31 23:52:51 +01:00
Henri Verbeet 1bf36a3f40 ddraw: Implement ddraw_surface7_BltFast() on top of wined3d_surface_blt(). 2011-10-31 16:46:19 +01:00
Henri Verbeet 38abddca68 ddraw: Only update primary_lock when we're actually locking the frontbuffer.
This fixes a regression introduced by commit
8330558e12.
2011-10-27 19:34:09 +02:00
Henri Verbeet d09ad48328 ddraw: Read/draw from/to the actual screen when there is no swapchain window. 2011-10-25 16:57:24 +02:00
Henri Verbeet 8330558e12 ddraw: Keep track of the affected rectangle for ddraw_surface_update_frontbuffer(). 2011-10-25 16:57:24 +02:00
Henri Verbeet 4408c5abc6 ddraw: Clear attached_iface before releasing it in ddraw_surface_delete_attached_surface().
Spotted by Dan Kegel / Valgrind.
2011-10-19 12:23:23 +02:00
Henri Verbeet 10b54a7860 ddraw: Initialize the surface desc's dwFlags field to 0 before surface locks.
Otherwise DDSD2_to_DDSD() would try to convert uninitialized data on failure.
Spotted by Dan Kegel / Valgrind.
2011-10-19 12:23:15 +02:00
Henri Verbeet 14ca56ed97 ddraw: Destroy the swapchain in ddraw_destroy() if it still exists. 2011-10-18 15:10:21 +02:00
Ričardas Barkauskas 7dc08745d1 ddraw: Use impl_from_IDirect3DDevice7 for application provided interfaces. 2011-10-17 18:24:42 +02:00
Ričardas Barkauskas d32df839ac ddraw: COM cleanup for IDirect3DDevice2 interface. 2011-10-17 18:23:42 +02:00
Ričardas Barkauskas a870753dba ddraw: Use unsafe_impl_from_IDirect3DDevice2 for application provided interfaces. 2011-10-17 18:23:18 +02:00
Ričardas Barkauskas d5912c533f ddraw: COM cleanup for IDirect3DDevice interface. 2011-10-17 18:23:09 +02:00
Ričardas Barkauskas d19e416dee ddraw: Use unsafe_impl_from_IDirect3DDevice for application provided interfaces. 2011-10-17 18:22:44 +02:00
Octavian Voicu b44eef7085 ddraw: Keep track of interface attached by AddAttachedSurface and detach correct interface when parent is released. 2011-10-12 20:52:46 +02:00
Octavian Voicu a843acef55 ddraw: Be consistent about param and local var naming across AddAttachedSurface implementations. 2011-10-11 20:12:10 +02:00
Ričardas Barkauskas a8616b7fcb ddraw: Use unsafe_impl_from_IDirectDrawPalette for application provided interfaces. 2011-10-04 15:24:20 -05:00
Henri Verbeet 4228bbc5bf ddraw: Store the wined3d swapchain reference in the ddraw object instead of the primary surface. 2011-09-20 16:21:38 +02:00
Henri Verbeet b9fcf71c71 ddraw: Use real flips. 2011-09-16 17:23:08 +02:00
Henri Verbeet 5186882098 ddraw: Store the primary surface. 2011-09-16 17:23:08 +02:00
Henri Verbeet f60b54d952 ddraw: Get rid of the surfaces field in IDirectDrawImpl. 2011-09-15 15:41:40 +02:00
Henri Verbeet aa5590b061 ddraw: Remove the unused "depthstencil" field from IDirectDrawImpl. 2011-09-12 10:08:43 +02:00
Francois Gouget 489527fe44 ddraw: Remove WINAPI on static functions where not needed. 2011-09-08 20:08:07 +02:00
Stefan Dösinger 029c5a6cf1 ddraw: Convert DDSURFACEDESC2 in lock. 2011-09-07 11:15:32 +02:00
Stefan Dösinger 8e79a7e664 ddraw: Add some NULL pointer tests. 2011-09-07 11:15:09 +02:00
Ričardas Barkauskas d9ada7929a ddraw: Don't allow SetPalette on mipmap sublevels instead of root surfaces. 2011-09-02 18:28:25 +02:00
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
Stefan Dösinger caff742d41 ddraw: Trust wined3d to give us what we asked for. 2011-08-29 13:56:17 +02:00
Stefan Dösinger 30d9926a95 ddraw: Don't re-write the surface's pixelformat.
The pixelformat is passed in in ddraw form in the desc parameter, which is copied
into the surface's DDSURFACEDESC2 structure, so the format is already set.
2011-08-29 13:56:11 +02:00
Ričardas Barkauskas abf8728e1f ddraw: Don't allow setting palette on non root surfaces. 2011-08-22 17:15:48 +02:00
Henri Verbeet 831801dd60 ddraw: Remove rectangle validation from ddraw_surface7_BltFast().
This is already done by wined3d_surface_blt().
2011-08-05 09:17:43 +02:00
Henri Verbeet 92e616f355 ddraw: Remove rectangle validation from ddraw_surface7_Blt().
This is already done by wined3d_surface_blt().
2011-08-04 09:04:44 +02:00
Ričardas Barkauskas c1aaacd58c ddraw: Change IDirect3DTexture2_vtbl to IDirect3DTexture2_iface. 2011-07-29 19:19:32 +02:00
Ričardas Barkauskas 8000fc4e35 ddraw: Rename surface_from_texture2 to impl_from_IDirect3DTexture2. 2011-07-29 19:19:25 +02:00
Ričardas Barkauskas 15f16e8f5e ddraw: Use unsafe_impl_from_IDirect3DTexture2 for application provided interfaces. 2011-07-29 19:19:11 +02:00
Ričardas Barkauskas 91a1ed8be9 ddraw: COM cleanup for IDirect3DTexture interface. 2011-07-29 19:19:07 +02:00
Ričardas Barkauskas 0a3582865e ddraw: Use unsafe_impl_from_IDirect3DTexture() for application provided interfaces. 2011-07-29 19:18:59 +02:00
Ričardas Barkauskas e5d69ba923 ddraw: Separate IDirectDrawGammaControl reference count. 2011-06-28 11:57:51 -05:00
Ričardas Barkauskas 90112e97ea ddraw: Move IDirect3DTexture and IDirect3DTexture2 to IDirectDrawSurface reference counts. 2011-06-28 11:57:50 -05: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
Ričardas Barkauskas c7e5e6d2b5 ddraw: Use ddraw_surface_release_iface to destroy leftover surfaces. 2011-06-28 11:57:50 -05:00
John Edmonds ed1788bad0 ddraw: Warning message about an invalid structure size will now print the structure's size. 2011-06-27 15:03:55 -05:00
Henri Verbeet acd8c58725 ddraw: Implement surface private data handling on top of wined3d_resource. 2011-06-22 11:25:27 +02: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 104e68da45 ddraw: Use helper function to delete attached surfaces. 2011-06-21 17:10:17 +02:00
Ričardas Barkauskas ec754ab98b ddraw: AddRef the surface in AddAttachedSurface instead of helper function. 2011-06-21 17:10:05 +02:00
Ričardas Barkauskas 4b8fd522f6 ddraw: Add iface count for IDirectSurfaceImpl. 2011-06-21 17:09:52 +02: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
Michael Stefaniuc 9e50efd89f ddraw: Use unsafe_impl_from_IDirectDrawClipper for an app provided iface. 2011-06-20 19:32:03 +02:00
Michael Stefaniuc 588ddee736 ddraw: COM cleanup for the IDirectDrawClipper iface. 2011-06-20 19:32:03 +02:00
Marcus Meissner 7e1ccdef71 ddraw: Removed superflous NULL check (Coverity). 2011-06-14 15:23:22 +02:00
Francois Gouget 9c99738780 ddraw: Make unsafe_impl_from_IDirectDrawSurface{2,3}() static. 2011-06-13 11:32:49 +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
Ričardas Barkauskas a8ee7c5e00 ddraw: Separate IDirectDrawSurface2 vtable. 2011-06-10 15:26:22 +02:00
Michael Stefaniuc abe0ee33eb ddraw: COM cleanup for the IDirectDrawGammaControl iface. 2011-06-08 17:37:12 +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 93dfe5afc3 ddraw: Use impl_from_IDirectDrawSurface7() instead of casts. 2011-06-06 21:49:23 +02:00
Ričardas Barkauskas 11bf99c5fd ddraw: Separate other conversion to IDirectDrawSurfaceImpl from conversions to ifaces. 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 28ce1c00a7 ddraw: Use unsafe_impl_from_IDirectDrawSurface7() for application provided interfaces. 2011-06-06 21:49:22 +02:00
Ričardas Barkauskas 6d5be5033e ddraw: Change IDirectDrawSurface3_vtbl to IDirectDrawSurface3_iface. 2011-05-31 19:24:10 +02:00
Ričardas Barkauskas ecfb5c7a69 ddraw: Use a This variable in the IDirectDraw3 methods that lack one. 2011-05-31 19:23:41 +02:00
Ričardas Barkauskas 7df083193d ddraw: Rename surface_from_surface3() to impl_from_IDirectDrawSurface3(). 2011-05-31 19:23:39 +02:00
Ričardas Barkauskas fb6ceb971b ddraw: Use unsafe_impl_from_IDirectDrawSurface3() for application provided interfaces. 2011-05-31 19:22:52 +02:00
Dylan Smith f7002c6627 ddraw: Don't interpret end padding as dwCaps2 for x64. 2011-05-24 12:47:28 +02:00
Henri Verbeet 8d4ca1f815 wined3d: Remove COM from the device implementation. 2011-05-17 10:06:18 +02:00
Henri Verbeet 979e3744f7 wined3d: Remove state management methods from the IWineD3DDevice interface. 2011-05-17 10:06:15 +02:00
Henri Verbeet 00a5f38595 wined3d: Remove object creation methods from the IWineD3DDevice interface. 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 03b388609d ddraw: Destroy the ddraw surface after the wined3d texture is destroyed. 2011-04-21 16:53:42 +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 cbf78c5d49 ddraw: Release the wined3d surface first in ddraw_surface_destroy(). 2011-04-21 16:53:41 +02:00
Henri Verbeet 25c0941e50 ddraw: Add a separate function for surface cleanup. 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 2b1b5dba43 ddraw: Don't bother unsetting resources on surface destruction.
Uninit3D() / stateblock destruction already takes care of this.
2011-04-20 13:06:40 +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