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
14ca56ed97
ddraw: Destroy the swapchain in ddraw_destroy() if it still exists.
2011-10-18 15:10:21 +02:00
Ričardas Barkauskas
472a8f7a67
ddraw: COM cleanup for IDirect3DDevice7 interface.
2011-10-17 18:24:58 +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
31cf68dd95
ddraw: Use unsafe_impl_from_IDirect3DDevice7 for application provided interfaces.
2011-10-17 18:24:30 +02:00
Ričardas Barkauskas
6b7e3e77d0
ddraw: COM cleanup for IDirect3DDevice3 interface.
2011-10-17 18:24:21 +02:00
Ričardas Barkauskas
bd530d3aba
ddraw: Rename device_from_device3 to impl_from_IDirect3DDevice3.
2011-10-17 18:24:10 +02:00
Ričardas Barkauskas
a90b2ad002
ddraw: Use unsafe_impl_from_IDirect3DDevice3 for application provided interfaces.
2011-10-17 18:23:51 +02:00
Ričardas Barkauskas
d32df839ac
ddraw: COM cleanup for IDirect3DDevice2 interface.
2011-10-17 18:23:42 +02:00
Ričardas Barkauskas
1c045cbb28
ddraw: Rename device_from_device2 to impl_from_IDirect3DDevice2.
2011-10-17 18:23:33 +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
a0c9ab7894
ddraw: Rename device_from_device1 to impl_from_IDirect3DDevice.
2011-10-17 18:22:56 +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
Ričardas Barkauskas
38982ddf11
ddraw: Use unsafe_impl_from_IDirect3DViewport2 for application provided interfaces.
2011-10-04 15:25:31 -05:00
Ričardas Barkauskas
25bf0e914c
ddraw: Use unsafe_impl_from_IDirect3DViewport for application provided interfaces.
2011-10-04 15:25:25 -05:00
Ričardas Barkauskas
6253d319cb
ddraw: COM cleanup for IDirect3DViewport3 interface.
2011-10-04 15:25:20 -05:00
Ričardas Barkauskas
f44734b724
ddraw: Use unsafe_impl_from_IDirect3DViewport3 for application provided interfaces.
2011-10-04 15:25:00 -05:00
Ričardas Barkauskas
a6656468ef
ddraw: COM cleanup for the IDirectDrawPalette interface.
2011-10-04 15:24:44 -05: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
ec04f80cf6
ddraw: Implement ddraw7_Initialize().
2011-09-19 17:56:05 +02:00
Henri Verbeet
feb96511a9
ddraw: Get rid of IDirectDraw3.
2011-09-19 17:56:05 +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
b741cd02c3
ddraw: Get rid of some unused macros.
2011-09-15 15:41:40 +02:00
Henri Verbeet
f60b54d952
ddraw: Get rid of the surfaces field in IDirectDrawImpl.
2011-09-15 15:41:40 +02:00
Henri Verbeet
5de020342c
ddraw: Get rid of the unused "initialized" field in IDirectDrawImpl.
2011-09-14 09:59:12 +02:00
Henri Verbeet
8173e6f539
ddraw: Just use a static variable for vblank emulation.
2011-09-14 09:58:58 +02:00
Henri Verbeet
60f6c41a67
ddraw: Just use a static variable for scanline emulation.
...
Tracking it per ddraw object doesn't add much.
2011-09-14 09:58:53 +02:00
Henri Verbeet
be32dd86d6
ddraw: Get rid of an unused prototype.
2011-09-13 09:19:30 +02:00
Henri Verbeet
b23809868a
ddraw: Get the total amount of video memory from wined3d.
...
Instead of hoping that what's available at ddraw_init() time is the total.
2011-09-12 10:08:52 +02:00
Henri Verbeet
aa5590b061
ddraw: Remove the unused "depthstencil" field from IDirectDrawImpl.
2011-09-12 10:08:43 +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
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
Michael Stefaniuc
faa269c42a
ddraw: Use unsafe_impl_from_IDirect3DExecuteBuffer for an app provided iface.
2011-07-08 14:45:23 +02:00
Michael Stefaniuc
663483e16e
ddraw: COM cleanup for the IDirect3DExecuteBuffer iface.
2011-07-08 14:45:19 +02:00
Dylan Smith
ced4c38324
ddraw: Partially revert a struct copy change to fix a regression.
...
Commit 3871329872
caused the regression.
2011-06-28 16:45:56 -05:00
Ričardas Barkauskas
e5d69ba923
ddraw: Separate IDirectDrawGammaControl reference count.
2011-06-28 11:57:51 -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
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
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
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
d010dac84d
ddraw: Rename d3d_vertex_buffer_init() and have it allocate the object too.
2011-06-15 20:04:39 +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
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
93dfe5afc3
ddraw: Use impl_from_IDirectDrawSurface7() instead of casts.
2011-06-06 21:49:23 +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
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
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
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
1c1de920e3
wined3d: Remove COM from the surface implementation.
2011-04-29 16:52:13 +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
6ff226f502
ddraw: Destroy the ddraw surface after the wined3d surface is destroyed.
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
5492560cb5
ddraw: Introduce a separate function for texture creation.
2011-04-20 13:06:45 +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
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
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
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
a27ee75ed2
wined3d: Remove COM from the buffer implementation.
2011-03-04 16:25:58 +01: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
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
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
David Adam
f8690a6bda
ddraw: Remove a useless function.
2010-10-21 16:18:05 +02:00
Henri Verbeet
5fa84c56c3
ddraw: Remove another hack.
...
It breaks actual front buffer / back buffer flips.
2010-10-05 15:16:52 +02:00
Henri Verbeet
cc5271d1b7
wined3d: Rename WINED3DFORMAT to wined3d_format_id.
2010-08-24 12:25:01 +02:00
Henri Verbeet
4378d4b31e
ddraw: Add a separate function for surface initialization.
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
0e955daed2
ddraw: Add a separate function for vertex buffer initialization.
2010-08-20 13:21:23 +02:00
Henri Verbeet
e2021722fc
ddraw: Add a separate function for palette initialization.
2010-08-20 13:21:23 +02:00
Henri Verbeet
584cb331a9
ddraw: Add a separate function for execute buffer initialization.
2010-08-20 13:21:22 +02:00
Henri Verbeet
a60c493986
ddraw: Add a separate function for device initialization.
2010-08-20 13:21:21 +02:00
Henri Verbeet
4b84c5e5b7
ddraw: Add a separate function for clipper initialization.
2010-08-19 11:18:20 +02:00
Henri Verbeet
759fd517aa
ddraw: Add a separate function for parent initialization.
2010-08-19 11:18:16 +02:00
Henri Verbeet
921bd1bf9a
ddraw: Add a separate function for viewport initialization.
2010-08-19 11:18:12 +02:00
Henri Verbeet
bf26c2c869
ddraw: Add a separate function for material initialization.
2010-08-19 11:17:57 +02:00
Henri Verbeet
c892ed497c
ddraw: Add a separate function for light initialization.
2010-08-19 11:17:48 +02:00
Henri Verbeet
c5a14085d4
ddraw: Remove unused / redundant includes.
2010-08-19 11:17:41 +02:00
Henri Verbeet
fee9c1f2b5
ddraw: Remove a useless viewport callback.
2010-08-18 09:41:01 +02:00
Henri Verbeet
14399f6130
ddraw: Remove a useless material callback.
2010-08-18 09:40:55 +02:00
Henri Verbeet
06a44abc19
ddraw: Remove useless light callbacks.
2010-08-18 09:40:32 +02:00
Henri Verbeet
51a315386e
ddraw: Use a less offensive handle table implementation for surfaces.
2010-07-30 11:36:03 +02:00
Henri Verbeet
91193b6eec
ddraw: Use a less offensive handle table implementation for stateblocks.
2010-07-30 11:36:02 +02:00
Henri Verbeet
941aeade01
ddraw: Use a less offensive handle table implementation for matrices.
2010-07-29 17:33:36 +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
ce8f6ecf6e
ddraw: Merge the surface thunks into surface.c.
2010-07-20 13:13:04 +02:00
Henri Verbeet
6fb9ee0ee7
ddraw: Merge the ddraw thunks into ddraw.c.
...
Note how both ddraw 1 and ddraw 7 used the same IDirectDrawImpl_XXX naming
convention.
2010-07-20 13:13:04 +02:00
Henri Verbeet
f461b39b76
ddraw: Get rid of the useless "ddraw_owner" fields.
2010-07-19 14:49:07 +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
Henri Verbeet
93b0600829
wined3d: Don't free D3D buffers until the wined3d buffer is destroyed.
2009-09-18 08:55:25 -05:00
Henri Verbeet
6c8636c337
ddraw: Mark internal symbols hidden.
2009-09-17 10:10:04 -05: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
Stefan Dösinger
fd9b574e4e
ddraw: Store the fvf in the ddraw buffer.
...
WineD3D buffer FVFs will go away soon.
2009-04-09 16:27:35 +02:00
Stefan Dösinger
513a493f00
wined3d: Merge IWineD3DIndexBuffer and IWineD3DBuffer.
2009-04-08 11:37:29 +02:00
Henri Verbeet
aa3027a604
wined3d: Merge IWineD3DVertexBuffer with IWineD3DBuffer.
...
That still leaves IWineD3DIndexBuffer, but that code is also mostly similar,
except for the conversion code (which will be unused there).
2009-03-06 15:35:58 +01:00
David Adam
22bfd1396c
ddraw: Implement ComputeSphereVisibility.
2009-02-26 15:13:25 +01:00
Henri Verbeet
9b5f3ed8f3
ddraw: Rename the main vtables to lpVtbl.
2009-01-22 15:28:22 +01:00
Henri Verbeet
b09b0fbf95
ddraw: Get rid of ddcomimpl.h.
2009-01-22 12:05:14 +01:00
Henri Verbeet
802f9c7e29
ddraw: Get rid of ICOM_OBJECT.
2009-01-22 12:05:07 +01:00
Henri Verbeet
4e38c2e943
ddraw: Get rid of ICOM_VFIELD_MULTI.
2009-01-21 11:16:41 +01:00
Henri Verbeet
2afa23867b
ddraw: Add extern to some global variable declarations.
2009-01-16 13:30:08 +01:00