radv: Add suballocation for shaders

Graphics / Mesa 3D Graphics Library / Mesa - Bas Nieuwenhuizen [basnieuwenhuizen.nl] - 2 August 2017 18:45 EDT

This reduces the number of BOs that we need for the BO lists during a submission.

Currently uses a fairly simple linear search for finding free space, that could eventually be improved to a binary tree, which with some per-node info could make a check for space O(1) and finding it O(log n), in the number of buffers in that slab.

c9d4b57 radv: Add suballocation for shaders.
src/amd/vulkan/radv_cmd_buffer.c | 15 ++++----
src/amd/vulkan/radv_device.c | 5 +++
src/amd/vulkan/radv_pipeline.c | 66 +++++++++++++++++++++++++++++++-----
src/amd/vulkan/radv_pipeline_cache.c | 7 ++--
src/amd/vulkan/radv_private.h | 21 ++++++++++++
5 files changed, 93 insertions(+), 21 deletions(-)

Upstream: cgit.freedesktop.org


  • Share