Commit Graph

78 Commits

Author SHA1 Message Date
Michael Stefaniuc
d86ecd4bb4 d3d9: Remove ERR() on HeapAlloc failure for small sizes known at compile time. 2013-02-07 15:48:20 +01:00
Henri Verbeet
31e8976910 wined3d: Get rid of the surface_type parameter to wined3d_swapchain_create(). 2013-01-16 12:22:57 +01:00
Henri Verbeet
adddf10cd8 wined3d: wined3d_swapchain_get_desc() never fails. 2012-10-04 14:09:55 +02:00
Henri Verbeet
5fcc1f8f70 wined3d: Just return the surface from wined3d_swapchain_get_back_buffer(). 2012-10-04 14:09:50 +02:00
Henri Verbeet
c98725ccc3 d3d9: Introduce a helper function to create D3DPRESENT_PARAMETERS from a wined3d_swapchain_desc. 2012-07-03 14:56:34 +02:00
Henri Verbeet
2457d34314 d3d9: Pass a wined3d_swapchain_desc structure to swapchain_init(). 2012-07-02 19:18:00 +02:00
Henri Verbeet
0ce894f274 d3d9: Implement d3d9_device_GetDisplayModeEx(). 2012-06-28 01:39:28 +02:00
Henri Verbeet
a1bfd0988f wined3d: Take scanline ordering into account in the mode setting code. 2012-06-28 01:39:26 +02:00
Henri Verbeet
cb9cc2ccee d3d9: Get rid of IDirect3DSurface9Impl. 2012-05-30 17:18:00 +02:00
Henri Verbeet
d4c5c03cbb d3d9: Get rid of IDirect3DSwapChain9Impl. 2012-05-30 17:18:00 +02:00
Henri Verbeet
2a63fe6624 d3d9: Get rid of IDirect3DDevice9Impl. 2012-05-29 10:45:09 +02:00
Henri Verbeet
7efbfe494e d3d9: Properly retrieve an interface pointer in IDirect3DSwapChain9Impl_GetBackBuffer(). 2012-04-24 11:29:37 +02:00
Henri Verbeet
53b3f9d40e d3d9: COM cleanup for the IDirect3DSwapChain9 interface.
This is mostly based on the COM cleanup scripts by Michael Stefaniuc.
2012-04-11 18:14:36 +02:00
Henri Verbeet
8b95d8d2e3 d3d9: Introduce a separate function for swapchain creation. 2012-04-11 18:14:30 +02:00
Henri Verbeet
b76f0aeee0 d3d9: Don't return a pointer to the implementation in IDirect3DSwapChain9Impl_QueryInterface(). 2012-03-30 10:44:11 +02:00
Henri Verbeet
3769afa33d wined3d: Get rid of the WINED3DSURFTYPE typedef. 2012-01-20 13:31:33 +01:00
Henri Verbeet
45f6def784 wined3d: Get rid of the WINED3DBACKBUFFER_TYPE typedef. 2012-01-06 19:24:21 +01:00
Henri Verbeet
360c1114d6 wined3d: Get rid of the WINED3DRASTER_STATUS typedef. 2011-12-02 11:51:33 +01:00
Henri Verbeet
94c9b0b4fc wined3d: Get rid of the WINED3DPRESENT_PARAMETERS typedef. 2011-12-02 11:51:29 +01:00
Henri Verbeet
18a7653c78 wined3d: Get rid of the WINED3DDISPLAYMODE typedef. 2011-11-17 11:37:26 +01:00
Michael Stefaniuc
a7530e7892 d3d9: Use unsafe_impl_from_IDirect3DSurface9 for app provided ifaces. 2011-07-07 12:32:16 +02:00
Henri Verbeet
8d4ca1f815 wined3d: Remove COM from the device implementation. 2011-05-17 10:06:18 +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
Michael Stefaniuc
d5739cd2c3 d3d9: Finish the COM cleanup of the IDirect3DDevice9Ex iface. 2011-04-25 11:40:35 +02:00
Henri Verbeet
3ec19590d5 wined3d: Remove COM from the swapchain implementation. 2011-04-14 17:13:57 +02:00
Henri Verbeet
3c07f7a68e d3d9: Get rid of the implicit swapchain refcounting hacks. 2011-04-11 23:54:18 +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
2465b4cf01 d3d9: Move device functions to device.c. 2010-09-01 14:01:02 +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
76804fa711 d3d9: Add a separate function for swapchain initialization. 2009-12-21 15:01:25 +01:00
Henri Verbeet
ff92e6eb6a d3d9: Simplify GetDevice(). 2009-12-04 14:34:59 +01:00
Henri Verbeet
4dbf1c4900 d3d9: Add traces. 2009-10-20 14:00:36 +02:00
Stefan Dösinger
dcacd83a82 d3d9: Make some functions hookable. 2009-10-14 12:21:06 +02:00
Allan Tong
5d56eddb7c d3d9: Don't release the parent device before destroying its children.
Releasing the device earlier may cause the underlying wineD3D device
to be freed before the child object has had a chance to clean up.
2009-09-29 12:05:47 +02: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
Henri Verbeet
5f9f079d71 d3d9: Use the wined3d cs for wined3d locking. 2009-08-26 12:11:41 +02:00
Henri Verbeet
fd3d769a12 d3d9: Fix locking.
It appears there are some calls to wined3d missing critical sections.
2009-03-23 14:08:03 +01:00
Henri Verbeet
61a9efc4b9 d3d9: Explicitly convert between D3DFORMAT and WINED3DFORMAT values. 2009-02-20 11:10:14 +01:00
Henri Verbeet
445255983d d3d9: Also copy the AutoDepthStencilFormat field in GetPresentParameters(). 2009-02-19 12:53:50 +01:00
Henri Verbeet
a966293f59 wined3d: Add an IWineD3DDeviceParent interface.
Other than being a bit nicer than passing function pointers all over the
place, this helps dxgi/d3d10. While the swapchain itself is created in dxgi,
its surfaces are constructed in d3d10core, which makes it impractical for dxgi
to pass the appropriate function pointers.
2009-01-16 13:29:32 +01:00
Stefan Dösinger
b3b60f9602 d3d9: Properly set AutoRestoreDisplayMode. 2009-01-13 16:39:53 +01:00
Stefan Dösinger
3d96f97ee1 d3d9: Use the correct AddRef and Release macros. 2008-11-04 11:40:23 +01:00
Henri Verbeet
092b51e82a wined3d: Rename CreateAdditionalSwapChain to CreateSwapChain. 2008-10-28 12:46:46 +01:00
Stefan Dösinger
e178ddd9e1 wined3d: Use a swapchain for GDI surfaces.
This is a long-needed cleanup aimed at removing the ddraw_primary,
ddraw_window, ddraw_width and ddraw_height members from
IWineD3DDeviceImpl, which just do not belong there.  Destination
window and screen handling is supposed to be done by swapchains.
2008-08-19 12:21:32 +02:00
Stefan Dösinger
c1a0037b88 d3d9: IDirect3DDevice9Ex stub. 2008-03-03 20:48:50 +01:00
Stefan Dösinger
ef5e5300e3 d3d9: Hold the lock in swapchain methods. 2007-06-22 13:43:11 +02:00
H. Verbeet
a4bc52a89c wined3d: Fix WINED3DPRESENT_PARAMETERS and use it instead of D3DPRESENT_PARAMETERS. 2007-02-16 12:31:03 +01:00
Markus Amsler
73b5fb059f d3d9: Fix implicit swap chain refcounting. 2006-12-18 12:07:38 +01:00
Markus Amsler
f9f3ec2f00 d3d9: Fix implicit surface refcounting. 2006-12-18 12:07:09 +01:00