Commit Graph

1903 Commits

Author SHA1 Message Date
Józef Kucia fcb705bdea d3d9: Clamp index buffer upload range to buffer size.
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-16 17:15:06 +01:00
Józef Kucia a382c7911c d3d9: Clamp vertex buffer upload range to buffer size.
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-16 17:14:59 +01:00
Józef Kucia 2a9f248b67 d3d9/tests: Add test for clearing surfaces with different sizes.
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-10 12:33:17 -06:00
Henri Verbeet 36180aa195 d3d9: Avoid calling wined3d_device_process_vertices() with unmappable source buffers.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-08 13:07:37 -06:00
Henri Verbeet 9b1b589442 d3d9/tests: Add a test for ProcessVertices() on D3DPOOL_SYSTEMMEM buffers.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-08 11:32:26 -06:00
Józef Kucia 409463fb3c d3d9/tests: Add test for base vertex index with sysmem vertex buffers.
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-07 10:47:21 -06:00
Józef Kucia 1519977d28 d3d9: Upload vertex buffer range relative to base vertex index.
Fixes a regression introduced by b18a53a5b4.

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-07 10:47:21 -06:00
Daniel Ansorregui 14035b6d38 d3d9/tests: Fix a typo in an undef.
Signed-off-by: Daniel Ansorregui <mailszeros@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-03 17:18:26 +01:00
Józef Kucia 70a95cea66 d3d9: Fix Reset() with system memory buffers.
Fixes a regression introduced by commit
b18a53a5b4.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46362
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>
2018-12-27 22:43:47 +01:00
Paul Gofman a878b0fae8 d3d9: Fix crash in d3d9_indexbuffer_Release().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-20 20:19:12 +01:00
Paul Gofman e6c6be1cf7 d3d9: Fix crash in d3d9_vertexbuffer_Release().
If there is no draw buffer then buffer pointer gets freed in
wined3d_buffer_decref() via d3d9_vertexbuffer_wined3d_parent_ops
and consequent check for buffer->draw_buffer results in freed
memory access.

Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-20 20:19:10 +01:00
Matteo Bruni f34a19e68e d3d9: Support drawing from D3DPOOL_SYSTEMMEM index buffers.
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-12-17 22:35:22 +01:00
Henri Verbeet b18a53a5b4 d3d9: Support drawing from D3DPOOL_SYSTEMMEM vertex buffers.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45486
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-12-17 22:35:22 +01:00
Józef Kucia 133d0668b6 d3d9: Do not touch output parameter when d3d9_GetAdapterIdentifier() fails.
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>
2018-12-03 22:27:05 +01:00
Józef Kucia 0035b1109c d3d9: Do not touch output parameter when d3d9_GetAdapterLUID() fails.
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>
2018-12-03 22:27:05 +01:00
Józef Kucia 6dddb88ebe wined3d: Lock wined3d mutex in wined3d_get_adapter_identifier().
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>
2018-12-03 22:27:05 +01:00
Józef Kucia 9042fbe1e4 wined3d: Lock wined3d mutex in wined3d_swapchain_present().
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>
2018-12-03 22:27:05 +01:00
Józef Kucia 92c5d32ef4 d3d9: Remove dead code from indexbuffer_init() (Coverity).
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>
2018-11-30 19:36:51 +01:00
Józef Kucia 662e645257 wined3d: Lock wined3d mutex in wined3d_swapchain_create().
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>
2018-11-29 17:48:34 +01:00
Józef Kucia 56d2db81b3 wined3d: Lock wined3d mutex in wined3d_swapchain_decref().
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>
2018-11-29 17:48:34 +01:00
Józef Kucia bcbfcd3869 d3d9: Avoid locking wined3d mutex around wined3d_swapchain_incref().
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>
2018-11-29 17:48:34 +01:00
Henri Verbeet 175785edeb d3d9: Pass wined3d parameter types to d3d9_device_create_surface().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-23 20:17:44 +01:00
Henri Verbeet d511b67da3 d3d9: Disallow creating managed 2D textures on d3d9ex devices.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-23 20:17:44 +01:00
Henri Verbeet 4d6dfd5d19 d3d9: Disallow creating managed cube textures on d3d9ex devices.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-23 20:17:44 +01:00
Henri Verbeet 8d567bc9e2 d3d9: Disallow creating managed 3D textures on d3d9ex devices.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-22 23:55:58 +01:00
Henri Verbeet d9db221f0d d3d9: Disallow creating managed index buffers on d3d9ex devices.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-22 23:55:58 +01:00
Henri Verbeet b4590d3368 d3d9: Disallow creating managed vertex buffers on d3d9ex devices.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-22 23:55:58 +01:00
Henri Verbeet 5cc3b710c8 d3d9/tests: Add a d3d9ex resource access test.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-22 23:55:57 +01:00
Henri Verbeet 84f6459844 d3d9: Do not add map access indiscriminately in d3d9_device_create_surface().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-22 23:55:57 +01:00
Henri Verbeet 0ffaf5c28a d3d9: Do not add map access indiscriminately in cubetexture_init().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-21 17:06:34 +01:00
Henri Verbeet 949dbbd31f d3d9: Do not add map access indiscriminately in texture_init().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-21 17:06:32 +01:00
Henri Verbeet d496876122 d3d9: Disallow rendertarget and depth/stencil usage on index buffers.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-21 17:06:30 +01:00
Henri Verbeet 5e000be16e d3d9: Disallow rendertarget and depth/stencil usage on vertex buffers.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-21 17:06:24 +01:00
Henri Verbeet c3c98ed4a9 d3d9: Disallow rendertarget and depth/stencil usage on 3D textures.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-20 16:26:04 +01:00
Henri Verbeet 2843e4d3cf d3d9: Disallow index buffers in the scratch pool.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-20 16:26:04 +01:00
Henri Verbeet 9bac6f159c wined3d: Disallow dynamic rendertarget and depth/stencil resources.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-19 22:42:41 +01:00
Henri Verbeet 0bae2bed43 wined3d: Require exclusive GPU access for rendertarget and depth/stencil resources.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-19 22:42:41 +01:00
Henri Verbeet 54d63891f3 wined3d: Allow binding scratch textures.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-19 22:42:41 +01:00
Henri Verbeet 87871e75e4 wined3d: Validate that the view resource has depth/stencil bind flags in wined3d_device_set_depth_stencil_view().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-19 22:42:41 +01:00
Henri Verbeet 081602c4f7 d3d9/tests: Add a resource access test.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-19 22:42:41 +01:00
Henri Verbeet d7bb33becd d3d9: Do not specify WINED3D_TEXTURE_CREATE_MAPPABLE in d3d9_device_CreateDepthStencilSurfaceEx().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-09 21:08:09 +01:00
Henri Verbeet 719f0d7a35 d3d9: Do not specify WINED3D_TEXTURE_CREATE_MAPPABLE in d3d9_device_CreateDepthStencilSurface().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-09 21:08:09 +01:00
Henri Verbeet 4ef181df6d d3d9: Do not specify WINED3D_TEXTURE_CREATE_MAPPABLE in cubetexture_init().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-09 21:08:09 +01:00
Henri Verbeet ee4c5bb3e3 d3d9: Do not specify WINED3D_TEXTURE_CREATE_MAPPABLE in texture_init().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-09 21:08:09 +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 471715b946 d3d9: Do not set WINED3D_TEXTURE_CREATE_MAPPABLE for swapchain textures.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-08 19:03:51 +01:00
Henri Verbeet 2266e28951 d3d9: Only set WINED3D_SWAPCHAIN_GDI_COMPATIBLE on mappable swapchains.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-08 19:03:30 +01:00
Henri Verbeet 282bdd33d5 d3d9: Set WINED3D_SWAPCHAIN_GDI_COMPATIBLE on the swapchain when required.
Instead of injecting WINED3D_TEXTURE_CREATE_GET_DC during device_parent_create_swapchain_texture().

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-07 16:54:57 +01:00
Henri Verbeet a4f047da10 d3d9/tests: Test the pool and usage of surfaces created through CreateOffscreenPlainSurface().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-07 16:54:45 +01:00
Henri Verbeet 77ca0cc932 d3d9/tests: Use create_window() in more tests.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-06 11:14:37 +01:00