Henri Verbeet pushed to branch master at wine / vkd3d
Commits: b092fcfc by Conor McCarthy at 2024-10-17T17:23:04+02:00 tests/d3d12: Test buffer and texture SRVs in test_unbounded_resource_arrays().
On virtual heaps, SRV/UAV unbounded ranges are implemented using two descriptor sets, one for buffers and another for textures, and this case should be tested.
- - - - - 3f98ca53 by Conor McCarthy at 2024-10-17T17:23:04+02:00 vkd3d: Access the current range via the declared pointer in d3d12_root_signature_init_root_descriptor_tables().
- - - - - eca344ff by Conor McCarthy at 2024-10-17T17:23:04+02:00 vkd3d: Introduce a separate structure for storing Vulkan descriptor binding arrays.
- - - - - 416ce575 by Giovanni Mascellani at 2024-10-17T17:23:04+02:00 vkd3d: Introduce a helper function to add bindings to struct vk_binding_array.
- - - - - 3aec841a by Giovanni Mascellani at 2024-10-17T17:23:04+02:00 vkd3d: Use vk_binding_array_add_binding() in d3d12_root_signature_init_static_samplers().
- - - - - b5c56a50 by Giovanni Mascellani at 2024-10-17T17:23:04+02:00 vkd3d: Use vk_binding_array_add_binding() in d3d12_root_signature_init_root_descriptors().
- - - - - 74da9ed6 by Conor McCarthy at 2024-10-17T17:23:04+02:00 vkd3d: Create a separate Vulkan descriptor binding array for each descriptor set.
Allows descriptor set layouts to be created after all bindings are mapped. This is less complex and fragile than the current scheme, and in a future patch it will support separating descriptor types into different sets. Descriptors on virtual heaps are currently allocated from pools which contain an equal number of each descriptor type used by vkd3d, and this can waste a significant amount of device memory.
- - - - - 0b8a53d7 by Giovanni Mascellani at 2024-10-17T17:23:04+02:00 vkd3d: Create Vulkan bindings in d3d12_root_signature_append_vk_binding().
- - - - - bfaab970 by Conor McCarthy at 2024-10-17T17:28:46+02:00 vkd3d: Lay out virtual descriptor heap buffer and image bindings consecutively instead of interleaving them.
Slightly simplifies descriptor write addressing, and makes layouts essentially the same as array layouts, differing only in the binding details, and therefore easier to understand. This also simplifies the addition of storage buffer bindings, which can all be added onto the end.
- - - - - 8943999b by Henri Verbeet at 2024-10-17T17:28:52+02:00 vkd3d: Slightly simplify the SRV/UAV logic in vk_write_descriptor_set_from_d3d12_desc().
- - - - -
3 changed files:
- libs/vkd3d/command.c - libs/vkd3d/state.c - tests/d3d12.c
View it on GitLab: https://gitlab.winehq.org/wine/vkd3d/-/compare/c89e547e3ef767da28be46bc37ac2...