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
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
f1f3bb7354
wined3d: Implement Vulkan unordered access view counter 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
3d05e4da7d
wined3d: Implement Vulkan image 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
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
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
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
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
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
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