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
353e84015b
wined3d: Zero-initialise context_vk in wined3d_context_vk_init().
...
wined3d_context_vk_init() assumes zero-initialised memory, but that's not
necessarily true in case we previously went through an
adapter_vk_init_3d()/adapter_vk_uninit_3d() pair.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-15 22:09:21 +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
4e7be88990
wined3d: Only clear "map_ptr" if the memory was unmapped in wined3d_allocator_chunk_vk_unmap().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-14 16:21:40 +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
Henri Verbeet
e154c95355
wined3d: Clear the graphics pipeline key stencil test state when the stencil test is disabled.
...
The state itself is ignored in this case, but could still cause additional
pipeline variants to be created. That's mostly a consideration for Direct3D 9
and before, since Direct3D 10 and 11 already normalise disabled stencil test
state themselves.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-13 18:19:04 +02:00
Henri Verbeet
227605569a
wined3d: Avoid accessing NULL depth/stencil state in wined3d_context_vk_update_graphics_pipeline_key().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-13 18:19:03 +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
f494552c10
wined3d: Implement rasteriser discard 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:14 +02:00
Zebediah Figura
2014d975cc
wined3d: Move the depth function 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-29 18:33:37 +02:00
Zebediah Figura
2b170bbd8b
wined3d: Move the stencil depth fail operation 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-29 18:33:35 +02:00
Zebediah Figura
9c744d5cb9
wined3d: Move the stencil fail operation 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-29 18:33:33 +02:00
Zebediah Figura
2479702652
wined3d: Move the stencil pass operation 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-29 18:33:31 +02:00
Zebediah Figura
ba4c2ac03a
wined3d: Move the stencil function 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-29 18:33:29 +02:00
Zebediah Figura
690ff3dbea
wined3d: Move the stencil write mask 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
92ca89b4a5
wined3d: Move the stencil read mask 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
94becf6fc6
wined3d: Move the stencil 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
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
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
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
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
Henri Verbeet
a2e39d837e
wined3d: Use wined3d_buffer_vk_get_buffer_info() when binding Vulkan vertex buffers.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-29 20:05:30 +02:00
Henri Verbeet
5d1fc25808
wined3d: Use wined3d_buffer_vk_get_buffer_info() when binding the Vulkan index buffer.
...
Since it updates "bo_user.valid".
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
2d22715561
wined3d: Also load the index buffer in wined3d_context_vk_apply_draw_state() if STATE_INDEXBUFFER was invalidated.
...
Otherwise we might try to bind a NULL buffer if the index buffer was not
previously loaded.
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
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
5e7dd9d73e
wined3d: Implement alpha to coverage multisampling 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:35 +02:00
Henri Verbeet
939e8d25f9
wined3d: Implement stencil tests 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:32 +02:00
Henri Verbeet
ce7d1d72f3
wined3d: Implement depth tests and writes 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:28 +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
5bd5244ba4
wined3d: Implement different primitive topologies 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:26 +02:00
Henri Verbeet
4358ddc75f
wined3d: Implement rasterisation object support for the Vulkan adapter.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-19 21:49:30 +02:00
Henri Verbeet
4cb110dd18
wined3d: Implement blend object support for the Vulkan adapter.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-19 21:49:28 +02:00
Henri Verbeet
5e134b6b60
wined3d: Implement scissor rectangle support for the Vulkan adapter.
...
No multi-viewport support yet.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-19 21:49:25 +02:00
Henri Verbeet
299eb1f52a
wined3d: Bind Vulkan vertex buffers.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-19 21:49:22 +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
Henri Verbeet
a42808b54a
wined3d: Reference shader resources in wined3d_context_vk_update_descriptors().
...
Instead of in wined3d_context_vk_load_shader_resources(). Loading resources
can end up flushing the current command buffer. There's also no reason to
reference the same resource multiple times by the same command buffer.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-18 19:35:14 +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