1028 Commits

Author SHA1 Message Date
Józef Kucia
ae8d8036c6 libs/vkd3d-shader: Implement switch control flow instructions. 2017-08-01 10:51:45 +02:00
Józef Kucia
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
Józef Kucia
c1c94e248c libs/vkd3d-shader: Allow multiple push constant buffers. 2017-08-01 10:51:45 +02:00
Józef Kucia
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
Józef Kucia
94b616d670 tests: Add test for multiple root constants. 2017-08-01 10:51:45 +02:00
Józef Kucia
d75966ab9e libs/vkd3d: Assign non-overlapping push constant ranges for root constants. 2017-08-01 10:51:45 +02:00
Józef Kucia
aa5d48eec4 demos: Get rid of handwritten GLSL shaders. 2017-07-28 15:26:09 +02:00
Józef Kucia
fec337a03c libs/vkd3d-shader: Fix memory leak in vkd3d_dxbc_compiler_destroy(). 2017-07-28 12:56:18 +02:00
Józef Kucia
85dc44e4ba libs/vkd3d: Remove double semicolons. 2017-07-28 12:56:18 +02:00
Józef Kucia
9725eb3763 libs/vkd3d-shader: Remove double semicolons. 2017-07-28 12:56:18 +02:00
Józef Kucia
6478dea0d1 tests: Add test for GPU virtual addresses. 2017-07-28 12:56:18 +02:00
Józef Kucia
4d7a86295d tests: Add basic test for root constants. 2017-07-28 10:19:37 +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
Józef Kucia
4d8dea80ae tests: Add test for overlapping root descriptors. 2017-07-27 17:35:24 +02:00
Józef Kucia
dc598ccbc8 tests: Add test for creating root signatures with root constants. 2017-07-27 17:35:24 +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