Henri Verbeet
3cc8147594
wined3d: Use glFinish() for synchronisation when cleaning up a destroyed context in wined3d_context_gl_cleanup().
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50485
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-15 10:09:57 +01:00
Zebediah Figura
9cbe273558
wined3d: Use debug_d3dusage() for both usage and usage query flags.
...
Avoid spurious FIXME messages in wined3d_check_device_format().
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-01-04 17:12:45 +01:00
Henri Verbeet
afac4f09c7
wined3d: Do not create Vulkan 2D (array) views for UAVs on 3D resources.
...
We should simply create 3D views.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50123
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-16 16:22:36 +01:00
Henri Verbeet
619c87bb59
wined3d: Avoid referencing empty command buffers in wined3d_query_event_vk_issue().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-15 22:09:21 +01:00
Henri Verbeet
353e84015b
wined3d: Zero-initialise context_vk in wined3d_context_vk_init().
...
wined3d_context_vk_init() assumes zero-initialised memory, but that's not
necessarily true in case we previously went through an
adapter_vk_init_3d()/adapter_vk_uninit_3d() pair.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-15 22:09:21 +01:00
Rafał Harabień
e6c777d26d
d3d9: Fix handling of D3DENUM_WHQL_LEVEL.
...
D3DENUM_NO_WHQL_LEVEL from Direct3D 8 was replaced with D3DENUM_WHQL_LEVEL in
Direct3D 9.
Signed-off-by: Rafał Harabień <rafalh92@outlook.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-14 16:21:49 +01:00
Henri Verbeet
85152f3a50
wined3d: The Vulkan blitter supports depth blits.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50123
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-14 16:21:47 +01:00
Henri Verbeet
b4e109f2f5
wined3d: Unmap the slab if needed in wined3d_context_vk_destroy_bo().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-14 16:21:45 +01:00
Henri Verbeet
9992d710e4
wined3d: Unmap the chunk if needed in wined3d_context_vk_destroy_bo().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-14 16:21:42 +01:00
Henri Verbeet
4e7be88990
wined3d: Only clear "map_ptr" if the memory was unmapped in wined3d_allocator_chunk_vk_unmap().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-14 16:21:40 +01:00
Henri Verbeet
46c7f66cf3
wined3d: Compare requested memory types in wined3d_bo_slab_vk_compare().
...
Instead of comparing the requested memory type against what we actually got.
For example, we may have gotten coherent memory without having explicitly
requested it, in which case wined3d_context_vk_create_slab_bo() would fail to
find an existing slab to allocate from.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-14 16:21:37 +01:00
Henri Verbeet
675adf0163
wined3d: Do not request VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT for unmappable buffers.
...
In particular, some implementations may not support the combination of
VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT and VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT
for all buffer types, or at all.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-10 16:26:39 +01:00
Henri Verbeet
ff0aa5a8da
wined3d: Request VK_MEMORY_PROPERTY_HOST_CACHED_BIT for WINED3D_RESOURCE_ACCESS_MAP_R buffers.
...
Unsurprisingly, reading for uncached memory may be very slow.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-10 16:26:36 +01:00
Henri Verbeet
ddd55cadb8
wined3d: Do not request VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT for dynamic buffers.
...
We don't typically need these to be in VRAM, and VRAM may not be mappable.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-10 16:26:32 +01:00
Henri Verbeet
6f55c8d1c5
wined3d: Use an sRGB fallback format for sRGB formats in wined3d_swapchain_vk_select_vk_format().
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50121
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-09 16:29:28 +01:00
Henri Verbeet
97558b6550
wined3d: Ensure the last mip-level is at least large enough to hold a single compressed block.
...
This fixes a regression exposed by commit
ca0c3f770a
, but probably originally introduced
by commit 3f7e5d647e
.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48362
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-09 16:29:24 +01:00
Matteo Bruni
d989d449c3
wined3d: Allow forcing commands serialization in the CS thread.
...
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-12-04 18:39:48 +01:00
Matteo Bruni
5031b9a994
wined3d: Rename d3d_synchronous debug channel to d3d_sync.
...
The old name exceeded the maximum size of 14 characters.
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-12-04 18:39:44 +01:00
Henri Verbeet
b2748a99fd
wined3d: Handle GL_APPLE_flush_buffer_range flushing in wined3d_context_gl_unmap_bo_address().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-04 16:36:45 +01:00
Henri Verbeet
1044bc4a05
wined3d: Get rid of redundant DISCARD filtering.
...
Now that we handle DISCARD maps ourselves, this happens implicitly.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-04 16:36:43 +01:00
Henri Verbeet
8b3cc57df0
wined3d: Allocate a new bo for busy DISCARD maps.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-04 16:36:40 +01:00
Henri Verbeet
4c5581c2eb
wined3d: Use the "bo user" mechanism to invalidate existing bindings in wined3d_buffer_gl_destroy_buffer_object().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-04 16:36:36 +01:00
Henri Verbeet
d52a75a795
wined3d: Explicitly synchronise in wined3d_context_gl_map_bo_address().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-03 20:18:39 +01:00
Henri Verbeet
5333cd0612
wined3d: Reference the bo in wined3d_buffer_gl_upload_ranges().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-03 20:18:39 +01:00
Henri Verbeet
736ac3eaf9
wined3d: Reference the bo in wined3d_texture_gl_download_data().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-03 20:18:39 +01:00
Henri Verbeet
6f8c918d86
wined3d: Reference the bo in wined3d_texture_gl_download_data_slow_path().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-03 20:18:39 +01:00
Henri Verbeet
17e51124f9
wined3d: Reference the bo in wined3d_texture_gl_upload_data().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-03 20:18:39 +01:00
Andrey Gusev
c1c129f3b8
wined3d: Add NVIDIA GeForce GTX 1060 Mobile.
...
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-03 20:18:38 +01:00
Henri Verbeet
42f90354ba
wined3d: Reference the source/destination bo in wined3d_texture_copy_sysmem_location().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 19:08:04 +01:00
Henri Verbeet
c123ff8881
wined3d: Reference the bo (if any) in texture2d_read_from_framebuffer().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 19:08:04 +01:00
Henri Verbeet
5a9c2f2de1
wined3d: Reference the constant buffer bo in context_gl_load_shader_resources().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 19:08:04 +01:00
Henri Verbeet
e29877ee42
wined3d: Reference the SRV bo in context_load_shader_resources().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 19:08:04 +01:00
Henri Verbeet
a0abc66566
wined3d: Reference the UAV bo in context_load_unordered_access_resources().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 19:08:04 +01:00
Matteo Bruni
4adfe31003
wined3d: Get rid of an unnecessary assignment.
...
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-12-02 19:08:04 +01:00
Henri Verbeet
56f1ce6be6
wined3d: Reference the stream output bo in context_load_stream_output_buffers().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 19:52:11 +01:00
Henri Verbeet
587174be8b
wined3d: Reference the indirect buffer bo in dispatch_compute().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 19:52:11 +01:00
Henri Verbeet
a381f0cae8
wined3d: Reference the indirect buffer bo in wined3d_context_gl_draw_indirect().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 19:52:11 +01:00
Henri Verbeet
14ed6b1ce3
wined3d: Reference the bo in wined3d_unordered_access_view_gl_clear_uint().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 19:52:11 +01:00
Henri Verbeet
20c828bdc5
wined3d: Reference the source/destination bo in wined3d_context_gl_copy_bo_address().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 19:52:11 +01:00
Alexandre Julliard
2bc3c8463d
libport: Remove the isfinite/isinf/isnan function replacements.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 10:43:01 +01:00
Alexandre Julliard
db7c934f8e
libport: Remove the strnlen() function replacement.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 10:19:50 +01:00
Henri Verbeet
a7c320d184
wined3d: Use command buffer IDs for synchronisation in wined3d_buffer_gl_sync_apple().
...
Analogous to the Vulkan adapter. This is slightly awkward in OpenGL
because it doesn't have explicit command buffers like Vulkan, but
calling wined3d_context_gl_submit_command_fence() on swapchain present
works well enough in practice. The main advantage of this approach is that it
avoids using a separate fence for each usage of each bo.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 21:36:12 +01:00
Matteo Bruni
77f0149a6c
wined3d: Use GL_ARB_buffer_storage if available.
...
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-11-30 21:36:10 +01:00
Matteo Bruni
90f33067da
wined3d: Introduce wined3d_context_gl_create_bo().
...
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-11-30 21:36:05 +01:00
Henri Verbeet
db42859977
wined3d: Store the usage in struct wined3d_bo_gl.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 21:36:01 +01:00
Matteo Bruni
0638d50b22
wined3d: Introduce wined3d_context_gl_destroy_bo().
...
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-11-30 21:35:58 +01:00
Matteo Bruni
22c6334656
wined3d: Add a trace to wined3d_context_gl_bind_fbo().
...
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-11-26 23:25:24 +01:00
Matteo Bruni
881e0a4310
wined3d: Use glClearDepthf() when available.
...
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-11-26 23:25:24 +01:00
Matteo Bruni
7b23056c0b
wined3d: Ignore WINED3DFMT_NULL rendertarget in D/S size checks.
...
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-11-26 23:25:24 +01:00
Zhiyi Zhang
d8c9671d4d
wined3d: Do not use wined3d_output_get_desc() to retrieve display rotation.
...
Most of the time when wined3d_output_get_desc() is called, display rotation is not needed.
Retrieving display rotation is quite expensive because it needs to query information from XRandR.
So use wined3d_output_get_display_mode() to retrieve display rotation when needed.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50096
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-23 21:05:05 +01:00