Commit Graph

10293 Commits

Author SHA1 Message Date
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
Zebediah Figura 41f521b59b wined3d: Introduce wined3d_device_context_set_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-03-11 21:52:17 +01:00
Zebediah Figura a3102c7b39 wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_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-03-11 21:52:17 +01:00
Matteo Bruni 86a06f7e97 wined3d: Remove dead statement.
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-11 21:52:17 +01:00
Matteo Bruni e4bc4df09f wined3d: Use VK_FORMAT_D24_UNORM_S8_UINT when available.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50123
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-11 21:52:17 +01:00
Jan Sikorski b8a5f8098b wined3d: Check slice pitch against its size in wined3d_format_copy_data().
If they don't match and there's more than one slice to copy, we can't use
a single memcpy.
Fixes blinking objects in Hellblade: Senua's Sacrifice.

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-11 21:52:17 +01:00
Zebediah Figura cd17163265 wined3d: Introduce wined3d_device_context_set_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-03-10 18:43:40 +01:00
Zebediah Figura 906568e093 wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_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-03-10 18:43:37 +01:00
Zebediah Figura 01bcca6370 wined3d: Introduce wined3d_device_context_set_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-03-10 18:43:32 +01:00
Zebediah Figura 8f1092a6ee wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_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-03-09 12:00:52 +01:00
Zebediah Figura 3920277c22 wined3d: Introduce wined3d_device_get_immediate_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-03-09 12:00:49 +01:00
Matteo Bruni b67e9ddbb3 wined3d: Disable WINED3DFMT_NULL on backbuffer 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-03-09 11:59:25 +01:00
Matteo Bruni d06cdcd646 wined3d: Disable WINED3DFMT_D16_LOCKABLE on backbuffer 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-03-09 11:59:23 +01:00
Matteo Bruni 65b3279bae wined3d: Correctly handle modifiers on instructions with multiple destination registers.
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-09 11:59:20 +01:00
Zebediah Figura eda716682b wined3d: Introduce wined3d_device_context_set_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-03-05 17:56:27 +01:00
Zebediah Figura f1842d5ba4 wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_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-03-05 17:56:24 +01:00
Zebediah Figura 94607a1598 wined3d: Move the "state" field from struct wined3d_device to struct wined3d_device_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-03-05 17:56:22 +01:00
Zebediah Figura 55a0507ee8 wined3d: Move the "device" member of struct wined3d_cs to struct wined3d_device_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-03-05 17:56:20 +01:00
Zebediah Figura d3aebfed92 wined3d: Pass a wined3d_device_context to wined3d_cs_require_space().
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-05 17:56:17 +01:00
Zebediah Figura 864a9f3e32 wined3d: Pass a wined3d_device_context to wined3d_cs_submit().
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-05 17:56:15 +01:00
Zebediah Figura fc3919c4ab wined3d: Separate the "ops" member of struct wined3d_cs to a new wined3d_device_context structure.
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-05 17:56:13 +01:00
Henri Verbeet f870cf9282 wined3d: Load/invalidate entire views in ffp_blitter_clear_rendertargets().
In particular, clearing a multi-layer view affects all layers, not just the
first.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-25 08:54:31 +01:00
Henri Verbeet 25e07835a2 wined3d: Allow layered clears.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-25 08:54:28 +01:00
Rémi Bernon 80e1eb87ad wined3d: Introduce public API to set a wined3d_state object on a device.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-23 22:30:31 +01:00
Henri Verbeet 57119a1c1f wined3d: Unbind framebuffer state in state_unbind_resources().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-23 22:30:31 +01:00
Rémi Bernon 50949c953a wined3d: Use a separate allocation for the device state.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-23 22:30:31 +01:00
Henri Verbeet 2ff9a8f08a wined3d: Do not fail swapchain creation in wined3d_swapchain_vk_init() if a Vulkan swapchain could not be created.
While far from ideal, we can still use swapchain_blit_gdi() to get
back-buffers to the screen.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-22 09:10:18 +01:00
Henri Verbeet 70418f69dd wined3d: Introduce a backup path for swapchain presents using GDI.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-22 09:10:16 +01:00
Henri Verbeet b8719736c5 wined3d: Recognise the read-only depth/stencil view flags in wined3d_debug_view_desc().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-18 22:39:34 +01:00
Zebediah Figura da9726a16c wined3d: Support WINED3D_RTYPE_BUFFER 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-02-12 16:10:46 +01:00
Henri Verbeet 7ba0cc9085 wined3d: Add some TRACEs to command stream callbacks.
I.e., those used with wined3d_cs_init_object() and
wined3d_cs_destroy_object().

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-11 18:31:23 +01:00
Henri Verbeet b9a440d15d wined3d: Create the backbuffer rendertarget view only after calling adapter_init_3d().
Otherwise we may not be able to acquire a context to create the view. In
practice, this is only an issue for d3d9 and earlier in combination with the
Vulkan backend.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-11 18:31:20 +01:00
Henri Verbeet fb9ec02e06 wined3d: Construct a separate source box in wined3d_device_copy_resource().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-10 09:14:52 +01:00
Henri Verbeet 1039bf036f wined3d: Compare resource sizes in blocks in wined3d_device_copy_resource().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-10 09:14:50 +01:00
Henri Verbeet 6aa9eec60f wined3d: Use the format block dimensions to construct the destination box for sub-resource region copies.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-10 09:14:47 +01:00
Henri Verbeet 02385a4042 wined3d: Allow resource copies between block-compatible formats.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-10 09:14:43 +01:00
Jan Sikorski 6b7f02026c wined3d: Return E_INVALIDARG from vertexdeclaration_init() on validation failure.
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-02-08 20:10:15 +01:00
Jan Sikorski 81dfece45c wined3d: Align vertex attribute offsets to their size, if smaller than 4.
This should not change behaviour for d3d9 and earlier, where all formats
have sizes that are multiples of 4.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=43422
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-02-08 20:10:12 +01:00
Andrey Gusev c66e0e5723 wined3d: Add AMD Radeon RX 5500M.
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>
2021-02-05 22:53:46 +01:00
Henri Verbeet 08dc5b92e0 wined3d: Invalidate STATE_STENCIL_REF when switching between NULL and non-NULL depth/stencil views.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-05 22:53:46 +01:00
Jan Sikorski 3655e7d945 wined3d: Added missing states to debug_d3dstate().
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-02-03 21:01:32 +01:00
Jan Sikorski 433aaccc1f wined3d: Check for stencil reference change in vulkan backend.
Make stencil reference value dynamic, so it can be updated separately.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50380
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-02-03 21:01:29 +01:00
Jan Sikorski f3aceef725 wined3d: Store stencil reference value in wined3d_state.
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-02-03 21:01:26 +01:00
Zebediah Figura 387a63237d wined3d: Implement global resource memory barriers.
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-29 20:53:32 +01:00
Zhiyi Zhang 98f490bdfc wined3d: Support multiple outputs.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-26 17:53:54 +01:00
Zebediah Figura 2d6462cdee wined3d: Make adapter_gl_clear_uav() 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-01-25 23:31:19 +01:00
Henri Verbeet 53916000f8 wined3d: Trace the available Vulkan extensions.
Like we do for OpenGL.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-25 23:31:03 +01:00
Henri Verbeet 50a90dcb32 wined3d: Implement NULL constant buffer views for the Vulkan backend.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-22 18:33:32 +01:00
Henri Verbeet ff19c3e6fa wined3d: Require VK_KHR_sampler_mirror_clamp_to_edge for WINED3D_TADDRESS_MIRROR_ONCE.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-22 18:33:32 +01:00
Henri Verbeet f0dae1d852 wined3d: Correct the argument order of a FIXME in wined3d_texture_vk_download_data().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-21 20:46:13 +01:00
Henri Verbeet c47b28f5d4 wined3d: Stencil test also uses the depth/stencil buffer.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-21 20:46:13 +01:00
Henri Verbeet a3f829bbb8 wined3d: Always include any depth/stencil attachment in the Vulkan framebuffer.
Analogous to the GL backend. The alternative would be to potentially
invalidate STATE_FRAMEBUFFER when changing the depth/stencil state object,
which doesn't seem worth it.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-21 20:46:13 +01:00
Henri Verbeet c75bbc5c22 wined3d: End the current render pass in wined3d_buffer_vk_barrier().
As we do for image barriers.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-21 20:46:13 +01:00
Henri Verbeet e796da7a5e wined3d: Properly convert Vulkan sample count format information.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-21 20:46:13 +01:00
Zebediah Figura 6bdf641142 wined3d: Use YieldProcessor().
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-21 20:46:10 +01:00
Henri Verbeet 82a9e80063 wined3d: Add some barriers between resource usage on different bind points.
A typical case would be between using a texture as render target and using it
as a shader resource.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-19 21:44:17 +01:00
Henri Verbeet e2e776462d wined3d: Introduce wined3d_context_vk_reference_resource().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-19 21:44:17 +01:00