Commit Graph

3336 Commits

Author SHA1 Message Date
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
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
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
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
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 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 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 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 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 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 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 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
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 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 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
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 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
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 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
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 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 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 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
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 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
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
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
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 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
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
Zebediah Figura 9cbe273558 wined3d: Use debug_d3dusage() for both usage and usage query flags.
Avoid spurious FIXME messages in wined3d_check_device_format().

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-04 17:12:45 +01:00
Henri Verbeet b4e109f2f5 wined3d: Unmap the slab if needed in wined3d_context_vk_destroy_bo().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-14 16:21:45 +01:00
Henri Verbeet 9992d710e4 wined3d: Unmap the chunk if needed in wined3d_context_vk_destroy_bo().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-14 16:21:42 +01:00
Henri Verbeet 46c7f66cf3 wined3d: Compare requested memory types in wined3d_bo_slab_vk_compare().
Instead of comparing the requested memory type against what we actually got.
For example, we may have gotten coherent memory without having explicitly
requested it, in which case wined3d_context_vk_create_slab_bo() would fail to
find an existing slab to allocate from.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-14 16:21:37 +01:00
Matteo Bruni d989d449c3 wined3d: Allow forcing commands serialization in the CS thread.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-04 18:39:48 +01:00
Henri Verbeet 8b3cc57df0 wined3d: Allocate a new bo for busy DISCARD maps.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-04 16:36:40 +01:00
Henri Verbeet 4c5581c2eb wined3d: Use the "bo user" mechanism to invalidate existing bindings in wined3d_buffer_gl_destroy_buffer_object().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-04 16:36:36 +01:00
Andrey Gusev c1c129f3b8 wined3d: Add NVIDIA GeForce GTX 1060 Mobile.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-03 20:18:38 +01:00
Henri Verbeet e29877ee42 wined3d: Reference the SRV bo in context_load_shader_resources().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 19:08:04 +01:00
Henri Verbeet a0abc66566 wined3d: Reference the UAV bo in context_load_unordered_access_resources().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 19:08:04 +01:00
Henri Verbeet 56f1ce6be6 wined3d: Reference the stream output bo in context_load_stream_output_buffers().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 19:52:11 +01:00
Alexandre Julliard 2bc3c8463d libport: Remove the isfinite/isinf/isnan function replacements.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 10:43:01 +01:00
Henri Verbeet a7c320d184 wined3d: Use command buffer IDs for synchronisation in wined3d_buffer_gl_sync_apple().
Analogous to the Vulkan adapter. This is slightly awkward in OpenGL
because it doesn't have explicit command buffers like Vulkan, but
calling wined3d_context_gl_submit_command_fence() on swapchain present
works well enough in practice. The main advantage of this approach is that it
avoids using a separate fence for each usage of each bo.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 21:36:12 +01:00
Matteo Bruni 77f0149a6c wined3d: Use GL_ARB_buffer_storage if available.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 21:36:10 +01:00
Matteo Bruni 90f33067da wined3d: Introduce wined3d_context_gl_create_bo().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 21:36:05 +01:00
Henri Verbeet db42859977 wined3d: Store the usage in struct wined3d_bo_gl.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 21:36:01 +01:00
Matteo Bruni 0638d50b22 wined3d: Introduce wined3d_context_gl_destroy_bo().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 21:35:58 +01:00
Zhiyi Zhang c9e2deac39 wined3d: Store a struct wined3d pointer in struct wined3d_swapchain_state.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-29 22:25:29 +01:00
Paul Gofman 18d1b2453f wined3d: Add GPU information for NVIDIA GeForce GTX 1080 Mobile.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-16 22:00:21 +02:00
Zhiyi Zhang 62fa286edf wined3d: Clean up swapchain state on wined3d_swapchain_init() failure paths.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-12 18:43:52 +02:00
Zhiyi Zhang 9288f31015 dxgi: Update swapchain containing output after Alt+Enter was used to exit fullscreen.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-09 16:21:33 +02:00
Zhiyi Zhang e62b6fa12d dxgi: Support Alt+Enter for d3d12 swapchains.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-09 16:21:33 +02:00
Henri Verbeet e1e28fe60d wined3d: Implement stream output queries for the Vulkan adapter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-07 18:40:24 +02:00
Henri Verbeet cee2e53c3b wined3d: Implement stream output for the Vulkan adapter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-07 18:40:22 +02:00
Henri Verbeet 3d883c640c wined3d: Only store unique stream output descriptions.
This allows us to compare them by pointer.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-07 18:40:18 +02:00
Henri Verbeet 10bfc47a48 wined3d: Initialise the list of Vulkan device extensions during adapter initialisation.
There's no reason to wait until wined3d device creation.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-07 18:40:16 +02:00
Zebediah Figura ba29503654 wined3d: Introduce WINED3DFMT_FLAG_UNORDERED_ACCESS.
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>
2020-09-30 15:53:05 +02:00
Paul Gofman 97636bc9b6 wined3d: Use partial bind counts instead of partial bind flags.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-29 18:33:54 +02:00
Paul Gofman 674dc3b107 wined3d: Fix 3d texture layer count for bind tracking.
Fixes out of bounds access introduced by commit
61e02c5e4f and RiME crash on start.

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-29 18:33:51 +02:00
Zebediah Figura 4a5760b28b wined3d: Move the depth write enable state to wined3d_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>
2020-09-28 17:03:58 +02:00
Zebediah Figura 1acc410b10 wined3d: Fully move the depth buffer enable state to wined3d_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>
2020-09-25 16:50:19 +02:00
Zebediah Figura 2612381273 wined3d: Introduce a depth/stencil state object.
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>
2020-09-25 16:50:19 +02:00
Henri Verbeet 69ba059dcb wined3d: Implement sample masks for the Vulkan adapter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-24 16:43:30 +02:00
Paul Gofman 61e02c5e4f wined3d: Track SRV to RTV aliasing on sub resource level.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-24 16:43:26 +02:00
Paul Gofman 774e4b2ea3 wined3d: Don't check for readonly depth / stencil in context_preload_texture().
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-24 16:43:22 +02:00
Paul Gofman 1b8ccaab47 wined3d: Track resource binding as render target.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-24 16:43:18 +02:00
Zebediah Figura 8b4e07d5f3 wined3d: Factor out wined3d_state_uses_depth_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>
2020-09-24 16:42:19 +02:00
Henri Verbeet 2558f5f218 wined3d: Implement shader_spirv_compile_vk().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-24 15:03:51 +02:00
Zebediah Figura 2f94e72b80 wined3d: Read the SM5 resource data type instruction modifier.
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>
2020-09-03 18:19:24 +02:00
Zebediah Figura 9610e71f34 wined3d: Read the SM5 resource type instruction modifier.
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>
2020-09-03 18:19:24 +02:00
Zebediah Figura 21017243b8 wined3d: Store the sample mask in 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>
2020-09-02 21:25:23 +02:00
Matteo Bruni adf73f7371 wined3d: Fail adapter creation if driver version info can't be found.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-23 22:30:48 +02:00
Matteo Bruni 435f7fb2f2 wined3d: Add GPU information for AMD Raven Ridge.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 23:16:51 +02:00
Matteo Bruni 6d22962101 wined3d: Update reported NVIDIA driver version for Fermi+ GPUs.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-14 22:31:23 +02:00
Matteo Bruni 905a52b3b6 wined3d: Automatically assign reported driver D3D version / feature level.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-14 22:31:19 +02:00
Zhiyi Zhang 122a28a313 wined3d: Use valid adapter LUIDs if they are available.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-08 16:06:06 +02:00
Paul Gofman cfeefc6b94 wined3d: Set user memory separately for texture sub resources.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=43232
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 18:35:07 +02:00
Henri Verbeet a4cedbe86d wined3d: Get rid of WINED3D_QUIRK_SET_TEXCOORD_W.
This quirk only affects fixed-function fragment processing, which hasn't
been a supported configuration on the affected hardware for a while now.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 00:05:44 +02:00
Paul Gofman 5b287bb0ca wined3d: Merge _USER_MEMORY and _SYSMEM locations.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49375
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 00:05:44 +02:00
Henri Verbeet 319ba87ab1 wined3d: Partially implement adapter_vk_clear_uav().
This is easy, and sufficient in a lot of cases. However, for a more
complete implementation, we'll want to do something more similar to
vkd3d.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-05 16:54:35 +02:00
Henri Verbeet 9b8847ed7b wined3d: Introduce WINED3DFMT_FLAG_DEPTH_STENCIL.
To indicate whether WINED3D_BIND_DEPTH_STENCIL is valid for the format.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-05 16:54:35 +02:00
Henri Verbeet 9aeef376e5 wined3d: Implement swapchains for the Vulkan adapter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-29 20:05:31 +02:00
Henri Verbeet 859514a684 wined3d: Map Vulkan adapter bo's persistently on 64-bit architectures.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-29 20:05:30 +02:00
Paul Gofman a389f32967 wined3d: Use a single wined3d_texture_is_full_rect() function.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-28 20:18:32 +02:00
Henri Verbeet 7a03ccfbe9 wined3d: Implement pipeline statistics queries for the Vulkan adapter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-27 18:42:47 +02:00
Henri Verbeet 7101af57bf wined3d: Implement timestamp queries for the Vulkan adapter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-27 00:14:14 +02:00
Henri Verbeet 8cb3d29cf0 wined3d: Implement occlusion queries for the Vulkan adapter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-27 00:14:14 +02:00
Henri Verbeet b9638abe46 wined3d: Implement vertex attribute divisors for the Vulkan adapter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-21 22:29:38 +02:00
Henri Verbeet 13e1ac0e99 wined3d: Set the correct patch vertex count for the Vulkan adapter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-20 20:10:31 +02:00
Henri Verbeet 99f4f16b92 wined3d: Implement primitive restart for the Vulkan adapter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-20 20:10:29 +02:00
Henri Verbeet f8acf0b97d wined3d: Store the wined3d patch vertex count in the wined3d state structure.
As opposed to the OpenGL patch vertex count. These are of course the same, so
this is only a semantic change.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-20 20:10:23 +02:00
Henri Verbeet 51a901e34e wined3d: Store the wined3d primitive type in the wined3d state structure.
As opposed to the OpenGL primitive type.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-20 20:10:19 +02:00
Henri Verbeet b55228694f wined3d: Create Vulkan pipeline objects.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-19 21:49:20 +02:00
Józef Kucia f4e0ca2199 wined3d: Implement shader_spirv_select().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-19 21:49:18 +02:00
Henri Verbeet 7d9c1db2ab wined3d: Implement indexed Vulkan draws.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-18 19:35:33 +02:00
Henri Verbeet 8744ae252a wined3d: Implement indirect Vulkan draws.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-18 19:35:30 +02:00
Henri Verbeet eccff1add8 wined3d: Implement Vulkan draws.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-18 19:35:27 +02:00
Józef Kucia a282a8e765 wined3d: Introduce a (stub) SPIR-V fixed-function fragment pipe implementation.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-18 19:35:24 +02:00
Józef Kucia 029282dedc wined3d: Introduce a (stub) SPIR-V fixed-function vertex pipe implementation.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-18 19:35:21 +02:00
Henri Verbeet 7379451a06 wined3d: Add a supported extensions array to the wined3d_vk_info structure.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-18 19:35:19 +02:00
Stefan Dösinger ac06731e49 wined3d: Implement Vulkan NULL cube image shader resource view descriptors.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-14 23:12:31 +02:00
Stefan Dösinger dbe014212c wined3d: Implement Vulkan NULL 3D image shader resource view descriptors.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-14 23:12:31 +02:00
Henri Verbeet afa075360b wined3d: Implement Vulkan NULL 2D image shader resource view descriptors.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-14 23:12:31 +02:00
Henri Verbeet dc6d09eb17 wined3d: Implement Vulkan NULL 1D image shader resource view descriptors.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-14 23:12:31 +02:00
Henri Verbeet 83d7d14e5c wined3d: Implement Vulkan NULL buffer shader resource view descriptors.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-14 23:12:31 +02:00
Henri Verbeet d9db5298d6 wined3d: Implement Vulkan buffer unordered access view descriptors.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-13 22:07:32 +02:00
Henri Verbeet 2a9142de5c wined3d: Implement Vulkan sampler descriptors.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-13 22:07:32 +02:00
Henri Verbeet 35b27b4aec wined3d: Implement Vulkan buffer shader resource view descriptors.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-13 22:07:32 +02:00
Henri Verbeet bd63ec2f63 wined3d: Implement Vulkan image shader resource view descriptors.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-13 22:07:32 +02:00
Henri Verbeet 9b9bde8d82 wined3d: Implement Vulkan constant buffer descriptors.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-12 23:07:44 +02:00
Henri Verbeet 9049104df2 wined3d: Implement adapter_vk_dispatch_compute().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-12 23:07:44 +02:00
Henri Verbeet c484ba1c00 wined3d: Introduce a SPIR-V shader backend for the Vulkan adapter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-12 23:07:44 +02:00
Henri Verbeet 552b335ae8 wined3d: Introduce WINED3D_BITMAP_SIZE.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-12 23:07:44 +02:00
Zhiyi Zhang e847b08229 wined3d: Move device window to the correct output when changing swapchain state to full screen.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-08 20:52:14 +02:00
Henri Verbeet 385d06daa5 wined3d: Create Vulkan samplers for samplers.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-01 21:51:31 +02:00
Henri Verbeet 0c27d244f7 wined3d: Create Vulkan buffer views for unordered access view counters.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-30 21:01:29 +02:00
Henri Verbeet f45dd54332 wined3d: Create Vulkan image views for unordered access views.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-30 21:01:25 +02:00
Henri Verbeet 573f37abf0 wined3d: Create Vulkan buffer views for shader resource views.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-30 21:01:21 +02:00
Henri Verbeet fcbdddfb55 wined3d: Create Vulkan image views for shader resource views.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-30 21:01:18 +02:00
Henri Verbeet 95b66030bb wined3d: Make the adapter responsible for draws.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-28 11:17:48 +02:00
Henri Verbeet e46b69475b wined3d: Make the adapter responsible for compute dispatch.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-28 11:17:40 +02:00
Henri Verbeet f793f4446c wined3d: Implement depth/stencil clears in the Vulkan blitter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-28 11:17:37 +02:00
Henri Verbeet f5d4d3ebbd wined3d: Implement clears in the Vulkan blitter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-27 19:30:38 +02:00
Henri Verbeet a8e34f3851 wined3d: Create Vulkan image views for rendertarget views.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-27 19:11:18 +02:00
Henri Verbeet ee8e4d2010 wined3d: Move device_clear_render_targets() to texture.c.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-27 19:11:12 +02:00
Henri Verbeet d6ef8b0700 wined3d: Introduce a Vulkan GPU blitter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-24 10:10:06 +02:00
Henri Verbeet 0aee4d9a88 wined3d: Introduce wined3d_context_vk_reference_texture().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-24 10:10:00 +02:00
Henri Verbeet 036d0d29a6 wined3d: Introduce wined3d_context_vk_reference_bo().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-24 10:09:43 +02:00
Henri Verbeet 6ec2110cde wined3d: Move the FBO blitter to texture.c.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-23 09:12:22 +02:00
Henri Verbeet 599a299288 wined3d: Add a miscellaneous state template for the Vulkan adapter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-23 09:12:15 +02:00
Henri Verbeet d1bc6843ba wined3d: Drop the bind flag parameters to wined3d_adapter_ops.adapter_copy_bo_address().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-23 09:12:12 +02:00
Henri Verbeet 32d17f1e9a wined3d: Drop the "bind_flags" parameter to wined3d_adapter_ops.adapter_map_bo_address().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-22 16:47:41 +02:00
Henri Verbeet cef12f97d6 wined3d: Drop the "bind_flags" parameter to wined3d_adapter_ops.adapter_unmap_bo_address().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-22 16:47:41 +02:00
Henri Verbeet b29ea85885 wined3d: Use the bo binding in wined3d_context_gl_unmap_bo_address().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-22 16:47:41 +02:00
Henri Verbeet 7d43577d89 wined3d: Use the bo binding in wined3d_context_gl_map_bo_address().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-22 16:47:41 +02:00
Henri Verbeet 6672708b02 wined3d: Implement wined3d_unordered_access_view_copy_counter() on top of wined3d_context_copy_bo_address().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-21 22:54:26 +02:00
Henri Verbeet 97272f58ce wined3d: Use the bo bindings in wined3d_context_gl_copy_bo_address().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-21 22:54:26 +02:00
Henri Verbeet 1fb85cd573 wined3d: Store the preferred binding in the wined3d_bo_gl structure.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-21 22:54:26 +02:00
Henri Verbeet 77fe33f5d9 wined3d: Introduce a structure for OpenGL buffer objects.
Analogous to the wined3d_bo_vk structure for Vulkan.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-21 22:54:26 +02:00
Henri Verbeet f31a29b8d1 wined3d: Introduce a slab allocator for small buffers.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-20 21:11:14 +02:00
Henri Verbeet 3685c2199b wined3d: Implement Vulkan texture uploads.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-20 21:10:58 +02:00
Henri Verbeet 07981fa64f wined3d: Create Vulkan images for texture resources.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-20 21:10:48 +02:00
Chip Davis 2d86752198 wined3d: Use GL_APPLE_rgb_422 for UYVY and YUY2 surfaces.
Theoretically, we could use it to support UYVY and YUY2 *textures* as
well, but it would still require converting from YUV to RGB after
sampling.

Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-17 19:58:11 +02:00
Henri Verbeet 9529f08e1a wined3d: Implement a Vulkan device memory allocator.
Note that the constants like WINED3D_ALLOCATOR_CHUNK_SIZE and
WINED3D_ALLOCATOR_MIN_BLOCK_SIZE are somewhat arbitrary, rather than the
result of careful tuning. That's mostly because we have a couple of
known stalls in e.g. the command stream that would largely invalidate
such tuning.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-17 19:58:11 +02:00
Henri Verbeet d65abdabe3 wined3d: Track buffer usage.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-17 19:58:11 +02:00
Henri Verbeet 0a5e61595a wined3d: Move OpenGL specific context functions to context_gl.c.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-17 19:58:10 +02:00
Henri Verbeet 66f714431a wined3d: Invalidate non-coherent memory before reading from it in adapter_vk_map_bo_address().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-16 22:10:04 +02:00
Henri Verbeet 77f72dc386 wined3d: Move Vulkan specific context functions to context_vk.c.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-16 22:10:04 +02:00
Matteo Bruni e11ae91b9c wined3d: Store the framebuffer inline in struct wined3d_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>
2020-03-26 18:34:50 +01:00
Lukáš Horáček 0804914bb7 wined3d: Add GTX 1660 SUPER as a card.
Signed-off-by: Lukáš Horáček <flgx16@gmail.com>
Signed-off-by: Torge Matthies <openglfreak@googlemail.com>
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-26 18:34:50 +01:00
Zhiyi Zhang d25073a6c8 wined3d: Support non-primary outputs in wined3d_output_get_desc().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 20:33:56 +01:00
Matteo Bruni ef66c4488f wined3d: Get rid of MAX_RENDER_TARGET_VIEWS.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-24 20:43:10 +01:00
Zhiyi Zhang e8dbb2fb6a wined3d: Add an ordinal to struct wined3d_output.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-19 20:24:59 +01:00
Matteo Bruni 4ff594e885 wined3d: Don't pass the whole context to needs_srgb_write().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-18 16:53:04 +01:00
Zebediah Figura df569853bf wined3d: Implement dual source blending.
Based on a patch by Michael Müller.

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>
2020-03-18 16:52:39 +01:00
Paul Gofman 5b6c85d64a wined3d: Use EXT_framebuffer_multisample_blit_scaled for scaled resolves.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-12 21:18:18 +01:00
Zebediah Figura a6d74b0545 wined3d: Construct the blend state in wined3d_device_apply_stateblock().
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>
2020-03-10 17:59:22 +01:00
Zhiyi Zhang 7161e01ad8 wined3d: Refactor wined3d_set_adapter_display_mode() to wined3d_output_set_display_mode().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-06 17:54:02 +01:00
Zebediah Figura 63971ccd46 wined3d: Move the fill mode to wined3d_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>
2020-03-06 17:52:20 +01:00
Zhiyi Zhang ead3d068f9 wined3d: Introduce wined3d_swapchain_get_output().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-05 19:49:47 +01:00
Zhiyi Zhang a0dbb1e469 wined3d: Refactor wined3d_enum_adapter_modes() to wined3d_output_get_mode().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-05 19:49:33 +01:00
Zhiyi Zhang ca9b5f6748 wined3d: Introduce wined3d_adapter_get_output().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-03 20:01:25 +01:00
Zhiyi Zhang 2f9037c75d wined3d: Introduce wined3d_adapter_get_output_count().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-03 20:01:21 +01:00
Matteo Bruni a8c44bd94c wined3d: Introduce a global stateblock flag for transforms.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-03 20:00:54 +01:00
Matteo Bruni 0d2a1ecced wined3d: Introduce a stateblock flag for lights.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-03 20:00:51 +01:00
Matteo Bruni ad5f230afc wined3d: Optimize scanning changed clip planes in wined3d_device_apply_stateblock().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-28 16:39:02 +01:00
Matteo Bruni e32b8e8137 wined3d: Optimize scanning changed shader constants in wined3d_device_apply_stateblock().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-27 23:34:51 +01:00
Matteo Bruni 8d87bce071 wined3d: Rename struct wined3d_map_range to struct wined3d_range.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-27 23:34:51 +01:00
Matteo Bruni 07a96c46e3 wined3d: Get rid of the contained_*s_consts_* arrays.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-21 18:20:01 +01:00
Matteo Bruni 316d675f88 wined3d: Use a bitmask for the {v, p}s_const_f fields in struct wined3d_saved_states.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-21 18:19:53 +01:00
Zebediah Figura eb52205645 wined3d: Remove the no longer used extra stream state.
This was used to implement high level patches, which were removed in 149a85c2e.

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>
2020-02-20 16:13:19 +01:00
Paul Gofman c736321633 wined3d: Support AMD alpha to coverage state.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-18 20:33:06 +01:00
Paul Gofman 84cd082495 wined3d: Introduce wined3d_bitmap_is_set().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-18 20:33:02 +01:00
Brendan Shanks 32712b4bd7 wined3d: Add GPU information for NVIDIA GeForce GTX 1060 3GB.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-07 20:14:12 +01:00
Zhiyi Zhang c8aad3407c wined3d: Add GPU information for NVIDIA GeForce GTX 1650 SUPER.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-06 21:40:22 +01:00
Henri Verbeet 22e76d0397 wined3d: Implement mapping Vulkan buffers.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-24 17:21:26 +01:00
Henri Verbeet e92eed1922 wined3d: Store a gl_info pointer in struct shader_arb_ctx_priv.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-24 17:21:20 +01:00
Henri Verbeet dd03e37f9f wined3d: Create Vulkan buffers.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-24 17:21:13 +01:00
Henri Verbeet 663854bcae wined3d: Store Vulkan physical device memory properties in the wined3d_adapter_vk structure.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-12 23:17:05 +01:00
Francois Gouget 2cab6bea5e wined3d: Fix the spelling of some comments.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-12 23:17:05 +01:00
Akihiro Sagawa c90d34178d wined3d: Record dirty regions for d3d9 textures.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-10 22:15:05 +01:00
Henri Verbeet ca0c3f770a wined3d: Unload texture resources through texture ops.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-06 22:30:24 +01:00
Henri Verbeet 3bc8bde91b wined3d: Unload buffer resources through buffer ops.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-06 22:30:24 +01:00