Commit Graph

10649 Commits

Author SHA1 Message Date
Jan Sikorski 8e40f98c3e wined3d: Make wined3d_texture_update_map_binding() backend-independent.
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-09-15 19:34:23 +02:00
Henri Verbeet 554a4a111a wined3d: Use wined3d_mask_from_size() in wined3d_fixup_alpha().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 18:28:20 +02:00
Henri Verbeet 4261369e5d wined3d: Use WGL_SWAP_COPY_ARB for swapchains with COPY swap effects, if available.
Avoiding the (slow) GDI present path.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 18:28:18 +02:00
Henri Verbeet 6181b0ea27 wined3d: Use GDI blits for partial presents with COPY swap effects.
The GL/Vulkan backbuffer contents are undefined after a buffer swap.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 18:28:16 +02:00
Henri Verbeet 830522e196 wined3d: Get rid of the "render_to_fbo" field from the wined3d_swapchain structure.
It's effectively always true when using ORM_FBO, now that the
"AlwaysOffscreen" setting is gone.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 18:28:14 +02:00
Henri Verbeet b535dea0aa wined3d: Do not attempt to restore GL contexts corresponding to wined3d contexts in wined3d_context_gl_cleanup().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 18:28:11 +02:00
Jan Sikorski 9d9d44e44b wined3d: Allow constant buffers to be forced to be write-mappable.
Using a registry setting. Games sometimes use DEFAULT usage and no CPU
access combined with UpdateSubresource() for often-changing constants,
causing us to interrupt the render pass and transfer through a staging
buffer on each update. In such cases forcing the buffers to be mappable
greatly increases performance.

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-09-13 19:57:28 +02:00
Jan Sikorski d23f1007d2 wined3d: Remove wined3d_texture_copy_sysmem_location().
Use wined3d_context_copy_bo_address() instead.

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-09-09 21:11:48 +02:00
Nikolay Sivov a408fdf5f5 wined3d: Handle null semantics in stream output description cache.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-09 21:11:30 +02:00
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
Henri Verbeet 107fa122cc wined3d: Only set valid transform states in wined3d_device_context_set_state().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-01 22:34:31 +02:00
Henri Verbeet 87ed274d98 wined3d: Only set valid render states in wined3d_device_context_set_state().
Somewhat similar to commit 0170bb0e54,
setting invalid render states ends up invalidating invalid state IDs.

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 f5a22e4310 wined3d: Pass a wined3d_const_bo_address to wined3d_cs_exec_update_sub_resource().
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-06-29 15:31:28 +02:00
Zebediah Figura a260928b81 wined3d: Use wined3d_buffer_copy_bo_address() in wined3d_cs_exec_update_sub_resource().
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-06-29 15:31:26 +02:00
Zebediah Figura 447a748c51 wined3d: Create buffers with a format of WINED3DFMT_R8_UNORM.
Allow things like wined3d_format_copy_data() to work on them.

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-06-29 15:31:24 +02:00
Jan Sikorski f165b911d8 wined3d: Avoid ending the renderpass when issuing a query.
Allocate a fresh query index that does not need to be reset.
Reset query pools at creation and when the render pass is ended.

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-06-29 15:31:21 +02:00
Zebediah Figura 08c96a4888 wined3d: Move box validation to wined3d_device_context_map().
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-06-28 19:43:28 +02:00
Zebediah Figura 2e06677570 wined3d: Pass a wined3d_resource and sub-resource index to wined3d_texture_check_box_dimensions().
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-06-28 19:43:28 +02:00
Henri Verbeet 64ab905758 wined3d: Use wined3d_mask_from_size() in find_draw_buffers_mask().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-25 22:48:48 +02:00
Henri Verbeet 0fd45ba2be wined3d: Use wined3d_mask_from_size() in wined3d_context_gl_enable_clip_distances().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-25 22:48:48 +02:00
Henri Verbeet d5fa539749 wined3d: Use wined3d_mask_from_size() in glsl_blitter_blit().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-25 22:48:48 +02:00
Henri Verbeet 260b11a193 wined3d: Use wined3d_mask_from_size() in arbfp_blitter_blit().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-25 22:48:48 +02:00
Henri Verbeet 0170bb0e54 wined3d: Only invalidate valid state IDs in wined3d_cs_exec_reset_state().
Not every state ID between 0 and STATE_HIGHEST is valid; for example, there
are holes in the renderstate IDs. While invalidating these works fine,
attempting to subsequently apply them in e.g. context_apply_draw_state() ends
up calling state_undefined() and printing an ERR. This is especially visible
when running the d2d1 tests.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-25 22:48:48 +02:00
Zebediah Figura 61024aa12f wined3d: Return the map pitch in wined3d_device_context_map().
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-06-25 22:48:47 +02:00
Zebediah Figura 236afee0da wined3d: Always pass a non-NULL box to context->ops->map().
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-06-25 22:48:47 +02:00
Zebediah Figura e275504859 wined3d: Use a wined3d_resource operation to retrieve the resource dimensions in wined3d_device_context_update_sub_resource().
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-06-25 22:48:47 +02:00
Zebediah Figura f226540ee2 wined3d: Do not use a staging buffer if discarding a mappable buffer in adapter_vk_copy_bo_address().
As in wined3d_buffer_vk_upload_ranges().

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-06-22 17:57:47 +02:00
Zebediah Figura 783c850d96 wined3d: Factor out wined3d_buffer_copy_bo_address().
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-06-22 17:57:47 +02:00
Zebediah Figura 334a3bbe37 wined3d: Handle WINED3D_LOCATION_DISCARDED in wined3d_buffer_get_memory().
This can't currently happen. However, we'd like to use
wined3d_buffer_get_memory() in wined3d_cs_exec_update_sub_resource(). This would
probably also help in implementing ID3D11DeviceContext1::DiscardResource().

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-06-22 17:57:47 +02:00
Zebediah Figura 9c1a80f433 wined3d: Remove the now redundant "locations" parameter from wined3d_buffer_get_memory().
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-06-22 17:57:47 +02:00
Zebediah Figura a48513f114 wined3d: Do not call wined3d_buffer_get_memory() in wined3d_buffer_init_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-06-22 17:57:47 +02:00
Henri Verbeet 2aeab85c27 wined3d: Add decompression information for BC4_UNORM.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-22 17:57:47 +02:00
Jan Sikorski 25271032df wined3d: Don't pass a 3D texture view's depth range as layer range to Vulkan.
Layer index and count fields in struct wined3d_view_desc double as the depth range of a 3D texture view.

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-06-14 21:13:38 +02:00
Jan Sikorski 2d44949360 wined3d: Fix typo in wined3d_texture_vk_prepare_texture().
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-06-11 20:27:40 +02:00
Francois Gouget 2fb789f5c6 wined3d: Avoid an unneeded NULL cast.
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-06-10 20:49:31 +02:00
Nguyễn Chính Hữu 8854fd2b07 wined3d: Add GPU information for NVIDIA GT 1030.
Signed-off-by: Nguyễn Chính Hữu <huupoke12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-10 20:46:58 +02:00
Henri Verbeet b6ca5e50a6 wined3d: Use the texture level count to calculate sub-resource indices for Vulkan mip-map generation.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-07 21:24:34 +02:00
Henri Verbeet 27845d2fbd wined3d: Use the texture level count to calculate sub-resource indices for OpenGL mip-map generation.
Instead of the view's level count, which may be different.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-07 21:24:32 +02:00
Henri Verbeet 81fc2e6ab6 d3d11: Implement d3d11_device_context_ClearUnorderedAccessViewFloat().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-07 21:24:29 +02:00
Henri Verbeet 126f0e6ed3 wined3d: Implement OpenGL image UAV clears using ARB_clear_texture.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-07 21:24:25 +02:00
Henri Verbeet cc31ca8885 wined3d: Introduce wined3d_mask_from_size().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-07 21:24:23 +02:00
Matteo Bruni 2f5a01201c wined3d: Don't pass the swizzle map to find_vs_compile_args() separately.
It's already part of the context.

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-06-01 21:24:54 +02:00
Matteo Bruni 8127ea1f84 wined3d: Remove access to gl_info from find_ps_compile_args().
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-06-01 21:24:51 +02:00
Matteo Bruni 7c578c14db wined3d: Avoid Y correction on dFdy when using FBO ORM.
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-06-01 21:24:49 +02:00
Matteo Bruni 7ab5f90396 wined3d: Rename gen_ffp_frag_op().
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-06-01 21:24:46 +02:00
Matteo Bruni e106bbdd39 wined3d: Don't skip FFP vertex pipeline state handlers when STATE_VDECL is dirty.
This fixes the non-default ARB shader backend, broken since
2ddb6b66a7, although the
fundamental issue was there long before that.

Originally the STATE_VDECL handler did some bookkeeping (basically,
computing what is now the stream info data) that's a prerequisite for
running other state handlers. For this reason a somewhat complicated
dance was put in place, with the dependent handlers returning right
away until the STATE_VDECL handler could prepare everything up and the
STATE_VDECL handler in turn explicitly calling these "downstream"
handlers so that they could do their job. With the commit mentioned
above the state dirty flags are cleared after the corresponding
handlers are executed, which means that the relevant handlers are
skipped twice and some stuff is never set up properly.

Stream info is computed by context_apply_draw_state() before going
through the state handler table for a long time now, getting rid of
this obscure handler interdependency. So let's just get rid of the
skipping altogether.

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-06-01 21:24:42 +02:00
Henri Verbeet a5ed207ab0 wined3d: Allow zero width/height for fullscreen swapchains as well in wined3d_swapchain_resize_buffers().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-27 21:25:31 +02:00
Zebediah Figura d0052d9127 d3d11: Implement ID3D11DeviceContext::ExecuteCommandList().
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-05-27 21:25:29 +02:00
Zebediah Figura 5551171860 wined3d: Implement restoring context in wined3d_deferred_context_record_command_list().
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-05-27 21:25:25 +02:00
Zebediah Figura 01658a4a8e d3d11: Implement ID3D11DeviceContext::FinishCommandList().
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-05-27 21:25:22 +02:00
Zebediah Figura 97d3ea26b9 d3d11: Implement ID3D11DeviceContext::ClearState() using a single CS op.
Specifically, tweak and make use of the already existing
WINED3D_CS_OP_RESET_STATE.

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-05-27 21:25:17 +02:00
Zebediah Figura eae83897f5 wined3d: Keep a list of acquired resources in struct wined3d_deferred_context.
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-05-27 21:25:13 +02:00
Zebediah Figura 60027fcc23 d3d11: Implement ID3D11Device::CreateDeferredContext().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=42191
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-05-27 21:25:06 +02:00
Zebediah Figura a17c0a7213 wined3d: Store the framebuffer state inline in struct wined3d_cs_clear.
Avoid storing pointers to the CS data inside individual ops, so that we can
reallocate the queue when appending data to a deferred context, or copy the
queue contents to a command list.

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-05-27 21:25:02 +02:00
Zebediah Figura 98f7be8540 wined3d: Fix a spelling error in a comment.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-25 21:13:00 +02:00
Zebediah Figura 57fc75b3ef wined3d: Check for SRV/RTV binding conflicts per wined3d_state.
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-05-24 22:38:46 +02:00
Zebediah Figura caa039466b wined3d: Remove no longer used wined3d_device functions.
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-05-20 21:48:57 +02:00
Zebediah Figura ac7a67fa7f wined3d: Use wined3d_device_context functions internally where possible.
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-05-20 21:48:57 +02:00
Zebediah Figura b069e48c13 wined3d: Pass a wined3d_device_context to wined3d_device_set_state().
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-05-17 18:49:10 +02:00
Zebediah Figura 308dd8bd32 wined3d: Pass a wined3d_device_context to wined3d_device_set_render_state().
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-05-17 18:49:10 +02:00
Zebediah Figura 1d578e367d wined3d: Pass a wined3d_device_context to wined3d_device_set_light().
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-05-17 18:49:10 +02:00
Zebediah Figura 3b2f892c4c wined3d: Make wined3d_texture_set_map_binding() static.
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-05-17 18:49:10 +02:00
Brendan Shanks f074862504 wined3d: Add GPU information for Intel UHD Graphics 630.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-14 20:56:02 +02:00
Zebediah Figura adb45b0ad8 wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_light().
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-05-14 20:56:02 +02:00
Zebediah Figura 692a3128b4 wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_light_enable().
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-05-14 20:56:02 +02:00
Zebediah Figura 7da27fc327 wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_material().
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-05-14 20:56:02 +02:00
Zebediah Figura 30501be16d wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_clip_plane().
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-05-14 20:56:02 +02:00
Zebediah Figura 6f9e338599 wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_transform().
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-05-14 20:56:02 +02:00
Zebediah Figura 29e1fcdac7 wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_sampler_state().
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-05-12 20:33:26 +02:00
Zebediah Figura 026a082daf wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_texture_state().
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-05-12 20:33:23 +02:00
Zebediah Figura 8853b1007e wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_texture().
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-05-12 20:33:21 +02:00
Zebediah Figura f3b11720ea wined3d: Pass a wined3d_device_context to wined3d_cs_push_constants().
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-05-12 20:33:19 +02:00
Zebediah Figura 51dc6dc614 wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_feature_level().
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-05-12 20:33:16 +02:00
Zebediah Figura a02a4614bd wined3d: Use the correct device context ops in wined3d_device_context_issue_query().
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-05-11 18:30:50 +02:00
Francois Gouget 7a94687f46 wined3d: Add a trailing linefeed to a couple of FIXME().
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-06 19:49:54 +02:00
Henri Verbeet ca289c2b39 wined3d: Reject raw blits between depth/stencil and colour resources in the GLSL blitter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-06 18:53:49 +02:00
Henri Verbeet 850f465c67 wined3d: Reject blits between depth/stencil and colour attachments in the FBO blitter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-06 18:53:49 +02:00
Henri Verbeet 769e2be52f wined3d: Reject blits between depth/stencil and colour resources in the raw blitter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-06 18:53:49 +02:00
Zebediah Figura d5b42009cd wined3d: Update resources 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-05-06 18:53:48 +02:00
Zebediah Figura 574b715255 wined3d: Modify the query state in wined3d_cs_issue_query().
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-05-06 18:53:48 +02:00
Zebediah Figura 3f3caa3380 wined3d: Wait for the resource to become idle in wined3d_cs_map().
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-05-06 18:53:48 +02:00
Zebediah Figura 1ecc334df8 wined3d: Acquire resources 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-05-06 18:53:48 +02:00
Henri Verbeet 6eaf494fac wined3d: Implement Vulkan NULL 1D array image shader resource view descriptors.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-05 21:52:23 +02:00
Zebediah Figura 2b924c7f41 wined3d: No longer export wined3d_device_set_render_state().
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-05-05 21:52:22 +02:00
Jan Sikorski ef7b2180cf wined3d: Make sure scissor offsets are not negative.
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-05-04 21:33:15 +02:00
Henri Verbeet ca03802a45 wined3d: Only read "*rect_count" when "rects" is non-NULL in wined3d_device_context_get_scissor_rects() (Valgrind).
When "rects" is NULL, "*rect_count" is potentially uninitialised. That's
fairly benign because the resulting "count" value is inconsequential in that
case, but it's also unnecessary, and easy to avoid.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-29 23:37:46 +02:00
Henri Verbeet 55795588f4 wined3d: Free the program variants array in shader_spirv_destroy() (Valgrind).
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-29 23:37:46 +02:00
Henri Verbeet 7e64eba5b3 wined3d: Avoid accessing the bo_user list from outside the command stream thread (Valgrind).
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-29 23:37:46 +02:00
Jan Sikorski d94746314e wined3d: Create null vertex bindings and attributes for unbound shader inputs.
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-04-27 21:27:40 +02:00
Henri Verbeet 0184f1d242 wined3d: Correct the wined3d_device_set_depth_stencil_state() .spec entry.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-26 21:34:02 +02:00
Henri Verbeet e6d9538c7d wined3d: Correct the wined3d_device_set_blend_state() .spec entry.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-26 21:34:02 +02:00
Zebediah Figura 5cd23ae872 wined3d: Pass a wined3d_device_context to wined3d_device_get_primitive_type().
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-21 21:20:55 +02:00
Zebediah Figura ea5041c68a wined3d: Pass a wined3d_device_context to wined3d_device_set_primitive_type().
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-21 21:20:55 +02:00
Zebediah Figura bba5923bbe wined3d: Pass a wined3d_device_context to wined3d_device_get_stream_output().
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-21 21:20:55 +02:00
Zebediah Figura 4d459f4395 wined3d: Pass a wined3d_device_context to wined3d_device_get_stream_source().
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-21 21:20:55 +02:00
Henri Verbeet 3847eca099 wined3d: Use wglSetPixelFormatWINE() in wined3d_context_gl_set_pixel_format() if we can.
Based on a patch by Connor McAdams.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-20 22:57:11 +02:00
Jan Sikorski d71358f5e9 wined3d: Prevent buildup of retired buffer objects' memory.
Submit current command buffer in wined3d_context_vk_get_command_buffer()
and return a new one if the total size of retired buffer objects on that
command buffer crosses a predefined threshold.

One way this issue may arise is when an application, by repeatedly doing
resource updates, does not trigger a flush of the command buffer and
accumulates transient staging buffers.

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-04-20 22:57:11 +02:00
Zebediah Figura 77319190d1 wined3d: Pass a wined3d_device_context to wined3d_device_get_vertex_declaration().
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-20 22:57:11 +02:00
Zebediah Figura 8bd4aacb08 wined3d: Pass a wined3d_device_context to wined3d_device_get_index_buffer().
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-20 22:57:10 +02:00
Zebediah Figura 90dd2572a3 wined3d: Pass a wined3d_device_context to wined3d_device_get_predication().
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-20 22:57:10 +02:00
Zebediah Figura a313daea70 wined3d: Pass a wined3d_device_context to wined3d_device_get_depth_stencil_view().
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-20 22:57:10 +02:00
Zebediah Figura 40e1072117 wined3d: Pass a wined3d_device_context to wined3d_device_get_rendertarget_view().
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-20 22:57:10 +02:00
Jan Sikorski d27c614cfc wined3d: Handle typeless resolve in the FBO blitter.
Avoid resolving source texture before the blit due to format conversion in that case.

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-04-19 22:06:56 +02:00
Jan Sikorski 73c2466179 wined3d: Handle typeless resolve in the Vulkan blitter.
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-04-19 22:06:55 +02:00
Zebediah Figura 099e2f7e81 wined3d: Introduce wined3d_device_context_get_unordered_access_view().
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-19 22:06:55 +02:00
Zebediah Figura 0a2ea1cadc wined3d: Introduce wined3d_device_context_get_sampler().
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-19 22:06:55 +02:00
Zebediah Figura c060af96f2 wined3d: Introduce wined3d_device_context_get_shader_resource_view().
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-19 22:06:55 +02:00
Zebediah Figura 9a8c5259bb wined3d: Pass a wined3d_device_context to wined3d_device_get_scissor_rects().
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-16 22:39:46 +02:00
Zebediah Figura cdcc2ade6e wined3d: Pass a wined3d_device_context to wined3d_device_get_viewports().
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-16 22:39:46 +02:00
Zebediah Figura 850a90e168 wined3d: Pass a wined3d_device_context to wined3d_device_get_rasterizer_state().
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-16 22:39:46 +02:00
Zebediah Figura aca1fa4cf2 wined3d: Pass a wined3d_device_context to wined3d_device_get_depth_stencil_state().
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-16 22:39:46 +02:00
Zebediah Figura ff5e133b1b wined3d: Pass a wined3d_device_context to wined3d_device_get_blend_state().
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-16 22:39:46 +02:00
Henri Verbeet 39263558a2 wined3d: Make some functions static.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-15 18:03:51 +02:00
Zebediah Figura 14920064cd wined3d: Pass a wined3d_device_context to wined3d_device_get_constant_buffer().
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-15 18:03:13 +02:00
Zebediah Figura fd7231493d wined3d: Introduce wined3d_device_context_get_shader().
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-15 18:03:00 +02:00
Zebediah Figura 7699ff8aa4 wined3d: Pass a wined3d_device_context to wined3d_device_flush().
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-14 20:49:57 +02:00
Zebediah Figura cd704aeee4 wined3d: Flush 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-04-14 20:49:54 +02:00
Zebediah Figura effa2a7411 wined3d: Introduce wined3d_device_context_issue_query().
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-14 20:49:50 +02:00
Zebediah Figura 0bf689352b wined3d: Issue queries 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-04-14 20:49:46 +02:00
Zebediah Figura 41041c8ff1 wined3d: Introduce wined3d_device_context_unmap().
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-13 17:33:32 +02:00
Zebediah Figura cfd25180ba wined3d: Introduce wined3d_device_context_map().
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-13 17:33:27 +02:00
Zebediah Figura 2fd3ec79cd wined3d: Map resources 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-04-13 17:33:24 +02:00
Andrew Sheldon d1b2eea421 wined3d: Add GPU information for Radeon RX 6800(XT) / 6900 XT.
Signed-off-by: Andrew Sheldon <asheldon55@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-13 17:33:21 +02:00
Henri Verbeet 3aa566610c wined3d: Use the client area dimensions instead of the backbuffer dimensions for the Vulkan swapchain.
Often these are the same, and even when not, the minimum/maximum image extents
will often end up forcing the swapchain dimensions to be the same as the
client area. However, some implementations will allow the swapchain to be
created with dimensions different from the client area, but then return
VK_SUBOPTIMAL_KHR from vkQueuePresentKHR().

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-09 20:37:14 +02:00
Zebediah Figura e4721f0c1e wined3d: Pass a wined3d_device_context to wined3d_device_update_sub_resource().
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-09 20:37:14 +02:00
Zebediah Figura 9840a1751e wined3d: Pass a wined3d_device_context to wined3d_cs_emit_update_sub_resource().
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-09 20:37:14 +02:00
Zebediah Figura 5c36f72f95 wined3d: Pass a wined3d_device_context to wined3d_device_clear_unordered_access_view_uint().
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-09 20:37:14 +02:00
Zebediah Figura b2a969ceae wined3d: Pass a wined3d_device_context to wined3d_cs_emit_clear_unordered_access_view_uint().
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-09 20:37:14 +02:00
Zebediah Figura 5a8b35c8f0 wined3d: Pass a wined3d_device_context to wined3d_shader_resource_view_generate_mipmaps().
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-09 20:37:14 +02:00
Zebediah Figura fbd1e2eb6b wined3d: Pass a wined3d_device_context to wined3d_device_clear_rendertarget_view().
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:29 +02:00
Zebediah Figura 4880afdc8e wined3d: Pass a wined3d_device_context to wined3d_cs_emit_clear_rendertarget_view().
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:26 +02:00
Zebediah Figura 88456957fb wined3d: Pass a wined3d_device_context to wined3d_cs_emit_generate_mipmaps().
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:18 +02:00
Zebediah Figura 5c7057d229 wined3d: Pass a wined3d_device_context to wined3d_device_resolve_sub_resource().
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-07 15:48:43 +02:00
Zebediah Figura 86dcbadffb wined3d: Pass a wined3d_device_context to wined3d_texture_blt().
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-07 15:48:35 +02:00
Zebediah Figura 8c4061a778 wined3d: Pass a wined3d_device_context to wined3d_device_copy_sub_resource_region().
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-07 15:48:31 +02:00
Zebediah Figura f65fafe35b wined3d: Pass a wined3d_device_context to wined3d_device_copy_resource().
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-07 15:48:27 +02:00
Zebediah Figura 9b3504543a wined3d: Pass a wined3d_device_context to wined3d_cs_emit_blt_sub_resource().
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-07 15:48:24 +02:00
Zebediah Figura c541c1e9f9 wined3d: Pass a wined3d_device_context to wined3d_device_copy_uav_counter().
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-06 22:46:12 +02:00
Zebediah Figura fce629235c wined3d: Pass a wined3d_device_context to wined3d_cs_emit_copy_uav_counter().
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-06 22:46:12 +02:00
Zebediah Figura fb54d9212f wined3d: Introduce wined3d_device_context_draw_indirect().
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-05 15:07:27 +02:00
Zebediah Figura 8cdad7d4b0 wined3d: Introduce wined3d_device_context_draw_indexed().
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-05 15:07:21 +02:00
Zebediah Figura 1c810a64b7 wined3d: Check for a valid index buffer in d3d[89]_device_DrawIndexedPrimitive().
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-01 18:18:31 +02:00
Jan Sikorski f42f8925f7 wined3d: Introduce wined3d_gl_get_internal_format().
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-03-31 22:16:25 +02:00
Jan Sikorski 99dc5b78a1 wined3d: Add resolve_format parameter to blitter_blit.
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-03-31 22:16:25 +02:00
Jan Sikorski 2adae568a6 wined3d: Pass format id for typeless resolve through wined3d_blt_fx.
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-03-31 22:16:25 +02:00
Zebediah Figura 08e8cd1b01 wined3d: Introduce wined3d_device_context_draw().
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-03-30 21:23:35 +02:00
Zebediah Figura ebf9ca12c1 wined3d: Pass a wined3d_device_context to wined3d_cs_emit_draw().
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-03-30 21:23:31 +02:00
Jan Sikorski e42f89b543 wined3d: Handle different slice pitches in compressed texture updates.
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-03-26 19:52:51 +01:00
Jan Sikorski fc29f2a676 wined3d: Handle different slice pitches in uncompressed texture updates.
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-03-26 19:52:49 +01:00
Zebediah Figura 794dd70ee0 wined3d: Introduce wined3d_device_context_dispatch_indirect().
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-03-26 19:52:22 +01:00
Zebediah Figura 324aa0a9f6 wined3d: Introduce wined3d_device_context_dispatch().
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-03-26 19:52:16 +01:00
Zebediah Figura 5df6103ce0 wined3d: Introduce wined3d_device_context_set_stream_output().
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-03-26 19:52:09 +01:00
Henri Verbeet bd9aca2cc8 wined3d: Implement wined3d_swapchain_set_gamma_ramp() on top of wined3d_output_set_gamma_ramp().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-25 17:56:52 +01:00
Henri Verbeet e27ea1e03a dxgi: Implement dxgi_output_SetGammaControl().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-25 17:56:50 +01:00
Henri Verbeet b1c8449954 wined3d: Invalidate sRGB write state in wined3d_cs_exec_set_rendertarget_view() if needed.
Instead of in wined3d_context_gl_setup_target(). If the render-target view
uses an sRGB format, but the underlying resource has a typeless format, we'd
potentially miss an invalidation in wined3d_context_gl_setup_target() where we
only have access to the underlying resource.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-25 17:56:46 +01:00
Henri Verbeet 46c50c03ce wined3d: Trace wined3d_swapchain_vk_blit() failures.
These are expected failures in some circumstances, but we'd still like to know
about them when they happen.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-25 17:56:43 +01:00
Henri Verbeet 177696a103 wined3d: Handle a few more border colours for Vulkan samplers.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-25 17:56:41 +01:00
Zebediah Figura 4d345a78bf wined3d: Implement zero step rate for instanced attributes.
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-03-25 17:56:01 +01:00
Zebediah Figura 1eff85d2f7 wined3d: Require vertexAttributeInstanceRateZeroDivisor.
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-03-25 17:55:58 +01:00
Zebediah Figura 212ccdaccf wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_stream_output().
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-03-25 17:55:38 +01:00
Zebediah Figura 55b0888314 wined3d: Introduce wined3d_device_context_set_vertex_declaration().
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-03-25 17:55:33 +01:00
Zebediah Figura a130d55cde wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_vertex_declaration().
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-03-25 17:55:29 +01:00
Zebediah Figura b21a9e41be wined3d: Introduce wined3d_device_context_set_index_buffer().
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-03-24 20:48:21 +01:00
Zebediah Figura 37e1780408 wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_index_buffer().
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-03-24 20:48:21 +01:00
Zebediah Figura db04f62707 wined3d: Introduce wined3d_device_context_set_stream_source().
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-03-24 20:48:21 +01:00
Zebediah Figura b41850979f wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_stream_source().
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-03-24 20:48:21 +01:00
Jan Sikorski 16a62fcd87 wined3d: Introduce struct wined3d_image_vk and its create/destroy helpers.
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-03-23 20:53:31 +01:00
Jan Sikorski 7eec755bce wined3d: Rename create/destroy helpers dealing with Vulkan objects.
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-03-23 20:53:28 +01:00
Zebediah Figura 8f32fbee9b wined3d: Introduce wined3d_device_context_set_predication().
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-03-22 20:38:45 +01:00
Zebediah Figura 874ff93c04 wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_predication().
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-03-22 20:38:45 +01:00
Zebediah Figura 0acd15dec8 wined3d: Introduce wined3d_device_context_set_depth_stencil_view().
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-03-22 20:38:45 +01:00
Zebediah Figura 4a5d320609 wined3d: Pass a wined3d_device_context to wined3d_device_context_emit_set_depth_stencil_view().
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-03-22 20:38:45 +01:00
Zebediah Figura 507bd1ae16 wined3d: Introduce wined3d_device_context_set_rendertarget_view().
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-03-18 22:04:01 +01:00
Zebediah Figura cdb8fff359 wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_rendertarget_view().
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-03-18 22:04:01 +01:00
Zebediah Figura beab8a643e wined3d: Introduce wined3d_device_context_set_unordered_access_view().
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-03-18 22:04:01 +01:00
Zebediah Figura 77d6549f55 wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_unordered_access_view().
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-03-18 22:04:01 +01:00
Zebediah Figura 854b925d31 wined3d: Check whether a register is a UAV before recording UAV reads.
"Discovery Tour by Assassin's Creed: Ancient Egypt" uses atomic RMW instructions
with TGSM.

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-03-18 22:04:01 +01:00
Matteo Bruni 2683c34c90 wined3d: Advertise multisampling only when supported.
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-03-18 22:04:01 +01:00
Matteo Bruni cb45e91b24 wined3d: Handle blits to Vulkan swapchains not matching the D3D swapchain.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50119
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-03-18 22:04:01 +01:00
Zebediah Figura 9a1d82a3c0 wined3d: Introduce wined3d_device_context_set_sampler().
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-03-17 15:34:12 +01:00
Zebediah Figura 57770a47d5 wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_sampler().
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-03-17 15:34:08 +01:00
Zebediah Figura ee788e3e08 wined3d: Introduce wined3d_device_context_set_shader_resource_view().
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-03-17 15:34:02 +01:00
Zebediah Figura e2c96d3453 wined3d: Pass a wined3d_device_context to wind3d_cs_emit_set_shader_resource_view().
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-03-17 15:33:57 +01:00
Henri Verbeet 6580892660 wined3d: Take the layer index into account in wined3d_shader_resource_view_gl_generate_mipmap().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-16 20:36:43 +01:00
Henri Verbeet 8c47318081 wined3d: Add a missing barrier to wined3d_shader_resource_view_vk_generate_mipmap().
Specifically, the one for using the new destination as blit target.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-16 20:36:43 +01:00
Zebediah Figura 1ec6695650 wined3d: Introduce wined3d_device_context_set_scissor_rects().
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-03-16 20:36:43 +01:00
Zebediah Figura e00ce29a5e wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_scissor_rects().
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-03-16 20:36:43 +01:00
Zebediah Figura da7a9bd811 wined3d: Introduce wined3d_device_context_set_viewports().
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-03-16 20:36:43 +01:00
Zebediah Figura 911ed1caf1 wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_viewports().
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-03-16 20:36:43 +01:00
Henri Verbeet 4cfac484db wined3d: Move feature level selection to wined3d_state_create().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-15 20:36:44 +01:00
Henri Verbeet 53fdee6108 wined3d: Store the feature level in the wined3d_state structure.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-15 20:36:38 +01:00
Henri Verbeet 7dadbc586e wined3d: Introduce wined3d_state_reset().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-15 20:36:33 +01:00
Henri Verbeet afe401219c wined3d: Implement automatic mip-map generation for the Vulkan adapter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-12 18:08:35 +01:00
Henri Verbeet 521cafcfff wined3d: Pass a resource range to wined3d_context_vk_image_barrier().
In particular, this allows different sub-resources of the same texture to have
different image layouts, as required when doing blits between them.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-11 21:52:17 +01:00
Henri Verbeet 877cd01bf9 wined3d: End active queries before restarting them in wined3d_query_vk_issue().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-11 21:52:17 +01:00
Henri Verbeet 035dc48388 wined3d: Request VK_KHR_external_memory on Vulkan 1.0.
For VkPhysicalDeviceIDProperties. Found by the validation layers.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-11 21:52:17 +01:00
Henri Verbeet f969570c22 wined3d: Set the "compareEnable" field of struct VkSamplerCreateInfo to either 0 or 1.
VkBool32 is (unfortunately) specified as 0/1, instead of zero/non-zero. Found
by the validation layers.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-11 21:52:17 +01:00
Henri Verbeet 98137faeb2 wined3d: Use wined3d_cs_finish() in wined3d_view_vk_destroy().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-11 21:52:17 +01:00
Henri Verbeet b28962ddb0 wined3d: Use wined3d_cs_finish() in wined3d_view_gl_destroy().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-11 21:52:17 +01:00
Zebediah Figura 7494294d6f wined3d: Introduce wined3d_device_context_set_rasterizer_state().
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-03-11 21:52:17 +01:00
Zebediah Figura a5916c05d4 wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_rasterizer_state().
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-03-11 21:52:17 +01:00