Henri Verbeet
cdb559c39d
vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_command_queue_AddRef().
2024-01-25 22:24:55 +01:00
Henri Verbeet
298dce541d
vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_command_list_Release().
2024-01-25 22:24:55 +01:00
Henri Verbeet
87f3a606d7
vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_command_list_AddRef().
2024-01-25 22:24:55 +01:00
Henri Verbeet
d891e5c2a0
vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_command_allocator_Release().
2024-01-25 22:24:55 +01:00
Henri Verbeet
315fce8ac5
vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_command_allocator_AddRef().
2024-01-25 22:24:55 +01:00
Henri Verbeet
78bb7b6760
vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_fence_decref().
2024-01-25 22:24:55 +01:00
Henri Verbeet
c8122ff47e
vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_fence_incref().
2024-01-25 22:24:55 +01:00
Henri Verbeet
1b4f1ac8a0
vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_fence_Release().
2024-01-25 22:24:55 +01:00
Henri Verbeet
5a2b82fbd5
vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_fence_AddRef().
2024-01-25 22:24:55 +01:00
Henri Verbeet
766f5f039b
vkd3d: Use debugstr_hresult() in vkd3d_serialize_versioned_root_signature().
2024-01-24 22:38:42 +01:00
Henri Verbeet
30113c098d
vkd3d: Use debugstr_hresult() in vkd3d_serialize_root_signature().
2024-01-24 22:38:42 +01:00
Henri Verbeet
a86a21667c
vkd3d: Use debugstr_hresult() in vkd3d_create_device().
2024-01-24 22:38:42 +01:00
Henri Verbeet
ad08cbc390
vkd3d: Use debugstr_hresult() in vkd3d_uav_clear_state_init().
2024-01-24 22:38:42 +01:00
Henri Verbeet
1599de9a0d
vkd3d: Use debugstr_hresult() in d3d12_pipeline_state_init_compute().
2024-01-24 22:38:42 +01:00
Henri Verbeet
c5b5621e28
vkd3d: Use debugstr_hresult() in d3d12_pipeline_state_find_and_init_uav_counters().
2024-01-24 22:38:42 +01:00
Henri Verbeet
9c1e661ae3
vkd3d: Use debugstr_hresult() in vkd3d_create_compute_pipeline().
2024-01-24 22:38:42 +01:00
Conor McCarthy
6446b6ea21
vkd3d-shader: Introduce VKD3D_SHADER_COMPILE_OPTION_FEATURE_FLOAT64.
2024-01-24 22:38:09 +01:00
Henri Verbeet
e4cc4a336e
vkd3d: Use debugstr_hresult() in vkd3d_init_null_resources().
2024-01-23 20:27:28 +01:00
Henri Verbeet
d4b329e628
vkd3d: Use debugstr_hresult() in vkd3d_join_thread().
2024-01-23 20:27:28 +01:00
Henri Verbeet
e965701776
vkd3d: Use debugstr_hresult() in d3d12_device_init().
2024-01-23 20:27:28 +01:00
Henri Verbeet
8dc1239e14
vkd3d: Use debugstr_hresult() in vkd3d_create_vk_device().
2024-01-23 20:27:28 +01:00
Henri Verbeet
af160ef0c4
vkd3d: Use debugstr_hresult() in vkd3d_instance_init().
2024-01-23 20:27:28 +01:00
Giovanni Mascellani
6ac525d6c3
vkd3d-shader/spirv: Use capability ShaderViewportIndexLayerEXT for decoration Layer.
...
Capability Geometry allows to use the Layer builtin in geometry and pixel
shaders. For vertex and domain shaders ShaderLayer should be used, but it's only
available starting from SPIR-V 1.5. ShaderViewportIndexLayerEXT can be used
instead with extension SPV_EXT_shader_viewport_index_layer.
2024-01-22 22:19:09 +01:00
Henri Verbeet
dd00e209ac
vkd3d: Use debugstr_hresult() in d3d12_command_queue_submit_locked().
2024-01-22 22:19:03 +01:00
Henri Verbeet
ebb2a31e50
vkd3d: Use debugstr_hresult() in d3d12_command_list_copy_incompatible_texture_region().
2024-01-22 22:19:03 +01:00
Henri Verbeet
f6ef7c3f46
vkd3d: Use debugstr_hresult() in vkd3d_wait_for_gpu_fence().
2024-01-22 22:19:03 +01:00
Henri Verbeet
71decc927f
vkd3d-common: Introduce vkd3d_atomic_increment_u64().
2024-01-17 22:29:29 +01:00
Henri Verbeet
bf0fda7812
vkd3d: Trace GetLastError() results with %lu.
...
These are DWORDs, but this is all Windows code, so we can just use %lu.
2024-01-11 23:05:42 +01:00
Conor McCarthy
b0d1fb7d98
vkd3d: Use mutable descriptors if available.
...
The mutable descriptor type allows six descriptor sets to be replaced
with one set for CBV/SRV/UAV heaps.
2024-01-09 22:59:46 +01:00
Henri Verbeet
bb64bfff63
vkd3d: Attempt to translate border colours to static border colours in d3d12_desc_create_sampler().
2024-01-08 21:45:39 +01:00
Henri Verbeet
9060baacec
vkd3d: Implement support for static border colours.
2024-01-08 21:45:39 +01:00
Fabian Maurer
49d5aecaa7
vkd3d: Unlock mutex in error case in d3d12_command_queue_CopyTileMappings.
2024-01-08 21:45:06 +01:00
Giovanni Mascellani
5e7f9d4d0d
vkd3d: Specify the aspect when creating NULL UAVs.
...
This fixes a crash on MoltenVK.
2024-01-08 21:44:49 +01:00
Henri Verbeet
50cebc7278
vkd3d: Slightly simplify debug_vk_memory_property_flags().
...
VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD and
VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD were introduced by
Vulkan-Headers 1.1.121; we currently require version 1.2.148.
2024-01-04 22:24:10 +01:00
Henri Verbeet
0fb1ef1e63
vkd3d: Recognise VK_QUEUE_VIDEO_DECODE_BIT_KHR in debug_vk_queue_flags().
...
This was introduced by Vulkan-Headers 1.3.238, which is a bit newer than
we currently require.
2024-01-04 22:24:07 +01:00
Henri Verbeet
659c870edc
vkd3d: Recognise VK_QUEUE_PROTECTED_BIT in debug_vk_queue_flags().
2024-01-04 22:24:07 +01:00
Henri Verbeet
4ec7f360d9
vkd3d: Add D3D_FEATURE_LEVEL_1_0_CORE as a valid feature level.
2024-01-03 22:38:10 +01:00
Henri Verbeet
6abcc27c97
vkd3d: Add D3D_FEATURE_LEVEL_12_2 as a valid feature level.
2024-01-03 22:38:10 +01:00
Conor McCarthy
cc43ef3bca
vkd3d: Pass int64 capability info to vkd3d-shader.
2024-01-02 23:03:00 +01:00
Conor McCarthy
b8694fd879
vkd3d: Co-locate all descriptor-related members.
...
To optimise cache coherence, because decriptor updates use the most
performance-critical code paths.
2023-12-14 21:00:34 +01:00
Conor McCarthy
a2741babd9
vkd3d: Rename the device mutex to pipeline_cache_mutex.
...
It is used only for pipeline and render pass caching, and renaming it
helps prevent inappropriate or erroneous use.
2023-12-14 21:00:30 +01:00
Conor McCarthy
37e76618ca
vkd3d: Write Vulkan descriptors in a worker thread.
...
Raises framerate by 5-10% in games which write thousands of descriptors
per frame, e.g. Horizon Zero Dawn.
The worker thread is a generic device worker which can also be used for
other purposes if the need arises.
2023-12-14 21:00:28 +01:00
Conor McCarthy
70962ae7d8
vkd3d: Update the descriptor next
index before getting a reference for writing.
...
Fixes a race condition where the descriptor is modified between getting
its object and resetting the `next` index. The new object would never be
written. While it is invalid for the app to write descriptors used by a
command list which has been submitted to a queue, unused descriptors may
be written. This change also supports writing descriptors in a worker
thread.
2023-12-14 21:00:26 +01:00
Giovanni Mascellani
a6317e5f3b
vkd3d: Pad push constant ranges to 16 bytes.
...
Because that's the granularity of Constant Buffer accesses in SM4.
This commit requires using more push constants, but without it the
generated SPIR-V can be invalid.
2023-12-13 22:32:23 +01:00
Henri Verbeet
0c33f82f72
Release 1.10.
2023-12-06 15:31:21 +01:00
Jacek Caban
72bb5e8b02
vkd3d: Use VkPipelineStageFlags type for VkSubmitInfo.pWaitDstStageMask flags.
2023-11-28 00:09:28 +01:00
Alistair Leslie-Hughes
5c134d44d6
include: D3D12_RT_FORMAT_ARRAY remove typedef to make header compatible with windows.
...
windows d3d12.idl doesn't have this as a typedef.
2023-11-28 00:09:20 +01:00
Stefan Dösinger
2935ac5c7e
vkd3d: Forward MakeResident to EnqueueMakeResident.
2023-11-28 00:09:09 +01:00
Stefan Dösinger
bd35c91227
vkd3d: Improve the EnqueueMakeResident stub.
2023-11-28 00:09:06 +01:00
Conor McCarthy
76eb0adf03
vkd3d: Support depth bounds test.
2023-11-15 21:48:45 +01:00