This implements the sparseBinding feature radv. The feature name is a misnomer, as all the resources still have to be completely backed by memore. However, that can be done independently of descriptor generation, so we have to work with blocks of address space already.
This feature does not need any kernel features. There are some kernel features that are useful for sparseResidencyBuffer in the works, this series is designed such that plugging those in and enabling sparseResidencyBuffer is going to take minimal work. deqp-vk -n \*sparse\*: Test run totals: Passed: 1261/2981 (42.3%) Failed: 0/2981 (0.0%) Not supported: 1720/2981 (57.7%) Warnings: 0/2981 (0.0%) As well as no regressions in the complete CTS. Bas Nieuwenhuizen (8): radv/amdgpu: Allow submitting 0 command buffers. radv: Better handle submitting 0 command buffers. radv/amdgpu: Add winsys implementation of virtual buffers. radv: Implement sparse buffer creation. radv: Implement sparse image creation. radv: Implement sparse memory binding. radv/amdgpu: Use reference counting for bos. radv: Enable sparseBinding feature. src/amd/vulkan/radv_device.c | 134 +++++++++++++-- src/amd/vulkan/radv_image.c | 23 ++- src/amd/vulkan/radv_private.h | 2 + src/amd/vulkan/radv_radeon_winsys.h | 6 + src/amd/vulkan/radv_wsi.c | 3 +- src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c | 228 +++++++++++++++++++++++--- src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.h | 36 +++- src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c | 110 ++++++++++++- 8 files changed, 496 insertions(+), 46 deletions(-) -- 2.11.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev