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