Józef Kucia
9725eb3763
libs/vkd3d-shader: Remove double semicolons.
2017-07-28 12:56:18 +02:00
Józef Kucia
e074c30dc7
libs/vkd3d: Pass push constants mapping to shader compiler.
2017-07-28 10:19:37 +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
Henri Verbeet
863a8f3f6f
libs/vkd3d: Add DXGI_FORMAT_BC3_UNORM_SRGB.
2017-07-27 16:27:41 +02:00
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
6c174beb4b
libs/vkd3d-shader: Use component types from input signatures for shader inputs.
...
Fixes Vulkan validation layers errors.
2017-07-25 14:23:27 +02:00
Józef Kucia
5a2ebc62f6
libs/vkd3d-shader: Use component types from output signatures for shader outputs.
...
Fixes Vulkan validation layers errors.
2017-07-25 14:23:27 +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
a0e82064dc
libs/vkd3d-shader: Mask coordinates for OpImageWrite instructions.
2017-07-24 19:43:50 +02:00
Józef Kucia
046afde8db
libs/vkd3d-shader: Store resource type info in table.
2017-07-24 19:43:50 +02:00
Józef Kucia
aa3465ac83
libs/vkd3d-shader: Fix bitcasts for shader inputs.
2017-07-24 19:43:50 +02:00
Józef Kucia
c71d609fb6
libs/vkd3d-shader: Fix write mask for vThreadIDInGroupFlattened.
2017-07-24 19:43:50 +02:00
Józef Kucia
6bbd6c948a
libs/vkd3d-shader: Translate store_uav_typed instructions.
2017-07-24 19:43:50 +02:00
Józef Kucia
4746833a6f
libs/vkd3d-shader: Translate dcl_uav_typed instructions.
2017-07-24 19:43:50 +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
ea6b35ef58
libs/vkd3d-shader: Translate udiv instructions.
2017-07-21 14:14:42 +02:00
Józef Kucia
c73b201110
libs/vkd3d-shader: Do not print FIXMEs for known global flags.
2017-07-21 14:14:42 +02:00
Józef Kucia
95b6b7b91b
libs/vkd3d-shader: Clean up vkd3d_dxbc_compiler_emit_control_flow_instruction().
2017-07-21 14:14:42 +02:00
Józef Kucia
18c06c8022
libs/vk3d-shader: Translate break instructions for loops.
2017-07-20 13:32:40 +02:00
Józef Kucia
1cbf6ebddf
libs/vk3d-shader: Fix return instructions in if/else blocks.
2017-07-20 13:32:40 +02:00
Józef Kucia
2022702858
libs/vkd3d-shader: Translate breakc instructions.
2017-07-20 13:32:40 +02:00
Józef Kucia
98c307cdbc
libs/vkd3d-shader: Implement loops.
2017-07-20 13:32:40 +02:00
Józef Kucia
f6f70d8c02
libs/vkd3d-shader: Add support for nested control flow.
2017-07-20 13:32:40 +02:00