Commit Graph

606 Commits

Author SHA1 Message Date
Henri Verbeet 2c842f71bf wined3d: Move the raw blitter to texture.c.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-23 09:12:25 +02:00
Henri Verbeet 6ec2110cde wined3d: Move the FBO blitter to texture.c.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-23 09:12:22 +02:00
Henri Verbeet 445d37f5d2 wined3d: Move the OpenGL fixed-function blitter to texture.c.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-23 09:12:19 +02:00
Henri Verbeet 32d17f1e9a wined3d: Drop the "bind_flags" parameter to wined3d_adapter_ops.adapter_map_bo_address().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-22 16:47:41 +02:00
Henri Verbeet cef12f97d6 wined3d: Drop the "bind_flags" parameter to wined3d_adapter_ops.adapter_unmap_bo_address().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-22 16:47:41 +02:00
Henri Verbeet b29ea85885 wined3d: Use the bo binding in wined3d_context_gl_unmap_bo_address().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-22 16:47:41 +02:00
Henri Verbeet 7d43577d89 wined3d: Use the bo binding in wined3d_context_gl_map_bo_address().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-22 16:47:41 +02:00
Henri Verbeet 1fb85cd573 wined3d: Store the preferred binding in the wined3d_bo_gl structure.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-21 22:54:26 +02:00
Henri Verbeet 77fe33f5d9 wined3d: Introduce a structure for OpenGL buffer objects.
Analogous to the wined3d_bo_vk structure for Vulkan.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-21 22:54:26 +02:00
Henri Verbeet f31a29b8d1 wined3d: Introduce a slab allocator for small buffers.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-20 21:11:14 +02:00
Henri Verbeet 01cd409e3c wined3d: Implement Vulkan texture downloads.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-20 21:11:06 +02:00
Henri Verbeet 3685c2199b wined3d: Implement Vulkan texture uploads.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-20 21:10:58 +02:00
Henri Verbeet 07981fa64f wined3d: Create Vulkan images for texture resources.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-20 21:10:48 +02:00
Paul Gofman e9961039ec wined3d: Validate the filter in wined3d_texture_blt().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=41929
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-16 21:37:43 +01:00
Matteo Bruni 8d87bce071 wined3d: Rename struct wined3d_map_range to struct wined3d_range.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-27 23:34:51 +01:00
Akihiro Sagawa c90d34178d wined3d: Record dirty regions for d3d9 textures.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-10 22:15:05 +01:00
Henri Verbeet ca0c3f770a wined3d: Unload texture resources through texture ops.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-06 22:30:24 +01:00
Henri Verbeet 153db6a757 wined3d: Do not download textures to WINED3D_LOCATION_BUFFER in wined3d_texture_gl_unload().
Since we remove any potential PBO a few lines later.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-03 21:27:14 +01:00
Henri Verbeet b941665b42 wined3d: Destroy PBOs in wined3d_texture_gl_destroy_object().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-03 21:27:14 +01:00
Henri Verbeet 7930553efc wined3d: Store texture sub-resource buffer objects as uintptr_t.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-03 21:27:14 +01:00
Akihiro Sagawa 0a61ddbdf1 wined3d: Validate dirty regions in wined3d_texture_add_dirty_region().
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-02 22:02:57 +01:00
Paul Gofman e2dfb91093 wined3d: Fixup alpha component in wined3d_texture_gl_upload_data().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=35194
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=25486
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-13 19:53:37 +01:00
Paul Gofman a73a892f46 wined3d: Use software decompression for converting from compressed format.
The motivation under this is not just supporting conversion between
compressed formats. Currently fallback CPU blitter cannot convert
from DXTn formats at all, this patch allows for that if software
decompression function is available.

Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-11 20:01:40 +01:00
Paul Gofman 06909230c4 wined3d: Upload 3d GL textures per-slice when conversion is involved.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-18 20:04:45 +02:00
Paul Gofman b7d2ba9d8f wined3d: Pass correct map size in wined3d_texture_gl_upload_data().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-18 20:04:42 +02:00
Paul Gofman 7474d665be wined3d: Factor out wined3d_texture_gl_upload_bo() function.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-18 20:04:40 +02:00
Paul Gofman 85c0c49af7 wined3d: Support zero row pitch in wined3d_texture_gl_upload_data().
Fixes Wine test failure in d3d11 test_copy_subresource_region().
The test failure could be unstable as there was read after data
end in glTexSubImage2D() called from wined3d_texture_gl_upload_data().

Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-30 22:24:27 +02:00
Henri Verbeet c2f0ae50b4 wined3d: Use explicit flushing in wined3d_context_gl_unmap_bo_address().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-23 19:44:17 +02:00
Henri Verbeet 2bc6941ab0 wined3d: Derive the GL bind point for buffer object maps from the bind flags.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-23 19:44:17 +02:00
Henri Verbeet af8401ba0c wined3d: Introduce WINED3D_TEXTURE_DOWNLOADABLE.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-19 14:12:49 +02:00
Henri Verbeet 1419a06819 wined3d: Merge wined3d_texture_upload_data() and wined3d_texture_gl_upload_data().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-16 10:09:06 +02:00
Henri Verbeet 400a0dcc8b wined3d: Map/unmap bo addresses through the adapter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-16 10:09:04 +02:00
Henri Verbeet 75ee0aa9b9 wined3d: Introduce wined3d_texture_ops.texture_prepare_location().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-16 10:09:02 +02:00
Henri Verbeet 3179a6af29 wined3d: Introduce wined3d_resource_prepare_sysmem().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-16 10:08:52 +02:00
Henri Verbeet e3e9bdeedb wined3d: Make the adapter responsible for texture creation and destruction.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-13 11:02:40 +02:00
Henri Verbeet da3eb0e752 wined3d: Don't call wined3d_texture_prepare_location() with a NULL context in wined3d_texture_update_desc().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-12 09:32:31 +02:00
Henri Verbeet 3bc8df5166 wined3d: Invalidate the relevant sampler when unloading a currently bound texture.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-07 19:56:20 +02:00
Henri Verbeet 74b9ef2c1d wined3d: Move the "gl_info" field from struct wined3d_context to struct wined3d_context_gl.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-07 19:56:16 +02:00
Henri Verbeet b848b2bcf3 wined3d: Pass a wined3d_context_gl structure to texture_download_data_slow_path().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-02 08:58:53 +02:00
Henri Verbeet 7b62dcf0bb wined3d: Don't acquire a context in wined3d_texture_load_drawable().
The one we already have should be fine.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-31 08:29:31 +02:00
Henri Verbeet 3bc3fce811 wined3d: Merge wined3d_texture_download_data() and wined3d_texture_gl_download_data().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-05 17:43:54 +02:00
Henri Verbeet 1f8a3b04b9 wined3d: Move texture2d_load_renderbuffer() to texture.c.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-25 08:27:21 +02:00
Henri Verbeet 7fae37c0e1 wined3d: Move texture2d_load_drawable() to texture.c.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-24 10:08:27 +02:00
Henri Verbeet 3595c42a62 wined3d: Merge the wined3d_texture_gl texture ops implementations.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-21 08:05:52 +02:00
Henri Verbeet 9de80e1edd wined3d: Use wined3d_texture_gl_load_texture() in texture3d_load_location().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-20 08:47:34 +02:00
Henri Verbeet c4ba02aac4 wined3d: Use texture2d_load_texture() in texture1d_load_location().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-19 10:26:16 +02:00
Henri Verbeet 19470fc870 wined3d: Use wined3d_texture_gl_load_sysmem() in texture3d_load_location().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-18 08:57:16 +02:00
Henri Verbeet 410cf7d24c wined3d: Use texture2d_load_sysmem() in texture1d_load_location().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-17 20:47:46 +02:00
Henri Verbeet 8e6d89b752 wined3d: Download texture data through the texture ops in wined3d_texture_download_from_texture().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-14 18:19:20 +02:00
Henri Verbeet eb5afc560c wined3d: Upload texture data through the texture ops in wined3d_texture_upload_from_texture().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-13 20:55:35 +02:00