Henri Verbeet
2a3d121c74
libs/vkd3d: Add DXGI_FORMAT_R8_SNORM.
2017-07-27 16:26:36 +02:00
Henri Verbeet
abff100287
libs/vkd3d: Add DXGI_FORMAT_R16G16B16A16_UINT.
2017-07-27 16:25:34 +02:00
Józef Kucia
92fcb9ffa2
libs/vkd3d-shader: Add support for push constants.
2017-07-27 15:24:38 +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
bb80c759fc
libs/vkd3d: Introduce d3d12_root_signature_cleanup() helper function.
...
Reduces code duplication.
2017-07-27 14:19:41 +02:00
Józef Kucia
e3d3819789
libs/vkd3d: Fix copy-paste error in d3d12_root_signature_init().
2017-07-26 16:09:40 +02:00
Józef Kucia
1589ce7682
libs/vkd3d: Fix Vulkan bindings assignment.
...
Fixes 6d569fcbc6
,
2017-07-26 14:50:39 +02:00
Józef Kucia
a2e38b5672
libs/vkd3d: Set VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT only if width and height are equal.
2017-07-26 13:45:25 +02:00
Józef Kucia
6d569fcbc6
libs/vkd3d: Assign consecutive Vulkan bindings for D3D12 descriptors.
2017-07-26 13:45:25 +02:00
Józef Kucia
edd1e9602d
libs/vkd3d-shader: Implement arbitrary mappings from D3D shader register to Vulkan descriptors.
...
An arbitrary mapping can be passed to vkd3d_shader_compile_dxbc().
2017-07-26 13:45:25 +02:00
Józef Kucia
d39d0e4c9f
libs/vkd3d: Fix memory leak in d3d12_root_signature_init().
2017-07-25 18:47:42 +02:00
Sven Hesse
3328be8c87
libs/vkd3d: Unroll descriptor tables and fill in push constants
2017-07-25 17:41:58 +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
d0a4238e39
libs/vkd3d: Allocate Vulkan descriptors for UAVs.
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
Józef Kucia
00606b7dff
libs/vkd3d: Fix logic for choosing compute-only queue family index.
2017-07-21 22:29:12 +02:00
Józef Kucia
d35ffe53ad
libs/vkd3d: Initialize device->compute_queue_family_index.
...
Fixes dadce84a4b
.
2017-07-21 22:29:12 +02:00
Sven Hesse
dadce84a4b
libs/vkd3d: Create a compute queue family.
2017-07-21 15:24:57 +02:00
Józef Kucia
d1de972430
libs/vkd3d: Allocate Vulkan descriptors for samplers.
2017-07-17 16:25:29 +02:00
Józef Kucia
593a13402d
libs/vkd3d: Add support for static samplers.
...
We still do not implement any reasonable mapping between D3D registers
and Vulkan bindings.
2017-07-17 16:25:29 +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
733775fbad
libs/vkd3d: Implement d3d12_descriptor_heap_GetGPUDescriptorHandleForHeapStart().
2017-07-17 16:25:29 +02:00
Józef Kucia
091ac41f79
libs/vkd3d: Partially handle descriptor table root parameters.
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
Józef Kucia
1c79831873
libs/vkd3d: Implement d3d12_device_CreateShaderResourceView().
2017-07-14 13:44:35 +02:00
Józef Kucia
8bb54c17f3
libs/vkd3d: Simplify d3d12_resource_destroy().
2017-07-14 13:44:35 +02:00
Józef Kucia
f4f803c7bb
libs/vkd3d: Add initial implementation for d3d12_device_GetCopyableFootprints().
2017-07-13 11:56:30 +02:00
Józef Kucia
f3d297574a
libs/vkd3d: Implement d3d12_device_CreateSampler().
2017-07-12 13:10:44 +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
3f546c8782
libs/vkd3d: Add DXGI_FORMAT_R32_UINT.
2017-07-10 15:33:34 +02:00
Józef Kucia
3f03cd1ec8
libs/vkd3d-shader: Implement root signature parsing.
2017-06-27 13:16:47 +02:00
Józef Kucia
d220ae4bfb
libs/vkd3d: Add ID3D12RootSignatureDeserializer interface stub.
2017-06-27 13:16:47 +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
d515e3d047
libs/vkd3d: Require VK_KHR_maintenance1 device extension.
2017-06-21 22:00:19 +02:00
Józef Kucia
9948abda96
libs/vkd3d: Flip SV_Position.y in last vertex processing shader stage.
...
The handwritten GLSL shaders do this.
2017-06-21 12:22:20 +02:00
Józef Kucia
c270d9a859
libs/vkd3d: Accept DXBC shaders.
2017-06-19 19:49:11 +02:00
Józef Kucia
6f6d5c7850
libs/vkd3d: Use depth aspect mask for DXGI_FORMAT_D16_UNORM.
2017-06-19 18:19:19 +02:00
Józef Kucia
eff8428c71
libs/vkd3d-common: Move vkd3d_array_reserve() from libvkd3d.
2017-06-19 18:05:53 +02:00
Henri Verbeet
5808c280f7
libs/vkd3d: Add DXGI_FORMAT_D16_UNORM.
2017-06-19 14:44:48 +02:00
Henri Verbeet
fc67a3b7fa
libs/vkd3d: Add DXGI_FORMAT_R8G8B8A8_UNORM_SRGB.
2017-06-19 14:44:41 +02:00
Henri Verbeet
d029dc995c
libs/vkd3d: Add DXGI_FORMAT_R8_UINT.
2017-06-19 14:44:33 +02:00
Henri Verbeet
79d731de8a
libs/vkd3d: Add DXGI_FORMAT_R16_FLOAT.
2017-06-19 14:44:19 +02:00
Henri Verbeet
70dbeed14c
libs/vkd3d: Add DXGI_FORMAT_R8_UNORM.
2017-06-19 14:44:07 +02:00
Henri Verbeet
00f514cf1c
libs/vkd3d: Add DXGI_FORMAT_R16_UNORM.
2017-06-19 14:43:55 +02:00
Henri Verbeet
07f12c2947
libs/vkd3d: Add DXGI_FORMAT_R16G16B16A16_FLOAT.
2017-06-19 14:43:45 +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
Henri Verbeet
f604f25aba
libs/vkd3d: Add DXGI_FORMAT_R11G11B10_FLOAT.
2017-06-15 15:16:07 +02:00
Henri Verbeet
39d95dcd7f
libs/vkd3d: Add DXGI_FORMAT_R10G10B10A2_UNORM.
2017-06-15 15:15:57 +02:00
Henri Verbeet
39e8b8de25
libs/vkd3d: Add DXGI_FORMAT_R32G32_FLOAT.
2017-06-15 15:15:46 +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
0f38858996
libs/vkd3d: Implement D3D12_ROOT_PARAMETER_TYPE_CBV root signature parameters.
2016-11-13 00:44:19 +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
f252d6cd31
libs/vkd3d: Implement d3d12_device_CreateDepthStencilView().
2016-11-10 16:42:24 +01:00
Henri Verbeet
2e10db6f8e
libs/vkd3d: Add support for D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA.
2016-11-10 16:41:01 +01:00
Henri Verbeet
4142c477ef
build: Add some standard files.
2016-10-28 12:34:12 +02: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
b011f0b972
libs/vkd3d: Introduce resource flags.
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
Józef Kucia
e42a9da943
libs/vkd3d: Use VK_KHR_*_EXTENSION_NAME defines.
2016-10-24 15:28:08 +02:00
Henri Verbeet
fa5b972371
demos/triangle: Add a demo program.
2016-10-24 13:57:05 +02:00
Henri Verbeet
6cbe8626c2
libs/vkd3d: Add DXGI_FORMAT_B8G8R8A8_UNORM_SRGB.
2016-10-24 13:57:05 +02:00
Henri Verbeet
6babf11214
libs/vkd3d: Export a function to get the Vulkan format from a DXGI format.
2016-10-24 13:57:05 +02:00
Henri Verbeet
b760b52859
libs/vkd3d: Export a function to get the Vulkan physical device from a d3d12 device.
2016-10-24 13:57:05 +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
a5fbcb28f0
libs/vkd3d: Set initial image layout to VK_IMAGE_LAYOUT_UNDEFINED for CPU inaccessible images.
2016-10-24 13:20:09 +02:00
Józef Kucia
e19e428ed0
libs/vkd3d: Check if device memory is CPU accessible in d3d12_resource_Map().
2016-10-24 13:20:09 +02:00
Józef Kucia
3161f346b6
libs/vkd3d: Try to allocate coherent host visible memory for CUSTOM heap.
2016-10-24 13:20:09 +02:00
Józef Kucia
33ef8688ab
libs/vkd3d: Initialize "resource->external" before possible call to d3d12_resource_destroy().
2016-10-20 16:38:04 +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
Józef Kucia
69cd100d48
libs/vkd3d: Validate initial resource state.
2016-10-19 13:10:12 +02:00
Józef Kucia
f601cbc04a
libs/vkd3d: Validate "optimized_clear_value" for buffer resources.
2016-10-19 13:10:12 +02:00