351 Commits

Author SHA1 Message Date
Józef Kucia
b4c36e389a vkd3d: Do not modify pointer on mapping failures.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-13 20:49:40 +01:00
Józef Kucia
91c11eed03 vkd3d: Validate sub-resource index in d3d12_resource_Map().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-13 20:49:36 +01:00
Józef Kucia
d539adaff8 vkd3d: Translate pthread error numbers to HRESULTs.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-12 10:31:25 +01:00
Józef Kucia
4ff26ef3c4 vkd3d: Implement Map() for placed resources.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-12 10:31:21 +01:00
Józef Kucia
ebde6bd229 vkd3d: Implement instance data step rate.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-25 14:54:52 +02:00
Józef Kucia
db27883740 vkd3d: Trace VK_EXT_vertex_attribute_divisor features.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-25 14:54:48 +02:00
Józef Kucia
5e6b35af8e vkd3d: Enable VK_EXT_vertex_attribute_divisor.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-25 14:53:26 +02:00
Józef Kucia
5e0094f617 vkd3d: Set the numer of samples for clears.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-25 13:58:34 +02:00
Józef Kucia
5d28817164 vkd3d: Set the numer of samples for graphics pipelines.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-25 13:58:32 +02:00
Józef Kucia
8f07e14711 vkd3d: Store compiled Vulkan pipelines in d3d12_graphics_pipeline_state.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-24 17:00:51 +02:00
Józef Kucia
cfef906696 vkd3d: Make pipeline state responsible for creating Vulkan pipelines.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-24 17:00:50 +02:00
Józef Kucia
869602cbea vkd3d: Avoid using VkCopyDescriptorSet.
VkCopyDescriptorSet may result in the CPU reading GPU memory then
writing GPU memory.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-11 18:37:32 +02:00
Józef Kucia
cf23d71d5d vkd3d: Avoid copying root descriptors.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-11 18:37:31 +02:00
Józef Kucia
fe3ad21949 vkd3d: Fix 2D array depth stencil views.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-28 20:33:00 +02:00
Józef Kucia
2e65b78102 vkd3d: Fix shader stage bits for pipeline barriers.
The Vulkan spec says:

"Any pipeline stage included in srcStageMask or dstStageMask must be
supported by the capabilities of the queue family..."

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-28 01:12:39 +02:00
Józef Kucia
82fdd800e2 vkd3d: Pass VkQueueFamilyProperties to vkd3d_queue_create().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-28 01:12:37 +02:00
Józef Kucia
413c8562b9 vkd3d: Use heap memory for placed resources.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-26 19:27:22 +02:00
Józef Kucia
bd0ce54f79 vkd3d: Allocate device memory for heaps.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-26 19:26:33 +02:00
Józef Kucia
0014c4fbf9 vkd3d: Implement d3d12_device_GetResourceAllocationInfo() for textures.
In Vulkan, we have to create an image to get its memory requirements.
It would be very helpful if we could get the memory requirements without
creating a resource.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-26 19:26:24 +02:00
Józef Kucia
e93fed2c93 vkd3d: Add support for fake placed resources.
Placed resources are not allocated from a given heap yet.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-26 19:26:15 +02:00
Józef Kucia
be4a775c07 vkd3d: Do not hardcode aspect mask in d3d12_command_list_ClearUnorderedAccessViewUint().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-14 19:17:50 +02:00
Józef Kucia
b9d7569b8c vkd3d: Partially implement clears for texture UAVs.
In the long term, we may want to use shaders to clear UAVs.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-13 19:26:23 +02:00
Józef Kucia
11c00a157c vkd3d: Implement simple pipeline cache.
Ideally, we would like to introduce a Vulkan extension to make vertex
buffer strides and primitive topology dynamic in Vulkan.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-12 23:16:21 +02:00
Józef Kucia
9fe06825f8 vkd3d: Fix initial pipeline state.
d3d12_command_list_begin_command_buffer() was using the previous initial
pipeline state when called from d3d12_command_list_Reset().

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-12 23:16:14 +02:00
Józef Kucia
b0bfe90c9e vkd3d: Reuse descriptor pools.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-12 23:16:02 +02:00