47b92c3d37
libs/vkd3d: Add compressed texture formats.
2017-08-02 14:04:26 +02:00
1decba1a99
libs/vkd3d: Add block size information to the texture format array.
2017-08-02 14:03:39 +02:00
ab63423c80
libs/vkd3d: Factor out vkd3d_create_texture_view() function.
2017-08-01 16:56:44 +02:00
eb4c98db17
libs/vkd3d-shader: Add support for switch breaks nested in conditional branches.
2017-08-01 13:55:49 +02:00
6b93e6ce99
libs/vkd3d-shader: Add support for switch fall-through blocks.
2017-08-01 13:55:49 +02:00
fbeaf0ba95
libs/vkd3d-shader: Make sure that inserted chunks are sorted.
...
The list is expected to be empty or very small so insertion sort should
be fine.
2017-08-01 13:55:49 +02:00
3effb4b18c
libs/vkd3d-shader: Get rid of artificial limit for switch case blocks.
2017-08-01 11:38:10 +02:00
cd75aab7ba
libs/vkd3d: Factor out d3d12_root_signature_init_push_constants() helper function.
2017-08-01 10:51:45 +02:00
40cb21353e
libs/vkd3d: Extract descriptors counting to helper function.
2017-08-01 10:51:45 +02:00
ae8d8036c6
libs/vkd3d-shader: Implement switch control flow instructions.
2017-08-01 10:51:45 +02:00
5061dbaf0c
libs/vkd3d-shader: Add mechanism for inserting words into SPIR-V streams.
...
Allows inserting SPIR-V instructions at arbitrary locations in SPIR-V
streams.
2017-08-01 10:51:45 +02:00
c1c94e248c
libs/vkd3d-shader: Allow multiple push constant buffers.
2017-08-01 10:51:45 +02:00
3e91bc7c2d
libs/vkd3d: Fix push constant ranges allocation.
...
Any two push constant ranges must not include the same stage.
2017-08-01 10:51:45 +02:00
d75966ab9e
libs/vkd3d: Assign non-overlapping push constant ranges for root constants.
2017-08-01 10:51:45 +02:00
fec337a03c
libs/vkd3d-shader: Fix memory leak in vkd3d_dxbc_compiler_destroy().
2017-07-28 12:56:18 +02:00
85dc44e4ba
libs/vkd3d: Remove double semicolons.
2017-07-28 12:56:18 +02:00
9725eb3763
libs/vkd3d-shader: Remove double semicolons.
2017-07-28 12:56:18 +02:00
e074c30dc7
libs/vkd3d: Pass push constants mapping to shader compiler.
2017-07-28 10:19:37 +02:00
56b68c486c
libs/vkd3d: Implement d3d12_command_list_SetGraphicsRoot32BitConstants().
2017-07-28 10:19:37 +02:00
33eae49eda
libs/vkd3d: Implement d3d12_command_list_SetComputeRoot32BitConstants().
2017-07-28 10:19:37 +02:00
21e2633b10
libs/vkd3d: Implement d3d12_command_list_SetGraphicsRoot32BitConstant().
2017-07-28 10:19:37 +02:00
72f723522e
libs/vkd3d: Implement d3d12_command_list_SetComputeRoot32BitConstant().
2017-07-28 10:19:37 +02:00
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
1acd3d44b1
Implement d3d12_device_CreateQueryHeap().
2017-07-27 16:28:29 +02:00
e9046a81cc
Implement d3d12_device_CreateCommandSignature().
2017-07-27 16:28:24 +02:00