Commit Graph

119 Commits

Author SHA1 Message Date
Riccardo Bortolato 6241ce5637 wined3d: Introduce a new wined3d_texture_blt function.
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-20 00:30:38 +09:00
Riccardo Bortolato 7fc43d3c09 d3d8: Use wined3d_rendertarget_view_create instead of wined3d_rendertarget_view_create_from_surface in d3d8_surface_get_rendertarget_view.
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-15 19:19:39 +09:00
Riccardo Bortolato 2a51e695a1 d3d8: Replace surface refcounting with parent texture refcounting.
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-13 22:23:32 +09:00
Riccardo Bortolato ea51e1f107 d3d8: Don't use a wined3d_surface in d3d8_surface_GetDesc.
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-12 23:34:56 +09:00
Riccardo Bortolato 2f1b6114da d3d8: Use wined3d_texture_unmap instead of wined3d_surface_unmap in d3d8_surface_UnlockRect.
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-12 23:34:56 +09:00
Riccardo Bortolato 9c00f968d6 d3d8: Make use of wined3d_texture_map in d3d8_surface_LockRect.
Pass wined3d_texture and sub_resource idx to device_parent_surface_created callback.
Store wined3d_texture and sub_resource in d3d8_surface.
Also updated d3d9, d3d11, ddraw callbacks accordingly.

Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-12 23:34:56 +09:00
Riccardo Bortolato 1d1487105d wined3d: Pass a wined3d_box to wined3d_surface_map..
Introduced a new surface_check_block_align function that accepts a
wined3d_box, eventually the old _rect version will be completely
replaced.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
2015-10-07 21:28:51 +09:00
Andrey Gusev f0c52fe0f5 d3d8: TRACE fixes. 2015-09-18 14:57:35 +02:00
Henri Verbeet b005ad6f90 wined3d: Use rendertarget views for color output instead of surfaces. 2014-08-21 12:24:42 +02:00
Henri Verbeet 599f018c81 d3d8: The "forwardReference" field in struct d3d8_surface is always a texture, if set. 2014-08-15 17:04:13 +02:00
Stefan Dösinger 9a795c528f d3d8: Use the private store api for surfaces. 2014-03-21 17:36:30 +01:00
Stefan Dösinger 97b5525888 d3d8: Introduce a resource structure. 2014-03-21 17:36:17 +01:00
Henri Verbeet afc3d2ab70 wined3d: Create surfaces inside wined3d. 2013-11-15 12:00:26 +01:00
Henri Verbeet b83a0b9d3e d3d8: Clear pBits and Pitch when d3d8_surface_LockRect() fails.
This is a only slightly modified version of a patch by Lasse Rasinen.
2013-11-12 14:15:01 +01:00
Henri Verbeet 7475944454 d3d8: Don't mask out internal wined3d usage flags in surface_init(). 2013-10-02 11:05:37 +02:00
Henri Verbeet d6bc4fe71a wined3d: Allow surface flags to be passed to texture creation functions. 2013-06-06 11:47:19 +02:00
Henri Verbeet ce912d5149 wined3d: Get rid of the surface_type parameter to wined3d_surface_create(). 2013-01-17 12:21:55 +01:00
Henri Verbeet ddbe791d37 wined3d: Set texture_level in surface_set_texture_target() as well. 2012-10-24 11:24:22 +02:00
Jacek Caban 1524cc2ab7 d3d8: Use proper helpers for iface calls. 2012-08-27 19:45:59 +02:00
Henri Verbeet ec466ff3b7 d3d8: Get rid of IDirect3DSurface8Impl. 2012-05-23 18:24:57 +02:00
Henri Verbeet 9b085a9260 d3d8: Get rid of IDirect3DDevice8Impl. 2012-05-21 21:31:10 +02:00
Henri Verbeet 83761d20a8 d3d8: Get rid of IDirect3DBaseTexture8Impl. 2012-04-19 12:01:47 +02:00
Henri Verbeet 8cef8b3587 wined3d: Unify the wined3d_mapped_rect and wined3d_mapped_box structures. 2012-04-13 10:48:51 +02:00
Henri Verbeet 30c3e84ee5 d3d8: Don't return a pointer to the implementation in IDirect3DSurface8Impl_QueryInterface(). 2012-03-26 18:15:05 +02:00
Henri Verbeet 3769afa33d wined3d: Get rid of the WINED3DSURFTYPE typedef. 2012-01-20 13:31:33 +01:00
Henri Verbeet e53a277305 wined3d: Get rid of the WINED3DPOOL typedef. 2012-01-18 12:37:38 +01:00
Henri Verbeet ef9be113e2 d3d8: Don't expose wined3d internal flags to the application. 2012-01-11 17:47:13 +01:00
Henri Verbeet eafebc0491 wined3d: Get rid of the WINED3DLOCKED_RECT typedef. 2011-12-06 15:50:58 +01:00
Henri Verbeet 3430e11605 wined3d: Add a flags parameter to wined3d_surface_create(). 2011-11-30 11:50:48 +01:00
Michael Stefaniuc 99f770e4ef d3d8: Remove pointless casts to the type of the casted expression. 2011-09-15 19:13:15 +02:00
Michael Stefaniuc d615be8eea d3d8: COM cleanup for the IDirect3DSurface8 iface. 2011-07-05 13:47:30 +02:00
Michael Stefaniuc cce8294f39 d3d8: Use unsafe_impl_from_IDirect3DSurface8 for app provided ifaces. 2011-07-05 13:47:26 +02:00
Henri Verbeet f6bfdd47c9 d3d8: Implement IDirect3DSurface8 private data handling on top of wined3d_resource. 2011-06-22 11:25:22 +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
Henri Verbeet 2b18192e7a wined3d: Get rid of IWineD3DSurface::GetDesc(). 2011-03-11 11:40:31 +01:00
Henri Verbeet 756fdb7c5a wined3d: Merge the various resource desc structures. 2011-03-09 12:28:58 +01:00
Michael Stefaniuc 54a61ae734 d3d8: Finish the COM cleanup of the IDirect3DDevice8 iface. 2011-01-28 11:59:39 +01:00
Henri Verbeet 95469309d6 wined3d: Consistently use Map/Unmap for mapping resources. 2010-10-14 17:54:52 +02:00
Henri Verbeet 53183b4cf3 wined3d: IWineD3DSurface_GetDesc() should never fail. 2010-09-08 13:31:43 +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 179cee08b0 d3d8: Fix GetDevice() for surfaces that are part of a texture.
If the surface is part of a texture it doesn't keep its own reference to the
device, but instead relies on the reference the texture has. This fixes a
regression introduced by 3cedef2ffe.
2009-12-07 14:34:04 +01:00
Henri Verbeet 3cedef2ffe d3d8: Simplify GetDevice().
We already store "parentDevice", so we might as well use it.
2009-12-04 14:34:59 +01:00
Henri Verbeet f8bd01a315 d3d8: Add traces. 2009-10-19 11:45:57 +02:00
Allan Tong 6792bb8843 d3d8: Don't release the parent device before destroying its children. 2009-09-29 12:05:53 +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 e02f7b2062 d3d8: Add a separate function for surface initialization. 2009-09-15 14:32:30 -05:00
Henri Verbeet f9c791f9ca d3d8: Use a wined3d cs for wined3d locking.
We will need this for d3d10, where both dxgi and d3d10core are making wined3d
calls. Right now d3d8/d3d9 also use this to protect their own data, but
eventually we should push this down into wined3d itself and use something a
bit more fine-grained. There's no good reason that doing e.g. a vertex buffer
upload in some thread should block all of wined3d.
2009-08-25 11:12:17 +02:00
Henri Verbeet 88162fabb8 wined3d: Get rid of the pointers in WINED3DSURFACE_DESC. 2009-06-15 13:42:29 +02:00