Józef Kucia
074513dc4d
libs/vkd3d: Add support for sampler descriptors in root descriptor tables.
2017-08-04 17:06:33 +02:00
Józef Kucia
0a0e29fbbf
libs/vkd3d: Add support for multiple descriptors in root descriptor tables.
2017-08-04 17:06:33 +02:00
Józef Kucia
fa0a2eab21
libs/vkd3d: Store Vulkan bindings for descriptor table root parameters in root signature.
2017-08-04 17:06:33 +02:00
Józef Kucia
db3a112fb5
libs/vkd3d: Add support for CBV descriptors in d3d12_command_list_set_descriptor_table().
2017-08-04 17:06:33 +02:00
Józef Kucia
573460550e
libs/vkd3d: Do not assume CBV root parameter index is equal to Vulkan descriptor binding.
2017-08-02 15:30:15 +02:00
Józef Kucia
fb4e86b292
libs/vkd3d: Implement d3d12_command_list_SetComputeRootConstantBufferView().
2017-08-02 15:30:15 +02:00
Sven Hesse
1decba1a99
libs/vkd3d: Add block size information to the texture format array.
2017-08-02 14:03:39 +02:00
Józef Kucia
85dc44e4ba
libs/vkd3d: Remove double semicolons.
2017-07-28 12:56:18 +02:00
Józef Kucia
56b68c486c
libs/vkd3d: Implement d3d12_command_list_SetGraphicsRoot32BitConstants().
2017-07-28 10:19:37 +02:00
Józef Kucia
33eae49eda
libs/vkd3d: Implement d3d12_command_list_SetComputeRoot32BitConstants().
2017-07-28 10:19:37 +02:00
Józef Kucia
21e2633b10
libs/vkd3d: Implement d3d12_command_list_SetGraphicsRoot32BitConstant().
2017-07-28 10:19:37 +02:00
Józef Kucia
72f723522e
libs/vkd3d: Implement d3d12_command_list_SetComputeRoot32BitConstant().
2017-07-28 10:19:37 +02:00
Henri Verbeet
605a02274e
libs/vkd3d: Allocate GPU virtual addresses for resources.
...
Direct3D 12 resources, buffers in particular, are bound to the pipeline
by their GPU virtual address. In Vulkan, these addresses are not visible
to the application. We previously handled this by returning the VkBuffer
handle as virtual address, but this can't work when the application
binds anything other than the resource's base GPU VA. Instead, we
allocate ranges of GPU address space and associate resources with it.
This uses the (naive) approach of simply allocating subsequent ranges,
and never reclaiming them. Eventually we'll have to revisit that.
2017-07-27 16:28:46 +02:00
Henri Verbeet
1acd3d44b1
Implement d3d12_device_CreateQueryHeap().
2017-07-27 16:28:29 +02:00
Henri Verbeet
e9046a81cc
Implement d3d12_device_CreateCommandSignature().
2017-07-27 16:28:24 +02:00
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