Francois Gouget
4a5d95272c
wined3d: Make wined3d_context_vk_allocate_memory() static.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-01 21:21:26 +02:00
Anton Baskanov
e3db02d0cb
wined3d: Simplify the odd line condition in gen_yv12_read().
...
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-01 21:21:19 +02:00
Anton Baskanov
f4d2bdddca
wined3d: Fix the odd line condition in gen_yv12_read().
...
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-01 21:21:16 +02:00
Jan Sikorski
b4e03a7c6e
wined3d: Avoid read-to-read resource barriers.
...
Guard against the most recent write operation instead. Accumulate read
bindings to a) not issue unnecessary barriers when a resource has
multiple read-only usages, and b) synchronize with all previous read
bindings when writing.
This is motivated by an issue where a program using a single buffer to
store both indices and vertex attributes causes superfluous barriers on
each draw call.
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-08-27 21:21:22 +02:00
Francois Gouget
135633bc20
wined3d: Fix the spelling of a comment.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-26 21:49:09 +02:00
Matteo Bruni
451dede7c0
wined3d: Clear dirty flags after calling all the state handlers in context_apply_draw_state().
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-12 23:07:06 +02:00
Matteo Bruni
aaf4ef6e62
wined3d: Don't consider texture rectangles for 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>
2021-08-12 23:07:03 +02:00
Jan Sikorski
bd4b717702
wined3d: Avoid redundantly resetting timestamp queries.
...
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-08-06 19:57:07 +02:00
Jan Sikorski
9b9f07ca84
wined3d: Don't try to reset query pools if we don't have a command buffer.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51419
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-08-06 19:57:04 +02:00
Jan Sikorski
fed705e03f
wined3d: Make use of VK_EXT_host_query_reset if available.
...
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-08-03 23:41:05 +02:00
Jan Sikorski
ad0b459ebe
wined3d: Do not request device local memory if we also want it to be host visible.
...
Some implementations do not support this combination.
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-07-29 16:50:50 +02:00
Zebediah Figura
203dd2b640
wined3d: Use a designated initializer to initialize wined3d_settings.
...
And replace ~0u with the more meaningful UINT_MAX.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-29 16:50:48 +02:00
Jan Sikorski
ba67dfe8c8
wined3d: Track queries started inside/outside of a render pass separately.
...
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-07-29 16:50:41 +02:00
Zebediah Figura
e4502cff81
wined3d: Check for failure from wined3d_device_context_require_space() in wined3d_device_context_emit_unmap().
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51485
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-27 16:39:55 +02:00
Zebediah Figura
f838d5a2b9
wined3d: Implement constant buffer offsetting for Vulkan.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-23 16:43:50 +02:00
Zebediah Figura
5fe58921bf
wined3d: Separate a helper to update Vulkan sampler bindings.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-23 16:43:50 +02:00
Zebediah Figura
17d39ff067
wined3d: Separate a helper to update Vulkan UAV counter bindings.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-23 16:43:50 +02:00
Zebediah Figura
fd6a67436b
wined3d: Separate a helper to update Vulkan UAV bindings.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-23 16:43:50 +02:00
Zebediah Figura
5c8046d7b6
wined3d: Separate a helper to update Vulkan SRV bindings.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-23 16:43:50 +02:00
Zebediah Figura
6416e39822
wined3d: Separate a helper to update Vulkan CBV bindings.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-23 16:43:50 +02:00
Zebediah Figura
5ce7adaace
d3d11: Implement constant buffer offsetting for OpenGL.
...
Based on a patch by Kimmo Myllyvirta.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45198
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-19 12:21:52 +02:00
Zebediah Figura
befaf4d612
wined3d: Set an array of rendertarget views as a single CS operation.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-19 12:21:47 +02:00
Zebediah Figura
1124edd281
d3d11: Fail OMSetRenderTargets() if any of the views have the wrong binding flags.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-19 12:21:44 +02:00
Zebediah Figura
086212ba57
wined3d: Set an arary of stream sources as a single CS operation.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-19 12:21:39 +02:00
Zebediah Figura
460eabd922
d3d11: Fail IASetVertexBuffers() if any of the offsets are unaligned.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-19 12:21:34 +02:00
Zebediah Figura
5d588eaa4f
wined3d: Set both the stream source and frequency for a given index as a single CS operation.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-19 12:21:27 +02:00
Zebediah Figura
96da563f0d
wined3d: Set the entire stream output state as a single CS operation.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-19 12:21:13 +02:00
Zebediah Figura
84d6845412
wined3d: Recursively acquire queued command lists in wined3d_cs_acquire_command_list().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-19 12:19:05 +02:00
Zebediah Figura
82be8b676c
wined3d: Fix some memory leaks when destroying deferred contexts.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-08 21:12:11 +02:00
Zebediah Figura
bc8dcae118
wined3d: Fix some memory leaks when destroying command lists.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-08 21:12:09 +02:00
Zebediah Figura
3f60840cdc
wined3d: Move the uploads array in wined3d_deferred_context_record_command_list().
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51416
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-08 21:12:06 +02:00
Henri Verbeet
c2ea032a71
wined3d: Use wined3d_mask_from_size() in shader_glsl_get_sample_function().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-08 10:51:06 +02:00
Henri Verbeet
bc70306dd2
wined3d: Use wined3d_mask_from_size() in shader_glsl_atomic().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-08 10:51:04 +02:00
Henri Verbeet
420f86c2a5
wined3d: Use wined3d_mask_from_size() in shader_glsl_ld_uav().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-08 10:51:01 +02:00
Zebediah Figura
393ea20679
wined3d: Set an array of UAVs as a single CS operation.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-07 18:14:38 +02:00
Zebediah Figura
9fdc3fd8bb
wined3d: Introduce a wined3d_bound_range() helper.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-07 18:14:35 +02:00
Zebediah Figura
34a9d3e40f
wined3d: Set an array of samplers as a single CS operation.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-06 16:06:14 +02:00
Zebediah Figura
7698b9e25a
wined3d: Set an array of shader resource views as a single CS operation.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-06 16:06:11 +02:00
Zebediah Figura
e6bbf6ee91
wined3d: Set an array of constant buffers as a single CS operation.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-06 16:06:07 +02:00
Zebediah Figura
a68cdf4a41
wined3d: Pass a wined3d_cs pointer to wined3d_not_from_cs().
...
This partially reverts 6a9752bf5e
.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-06 16:06:03 +02:00
Zebediah Figura
f2fe987907
wined3d: Factor out most of the execute_command_list callback to a common function.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-06 16:06:01 +02:00
Henri Verbeet
d888cbcb20
wined3d: Use wined3d_mask_from_size() in wined3d_render_pass_vk_init().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-05 17:52:47 +02:00
Henri Verbeet
76cef0869f
wined3d: Use wined3d_mask_from_size() in wined3d_context_vk_apply_draw_state().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-05 17:52:47 +02:00
Henri Verbeet
3ed5dd1336
wined3d: Use wined3d_mask_from_size() in state_stencil().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-05 17:52:47 +02:00
Zebediah Figura
0c36633a20
wined3d: Print a message when forcing CS serialization.
...
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-07-02 16:49:09 +02:00
Zebediah Figura
6a9752bf5e
wined3d: No longer queue WINED3D_CS_QUEUE_MAP operations through wined3d_device_context_ops.
...
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-07-01 22:34:31 +02:00
Zebediah Figura
7186d8bef5
wined3d: Implement NOOVERWRITE maps in wined3d_deferred_context_prepare_upload_bo().
...
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-07-01 22:34:31 +02:00
Zebediah Figura
65e31e4508
wined3d: Use context->ops->prepare_upload_bo() in wined3d_device_context_map() if possible.
...
This has the notable effect of implementing maps on deferred contexts.
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-07-01 22:34:31 +02:00
Zebediah Figura
75928a6a88
wined3d: Implement wined3d_deferred_context_prepare_upload_bo().
...
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-07-01 22:34:31 +02:00
Zebediah Figura
cf55fc493c
wined3d: Introduce a prepare_upload_bo device context operation and use it to upload sub-resource data.
...
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-07-01 22:34:31 +02:00