Giovanni Mascellani
83ddfb9e8d
vkd3d: Expose the image view usage to Vulkan.
...
This prevents a failure with MoltenVK, which is not able to
create 2D-array view for any usage other than color attachment.
2023-09-26 22:07:41 +02:00
Giovanni Mascellani
b9fa8cfaa6
vkd3d: Set the image aspect when clearing UAVs.
...
This fixes a number of tests on Mesa on Intel.
2023-09-22 11:06:55 +02:00
Andrey Gusev
78ff0f3df4
vkd3d: Add ID3D12Device2 interface.
2023-09-22 11:05:59 +02:00
Henri Verbeet
90d4529f27
Release 1.9.
2023-09-21 19:16:32 +02:00
Conor McCarthy
5c09752194
vkd3d: Do not flush descriptor heaps stored in the command list when the array size is exceeded.
...
An earlier patch introduced a bug which overflows the descriptor heap
array. The array should not be emptied here in case the list is
resubmitted, so just flush the new heap.
2023-08-24 21:44:03 +02:00
Conor McCarthy
f3baf55d97
vkd3d: Implement ID3D12Device1 with stubs.
2023-08-23 22:44:58 +02:00
Giovanni Mascellani
8f8c89fb87
vkd3d: Update a warning so that it aligns with the check that triggers it.
2023-08-23 22:44:52 +02:00
Conor McCarthy
3ca2259807
vkd3d: Fix invalid atomic behaviour in the view cache linked list.
...
The list suffers from the ABA problem, where comparison with the head
succeeds but the head's `next` pointer has changed. Occurs in Cyberpunk
2077, on NVIDIA at least.
2023-08-23 22:44:45 +02:00
Conor McCarthy
c2e09e4c4f
vkd3d: Implement ID3D12Fence1.
2023-08-02 20:18:37 +09:00
Conor McCarthy
0d1bc77b2a
vkd3d: Implement ID3D12GraphicsCommandList3 with a stub.
2023-07-31 21:08:02 +09:00
Conor McCarthy
4433dacb4f
vkd3d: Implement ID3D12Device::GetResourceTiling() for textures.
2023-07-31 21:07:58 +09:00
Conor McCarthy
71a9feac8e
vkd3d: Implement ID3D12Device::GetResourceTiling() for buffers.
2023-07-31 21:07:57 +09:00
Conor McCarthy
3d49b59a68
vkd3d: Handle the case where a descriptor is null and is concurrently written non-null.
...
If view is null and the comparison (view == src->s.u.object) is false,
vkd3d_view_decref will be called on null.
2023-07-27 17:17:55 +09:00
Conor McCarthy
acc68aef94
vkd3d: Add a pending execution count to struct d3d12_command_signature.
...
Buffering of command list commands will depend upon command signatures
persisting until the buffer is flushed.
2023-07-24 22:41:07 +02:00
Conor McCarthy
95bad60281
vkd3d: Store the command buffer in the allocator upon creation.
...
For correct function it cannot be freed until the command allocator
is reset, and d3d12_command_allocator_free_command_buffer() normally
does not free it.
2023-07-24 22:40:53 +02:00
Conor McCarthy
9187a41733
vkd3d: Move descriptor heap tracking to d3d12_command_list_set_descriptor_table().
...
This is the simplest way to gather this information when command lists
are executed later.
2023-07-24 22:40:52 +02:00
Conor McCarthy
42d46d2513
vkd3d: Do not create Vulkan descriptor sets for non-shader-visible heaps.
2023-07-20 22:33:17 +02:00
Conor McCarthy
9014183100
vkd3d: Return a null handle from GetGPUDescriptorHandleForHeapStart() for non-shader-visible heaps.
2023-07-20 22:33:17 +02:00
Conor McCarthy
0a98d09145
vkd3d: Enable Vulkan-backed heaps for each heap instead of per device.
...
Provides a simple way to disable Vulkan writes for non-shader-visible
heaps. Also there is a chance of avoiding access to the d3d12_device
object which helps memory cache performance.
2023-07-20 22:33:05 +02:00
Evan Tang
574239e3e3
vkd3d: Make CopyResource use a temp buffer for depth <-> color copies.
...
depth <-> color copies aren't allowed in Vulkan
2023-07-06 20:09:50 +02:00
Giovanni Mascellani
68764b74a1
vkd3d: Release op data when destroying the queue.
2023-07-04 22:39:31 +02:00
Giovanni Mascellani
dcac2646e4
vkd3d: Always emit an error when failing to reserve for the op array.
2023-07-04 22:39:31 +02:00
Giovanni Mascellani
52d5cb749f
vkd3d: Release the op mutex on allocation failure.
2023-07-04 22:39:31 +02:00
Conor McCarthy
d3e6a3a78f
include: Introduce a function to detect the DXBC source type.
2023-06-28 21:40:36 +02:00
Conor McCarthy
3aa83e877d
vkd3d: Append CopyTileMappings() commands to the command queue op array.
2023-06-27 22:33:58 +02:00