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