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
a9f72a3067
ddraw: Test ddraw surface reference counts a bit more.
2011-06-21 17:10:26 +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
Ričardas Barkauskas
4c0c0d3aeb
ddraw: Fix ddraw4_EnumSurfaces to pass correct iface in callbacks.
2011-06-20 19:33:30 +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
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
8e27274163
ddraw: Use unsafe_impl_from_IDirect3DVertexBuffer() for app provided ifaces.
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
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
9059fee7c5
ddraw: Use unsafe_impl_from_IDirect3DLight() for application provided ifaces.
2011-06-09 13:28:12 +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
abe0ee33eb
ddraw: COM cleanup for the IDirectDrawGammaControl iface.
2011-06-08 17:37:12 +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
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
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
Henri Verbeet
708d94212b
wined3d: Don't clamp vertex depth values.
...
Since we report D3DPMISCCAPS_CLIPTLVERTS.
2011-06-06 16:18:33 +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
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
Andrew Nguyen
be17277bb7
ddraw: Remove some unused structure definitions in the private ddraw header.
2011-05-31 18:32:59 +02:00
Andrew Nguyen
cf6d56a43a
ddraw: Add a NULL callback pointer check in the EnumDevices implementations.
2011-05-31 18:32:59 +02:00
Andrew Nguyen
7cd97b2ed4
ddraw/tests: Remove a superfluous skip check.
2011-05-31 18:32:59 +02:00
Dylan Smith
0be691ad9f
ddraw: Keep a function declaration within the include guard.
2011-05-24 12:47:28 +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
1db6a7e450
ddraw/tests: Fix the depth clamping test.
2011-05-24 11:55:05 +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
43aac32fd5
ddraw/tests: Add a test for mode settings calls with different coop levels.
2011-05-24 11:53:44 +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
Henri Verbeet
979e3744f7
wined3d: Remove state management methods from the IWineD3DDevice interface.
2011-05-17 10:06:15 +02:00
Francois Gouget
a006296dca
ddraw/tests: Fix compilation on systems that don't support nameless unions.
2011-05-16 16:35:28 +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
87b45c3545
ddraw/tests: Add a small test for redundant mode setting calls.
2011-05-11 14:56:48 +02:00
Stefan Dösinger
a1519e62f4
ddraw: Map ZBIAS values to a smaller depth range.
2011-05-10 14:04:55 +02:00
Francois Gouget
d719e831ab
ddraw/tests: Add a '\n' to an ok() call.
2011-05-09 12:09:13 +02:00
Henri Verbeet
65272a4f81
ddraw/tests: Add a test for SetCooperativeLevel() window styles.
2011-05-03 14:38:06 +02:00
Henri Verbeet
0293e19928
ddraw/tests: Make sure the window is properly released by ddraw in test_wndproc().
2011-05-03 14:38:06 +02:00
Marcus Meissner
6d144cf012
ddraw: Added missing break (Coverity).
2011-05-02 12:37:25 +02:00
Henri Verbeet
1c1de920e3
wined3d: Remove COM from the surface implementation.
2011-04-29 16:52:13 +02:00
Stefan Dösinger
96b758f7b3
d3d: Map D3DRS_ZBIAS to WINED3DRS_DEPTHBIAS.
...
ZBIAS was removed in d3d9 and replaced with DEPTHBIAS. Currently
wined3d implements both independently which will cause trouble if we
want to set the depthbias value depending on the depth stencil format.
2011-04-22 17:51:29 +02:00
Henri Verbeet
ac95c302ff
ddraw: Replace the light list with a standard Wine list.
2011-04-22 10:43:57 +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
fd1aac3e75
ddraw: Replace the viewport list with a standard Wine list.
2011-04-20 13:07:00 +02:00
Henri Verbeet
f1de9ad621
ddraw: Unset the viewports active device in IDirect3DDeviceImpl_3_DeleteViewport().
2011-04-20 13:06:49 +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
d429aaa9e9
ddraw: Verify the viewport belongs to the device on execute buffer execution.
2011-04-19 13:29:42 +02:00
Henri Verbeet
9edeb22c34
ddraw: Verify the viewport belongs to the device in IDirect3DDeviceImpl_3_SetCurrentViewport().
2011-04-19 13:29:39 +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
358f14ee20
ddraw: Fix a typo in a comment.
2011-04-04 11:53:39 +02:00
Henri Verbeet
024b5c2245
ddraw: Do not unset the index buffer on D3D device destruction.
2011-04-04 11:53:35 +02:00
Henri Verbeet
973b56dc1c
ddraw: Get rid of the unused LoadWineD3D() declaration.
2011-04-04 11:53:27 +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
adb1e10979
wined3d: Get rid of wined3d_buffer_get_desc().
2011-03-11 11:40:47 +01:00
Henri Verbeet
2b18192e7a
wined3d: Get rid of IWineD3DSurface::GetDesc().
2011-03-11 11:40:31 +01:00
Henri Verbeet
4fd03150f6
wined3d: Get rid of IWineD3DBaseTexture::GetSubResourceDesc().
2011-03-10 12:53:13 +01:00
Henri Verbeet
63b72d789d
wined3d: Move the GetLevelDesc() functions to the IWineD3DBaseTexture interface.
2011-03-09 12:29:04 +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
a27ee75ed2
wined3d: Remove COM from the buffer implementation.
2011-03-04 16:25:58 +01:00
Henri Verbeet
b7c427b483
ddraw: Just pass NULL as index buffer parent.
...
Since the parent is just an opaque pointer instead of a COM object now, it can
just be NULL instead of needing IParent hacks.
2011-03-04 16:25:58 +01:00
Austin English
46f0538ae0
ddraw: Fix unused variable warnings (LLVM/Clang).
2011-02-07 10:13:52 -06:00
Henri Verbeet
304d713860
wined3d: Remove COM from the clipper implementation.
2011-02-04 15:25:31 +01:00
Henri Verbeet
5963483fc2
wined3d: Remove COM from the palette.
2011-02-03 13:15:17 +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
4b109ff1f8
wined3d: Remove COM from the stateblock.
2011-01-31 12:24:58 +01: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
15dfe304bf
ddraw: Drop "Thunk_" from the names of the IDirect3DVertexBuffer methods.
2011-01-21 12:25:18 +01:00
Michael Stefaniuc
da0186798d
ddraw: Drop "Thunk_" from the names of the IDirect3DMaterial* methods.
2011-01-21 12:25:14 +01:00
Michael Stefaniuc
4a2ac6c8bd
ddraw: Drop "Thunk_" from the names of the IDirect3DDevice3 methods.
2011-01-20 12:22:16 +01:00
Michael Stefaniuc
120678c261
ddraw: Drop "Thunk_" from the names of the IDirect3DDevice2 methods.
2011-01-20 12:22:10 +01:00
Michael Stefaniuc
f4acb9bb53
ddraw: Drop "Thunk_" from the names of the IDirect3DDevice methods.
2011-01-20 12:22:04 +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
Michael Stefaniuc
b3ced2fa8a
ddraw: Avoid some unsafe IDirect3D7 iface to IDirectDrawImpl transitions.
2011-01-18 13:29:57 +01:00
Greg Geldorp
1e7c80ba9a
ddraw/tests: Remove some outdated tests.
2011-01-14 18:26:20 +01:00
Alexandre Julliard
4da54d93e1
ddraw: Convert dll registration to the IRegistrar mechanism.
2010-12-07 12:54:12 +01:00
Alexandre Julliard
5f49129e03
resources: Define a generic mechanism for adding extra values to the common version block.
2010-12-03 14:53:59 +01:00
Henri Verbeet
8c2416941e
ddraw/tests: Fix a typo.
2010-11-30 10:56:57 +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
d3e2e84feb
ddraw/tests: Fix some failure messages.
2010-11-17 14:01:15 +01:00
Henri Verbeet
7a354177b3
wined3d: Don't unregister a window unless the window proc is what we expect it to be.
...
In particular, if we'd unregister a window when the application replaced our
window proc, but still forwards to us, we'd create a loop when we register
the same window again later.
2010-11-10 12:19:24 +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
Henri Verbeet
feaf81f60d
wined3d: Use SetWindowPos() to make the focus window active.
2010-11-05 17:15:37 +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
Henri Verbeet
4c4a414596
ddraw/tests: Check for multiple expected messages in test_wndproc().
2010-11-04 12:12:33 +01:00
Henri Verbeet
cb3a133b28
ddraw: Fix some TRACEs.
2010-11-02 13:17:01 +01:00
Francois Gouget
6fb3a0a032
ddraw/tests: Remove a space before a '\n'.
2010-11-02 13:16:09 +01:00
David Adam
e5e150a4d6
ddraw: Add tests for SetCooperativeLevel with a NULL window.
2010-11-02 12:03:03 +01:00
Francois Gouget
aa93d7b80d
ddraw/tests: Fix compilation on systems that don't support nameless unions.
2010-11-02 12:03:03 +01:00
David Adam
94f74a7caf
ddraw: Add tests for the foreground window set by SetCooperativeLevel.
2010-11-01 12:38:44 +01:00
Michael Stefaniuc
1fe54842e0
ddraw: Add missing unlock (Smatch).
2010-10-26 11:54:10 +02:00
Ričardas Barkauskas
78e4a096a3
ddraw: Surfaces with DDSCAPS_3DDEVICE and DDSCAPS_ZBUFFER can't be render targets.
2010-10-25 15:31:12 +02:00
Ričardas Barkauskas
ff659522f6
ddraw: Fix DDSCAPS_3DDEVICE surfaces always setting DDSCAPS_VISIBLE.
2010-10-25 15:31:07 +02:00
Ričardas Barkauskas
7402761e21
ddraw/tests: Test some more caps combinations.
2010-10-25 15:31:02 +02:00
Ričardas Barkauskas
c6bc9e01e3
ddraw/tests: Test if surface with DDSCAPS_ZBUFFER can be render target.
2010-10-25 15:30:51 +02:00
David Adam
0a90271d69
ddraw: SETFOCUSWINDOW lives independently of other flags.
2010-10-22 12:08:07 +02:00
David Adam
f8690a6bda
ddraw: Remove a useless function.
2010-10-21 16:18:05 +02:00