Commit Graph

701 Commits

Author SHA1 Message Date
eebad15d62 libs/vkd3d: Implement GetCopyableFootprints for DIMENSION_TEXTURE1D. 2017-08-09 15:11:20 +02:00
3353643772 libs/vkd3d: Implement GetCopyableFootprints for DIMENSION_BUFFER. 2017-08-09 15:08:52 +02:00
1a7cabdde7 libs/vkd3d: Add DXGI_FORMAT_UNKNOWN. 2017-08-09 14:50:00 +02:00
c1c7163216 include: Add D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT. 2017-08-09 14:48:14 +02:00
0c41cea4a1 tests: Introduce update_buffer_data() helper function. 2017-08-08 17:09:35 +02:00
942ca6b2bd tests: Fix shader code indentation. 2017-08-08 17:09:35 +02:00
94e2c424e9 tests: Add test for texture UAV writes. 2017-08-08 17:09:35 +02:00
2665cbe522 libs/vkd3d: Duplicate Vulkan descriptors for SRVs and UAVs.
Vulkan has different descriptor types for buffers and textures.
Therefore, we do not know the exact Vulkan descriptor type for D3D12 SRV
and UAV descriptors up front. This information can be extracted from
shaders when creating PSOs but creating incompatible Vulkan descriptor
set layouts for PSOs with the same root signature would introduce a lot
of complexity.

In order to preserve compatibility between resource bindings for PSOs
with the same root signature we duplicate Vulkan descriptors for SRVs
and UAVs (a buffer view and an image view descriptor). This strategy may
be reasonable for small root signatures.
2017-08-08 17:09:35 +02:00
1b02322c1d libs/vkd3d: Overallocate descriptors for SRV and UAV descriptor ranges. 2017-08-08 17:09:35 +02:00
3eb5e59e37 libs/vkd3d: Count buffer SRVs and UAVs separately.
SRV and UAV root parameters are buffer views.
2017-08-08 17:09:35 +02:00
cb86c9c8d0 libs/vkd3d-shader: Implement resinfo for UAVs. 2017-08-08 17:09:35 +02:00
190115d3f8 libs/vkd3d: Implement creating 2D texture UAVs. 2017-08-08 17:09:35 +02:00
ca6b265e66 tests: Use reset_command_list() in more places. 2017-08-07 14:53:51 +02:00
cdc5cd499f libs/vkd3d: Avoid potential double free. 2017-08-07 14:53:51 +02:00
6a8b99527a tests: Add test showing that block compressed texture sizes must be aligned. 2017-08-07 14:53:51 +02:00
5825acc3a0 libs/vkd3d: Downgrade some FIXMEs() to WARNs().
These should be performance warnings at most.
2017-08-04 17:06:33 +02:00
1c69c504f6 libs/vkd3d: Mark d3d12_command_list_SetDescriptorHeaps() as implemented. 2017-08-04 17:06:33 +02:00
ba91aeb720 tests: Add test for descriptor tables. 2017-08-04 17:06:33 +02:00
074513dc4d libs/vkd3d: Add support for sampler descriptors in root descriptor tables. 2017-08-04 17:06:33 +02:00
0a0e29fbbf libs/vkd3d: Add support for multiple descriptors in root descriptor tables. 2017-08-04 17:06:33 +02:00
fa0a2eab21 libs/vkd3d: Store Vulkan bindings for descriptor table root parameters in root signature. 2017-08-04 17:06:33 +02:00
db3a112fb5 libs/vkd3d: Add support for CBV descriptors in d3d12_command_list_set_descriptor_table(). 2017-08-04 17:06:33 +02:00
0859b94833 libs/vkd3d: Implement d3d12_device_CreateConstantBufferView(). 2017-08-04 17:06:33 +02:00
6de74f6cc3 libs/vkd3d: Don't calculate footprints for unaligned compressed textures. 2017-08-04 14:36:19 +02:00
a0675d1ba7 libs/vkd3d: Calculate footprint total size using row count, not height. 2017-08-04 14:35:02 +02:00