Commit Graph

117 Commits

Author SHA1 Message Date
Jan Sikorski ce93526f48 d3d9: Don't grab wined3d lock for surface AddRef/Release().
Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-01 20:46:21 +01:00
Jan Sikorski c9b5e2a7c1 d3d9: Don't grab wined3d lock for wined3d_resource_map/unmap().
Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-19 22:51:41 +02:00
Zebediah Figura d4be20ac0d d3d9: Store the texture's parent device as a d3d9_device pointer.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-08 18:51:20 +02:00
Chip Davis 5b70e3321a d3d9: Introduce helpers to convert between d3d9 and wined3d multisample types.
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-02 12:57:17 +02:00
Alexandre Julliard 19f177360e d3d9: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-02 10:00:29 +02:00
Matteo Bruni 4e58c72e3a d3d9: Take usage flags into account when assigning map flags.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-31 00:12:57 +01:00
Józef Kucia b51bc84338 wined3d: Move wined3d_bit_scan() to public header.
wine/port.h is required for ffs().

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-25 23:09:07 +01:00
Henri Verbeet 6b86019a96 d3d9: Translate E_INVALIDARG to D3DERR_INVALIDCALL in d3d9_surface_LockRect().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-08 19:03:55 +01:00
Henri Verbeet 7cba915710 wined3d: Pass correct bind flags to texture creation functions.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-31 16:17:36 +01:00
Henri Verbeet b5d0cad40d d3d9: Explicitly translate resource map flags.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-16 14:25:03 +01:00
Matteo Bruni 3d6eb8cf1d d3d9: Handle D3DUSAGE_AUTOGENMIPMAP textures entirely in d3d9.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-14 20:37:55 +01:00
Henri Verbeet 31250d6d4d d3d9: Use the global memory allocation helpers.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-07 10:05:51 +01:00
Henri Verbeet 916c13c6c1 wined3d: Replace the pool in struct wined3d_sub_resource_desc with resource access flags.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-02 18:36:42 +01:00
Henri Verbeet 2abf1dd323 wined3d: Get rid of WINED3D_POOL_SCRATCH.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-29 20:29:00 +01:00
Henri Verbeet df6120274d wined3d: Introduce a helper function to assign wined3d_box values.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-07 11:37:28 +02:00
Józef Kucia d39630fc39 d3d9: Do not decrease swapchain surface refcount when it is already 0.
Based on a patch by Henri Verbeet.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-13 18:50:12 +01:00
Józef Kucia 6664601b83 d3d9: Return D3D_OK from UnlockRect() for not locked textures.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-13 16:27:44 +01:00
Józef Kucia e8360b8eaa d3d9: Do not create render target view while surface refcount is equal to 0.
This fixes a regression introduced by commit
b005ad6f90.

A render target view has to be created when a surface is referenced.
Otherwise the render target view reference count would be inconsistent
with the surface reference count.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-06 16:29:07 +01:00
Józef Kucia c1aba7cd8b d3d9: Reject render target surfaces created for other devices.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-03 16:18:40 +01:00
Nikolay Sivov 53b7a2a1a1 wined3d: Add texture flag to indicate GetDC() capability.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-02 23:34:25 +09:00
Henri Verbeet 53165034ba wined3d: Unify resource preloads.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-11 12:08:58 +09:00
Henri Verbeet c3d74913b7 wined3d: Be more lenient with wined3d_texture_get_dc() calls from ddraw.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-13 23:01:06 +09:00
Henri Verbeet 7fad350ccf d3d9: Use wined3d_texture_get_sub_resource_desc() in d3d9_surface_GetDesc().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-02 12:08:10 +09:00
Riccardo Bortolato edf003771b d3d9: Replace wined3d surface refcounting with 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>
2016-01-28 13:44:12 +09:00
Józef Kucia b83beb18a2 d3d9: Use wined3d_resource_{map, unmap}() instead of wined3d_texture_{map, unmap}().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-05 22:02:23 +09:00
Riccardo Bortolato 96dd793756 wined3d: Introduce wined3d_texture_release_dc().
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-28 22:31:29 +09:00
Riccardo Bortolato a2f2d238d4 wined3d: Introduce wined3d_texture_get_dc().
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-28 22:31:29 +09:00
Riccardo Bortolato 3e491662ba wined3d: Introduce wined3d_rendertarget_view_create_from_sub_resource().
Initial usage in d3d9.

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-28 22:31:28 +09:00
Riccardo Bortolato 1745c5f960 d3d9: In surface_init check for GetDC supported at texture level (avoid using a subresource).
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-22 17:31:58 +09:00
Riccardo Bortolato 8f03c4413b d3d9: Replace wined3d_surface_preload with wined3d_texture_preload.
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-21 01:04:31 +09:00
Riccardo Bortolato 9b02e116bd d3d9: Don't use a wined3d_surface in d3d9_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 736ca38d11 d3d9: Make use of wined3d_texture_unmap in d3d9_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 df1101ff68 d3d9: Make use of wined3d_texture_map in d3d9_surface_LockRect.
Also store wined3d_texture and sub_resource_idx in d3d9_surface.

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
Henri Verbeet b005ad6f90 wined3d: Use rendertarget views for color output instead of surfaces. 2014-08-21 12:24:42 +02:00
Henri Verbeet d1d48d3194 d3d9: The "forwardReference" field in struct d3d9_surface is always a texture, if set. 2014-08-18 12:47:01 +02:00
Stefan Dösinger eb0daf08c6 d3d9: Ignore SetPriority and GetPriority calls on surfaces. 2014-07-09 14:43:30 +02:00
Stefan Dösinger 50de4cda8f d3d9: Use the private store api for surfaces. 2014-03-24 20:20:17 +01:00
Stefan Dösinger 96a74e0cf7 d3d9: Introduce a resource structure. 2014-03-24 20:20:15 +01:00
Henri Verbeet afc3d2ab70 wined3d: Create surfaces inside wined3d. 2013-11-15 12:00:26 +01:00
Lasse Rasinen eeefed3dd0 d3d9: Update locked_rect only if wined3d_surface_map succeeds. 2013-10-28 19:31:12 +01:00
Henri Verbeet f31d2485be d3d9: Don't mask out internal wined3d usage flags in surface_init(). 2013-10-02 11:05:39 +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
Henri Verbeet cb9cc2ccee d3d9: Get rid of IDirect3DSurface9Impl. 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 8cef8b3587 wined3d: Unify the wined3d_mapped_rect and wined3d_mapped_box structures. 2012-04-13 10:48:51 +02:00
Henri Verbeet 949f7b4524 d3d9: COM cleanup for the IDirect3DVertexDeclaration9 interface. 2012-04-13 10:48:46 +02:00
Henri Verbeet fa3838e9de d3d9: Don't return a pointer to the implementation in IDirect3DSurface9Impl_QueryInterface(). 2012-03-30 10:44:18 +02:00