Józef Kucia
7aaa801768
libs/vkd3d: Allow root signatures with no descriptors.
...
A root signature can have no descriptors when it is empty,
or it has only root constants.
2017-07-27 14:19:41 +02:00
Józef Kucia
bb18c171bf
libs/vkd3d: Implement d3d12_command_list_Dispatch().
2017-07-25 12:50:14 +02:00
Józef Kucia
47cb8ba80f
libs/vkd3d: Bind compute pipeline.
2017-07-25 12:50:14 +02:00
Józef Kucia
982075db60
libs/vkd3d: Partially implement d3d12_command_list_SetComputeRootDescriptorTable().
2017-07-25 12:50:14 +02:00
Józef Kucia
5ac8dbfc64
libs/vkd3d: Implement d3d12_device_CreateUnorderedAccessView().
2017-07-25 12:50:14 +02:00
Józef Kucia
73cdf0164a
libs/vkd3d: Implement d3d12_command_list_SetComputeRootSignature().
2017-07-25 12:50:14 +02:00
Józef Kucia
3f4ef37b88
libs/vkd3d: Introduce d3d12_command_list_allocate_descriptor_set() helper function.
2017-07-25 12:50:14 +02:00
Józef Kucia
055b27da12
libs/vkd3d: Rename current_descriptor_set to graphics_descriptor_set.
2017-07-25 12:50:14 +02:00
Józef Kucia
bd437d547f
libs/vkd3d: Add support for compute command allocators.
2017-07-25 11:22:34 +02:00
Sven Hesse
dadce84a4b
libs/vkd3d: Create a compute queue family.
2017-07-21 15:24:57 +02:00
Józef Kucia
02506b24c4
libs/vkd3d: Partially implement d3d12_command_list_SetGraphicsRootDescriptorTable().
...
A very naive implementation. Mainly to unblock some shader translation
work.
2017-07-17 16:25:29 +02:00
Józef Kucia
2dfbc88a89
libs/vkd3d: Implement copying from buffers to images.
2017-07-14 13:44:35 +02:00
Henri Verbeet
d61b6a3545
include: Add the missing "values" parameter to ID3D12GraphicsCommandList::ClearUnorderedAccessViewFloat().
2017-07-11 12:21:15 +02:00
Henri Verbeet
99d2ba411e
include: Add the missing ClearUnorderedAccessViewUint() method to the ID3D12GraphicsCommandList interface.
2017-07-11 12:21:11 +02:00
Józef Kucia
be9849ace4
libs/vkd3d: Avoid race condition when destroying fences.
2017-06-26 17:03:31 +02:00
Józef Kucia
ae8d869013
libs/vkd3d: Use VK_NULL_HANDLE instead of NULL.
...
Fixes a compiler warning for 32-bit builds.
2017-06-26 17:03:31 +02:00
Józef Kucia
9a59184e9f
libs/vkd3d: Reset current root signature in d3d12_command_list_Reset().
2017-06-23 22:24:33 +02:00
Józef Kucia
532da7d4e1
libs/vkd3d: Clear current descriptor set when descriptor pool is destroyed.
2017-06-23 22:24:33 +02:00
Józef Kucia
fa52702774
libs/vkd3d: Always update current root signature in d3d12_command_list_SetGraphicsRootSignature().
2017-06-23 22:24:33 +02:00
Józef Kucia
c0b5cf3df6
libs/vkd3d: Avoid updating descriptor sets bound to recording command buffer.
...
Fixes GPU memory page faults in gears demo on Nvidia.
The Vulkan spec says:
"The descriptor set contents bound by a call to
vkCmdBindDescriptorSets may be consumed during host execution of the
command, or during shader execution of the resulting draws, or any
time in between. Thus, the contents must not be altered (overwritten
by an update command, or freed) between when the command is recorded
and when the command completes executing on the queue."
2017-06-23 22:24:33 +02:00
Józef Kucia
4e5fcb5141
libs/vkd3d: Use negative viewport height to flip along y-axis.
...
Requires VK_KHR_maintenance1.
2017-06-21 22:00:19 +02:00
Józef Kucia
ec4ab656df
libs/vkd3d: Add trailing newline to WARN() message in d3d12_command_list_begin_render_pass().
2017-06-16 23:29:37 +02:00
Józef Kucia
84889646f6
Update license to LGPL v2.1.
2017-06-16 22:11:21 +02:00
Józef Kucia
a680fdd91b
libs/vkd3d: Implement d3d12_command_list_OMSetStencilRef().
2017-03-05 22:23:37 +01:00
Henri Verbeet
cd4f4a2976
libs/vkd3d: Implement d3d12_command_list_SetGraphicsRootConstantBufferView().
2016-11-13 00:51:52 +01:00
Henri Verbeet
0b2702d96e
libs/vkd3d: Implement d3d12_command_list_SetGraphicsRootSignature().
2016-11-13 00:45:25 +01:00
Henri Verbeet
d97df34093
libs/vkd3d: Implement depth/stencil pipeline state attachments.
2016-11-13 00:42:31 +01:00
Henri Verbeet
fa4072a892
libs/vkd3d: Implement d3d12_command_list_DrawIndexedInstanced().
2016-11-10 16:49:22 +01:00
Henri Verbeet
9bb9e63f23
libs/vkd3d: Implement d3d12_command_list_IASetIndexBuffer().
2016-11-10 16:47:12 +01:00
Henri Verbeet
2213e126cf
libs/vkd3d: Implement d3d12_command_list_ClearDepthStencilView().
2016-11-10 16:43:33 +01:00
Henri Verbeet
2e10db6f8e
libs/vkd3d: Add support for D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA.
2016-11-10 16:41:01 +01:00
Józef Kucia
4aab207b56
libs/vkd3d: Fix initial state transtion for swapchain images.
2016-10-25 13:23:18 +02:00
Józef Kucia
b9da47ebe2
libs/vkd3d: Implement naive initial state transition.
...
This is not a complete solution yet. In order to allow recording
multiple command list and executing them in any order we have to fix up
the current image layout when submitting a command list instead of when
a command list is being recorded.
2016-10-25 13:23:18 +02:00
Józef Kucia
0d1550788e
libs/vkd3d: Rename variables in d3d12_command_list_CopyBufferRegion().
2016-10-25 13:23:18 +02:00
Józef Kucia
ec23554b54
libs/vkd3d: Fix memory leak in d3d12_command_allocator_Release().
2016-10-24 15:43:12 +02:00
Henri Verbeet
c79584ed92
libs/vkd3d: Export a function to get the Vulkan queue family index from a d3d12 command queue.
2016-10-24 13:57:05 +02:00
Józef Kucia
eea8617b9b
libs/vkd3d: GPU virtual address for texture resources is always 0.
2016-10-24 13:20:09 +02:00
Józef Kucia
fd9f1abb4f
libs/vkd3d: Fix command list resetting.
...
A command list can be resetted to the same command allocator when it is
in use.
2016-10-20 16:38:04 +02:00
Józef Kucia
2189859532
libs/vkd3d: Command allocator can be used with one command list at a time.
2016-10-20 16:38:04 +02:00
Józef Kucia
384bb26ea5
libs/vkd3d: Naming conventions.
2016-10-20 16:38:04 +02:00
Józef Kucia
52211e6c40
libs/vkd3d: Free command buffers on command allocator reset.
2016-10-20 16:38:04 +02:00
Józef Kucia
278cb0103c
libs/vkd3d: Add support for D3D12_RESOURCE_STATE_RESOLVE_* barriers.
2016-10-20 16:38:04 +02:00
Józef Kucia
c41ad774de
libs/vkd3d: Implement UAV barriers.
2016-10-19 16:39:48 +02:00
Józef Kucia
0944475c6a
libs/vkd3d: Implement transition barriers.
2016-10-19 16:39:48 +02:00
Józef Kucia
f2c980af56
libs/vkd3d: Validate resource state for resource barriers.
2016-10-19 16:39:48 +02:00
Henri Verbeet
e0ba2fd2d3
libs/vkd3d: Export a function to get the Vulkan queue from a d3d12 command queue.
2016-10-19 10:02:53 +02:00
Józef Kucia
f503954a77
libs/vkd3d: Ignore draw calls when pipeline state is not set.
2016-10-11 13:43:04 +02:00
Józef Kucia
a1082ec954
libs/vkd3d: Use "< 0" to test VkResult for errors.
...
For consistency.
2016-10-11 13:43:04 +02:00
Henri Verbeet
4a558d5a4a
libs/vkd3d: Implement d3d12_command_list_DrawInstanced().
2016-10-10 17:26:46 +02:00
Henri Verbeet
a0ccb1c581
libs/vkd3d: Implement d3d12_command_list_SetPipelineState().
2016-10-10 17:26:13 +02:00