Intel's Vulkan Linux Driver Merges Shader VMA Allocator For Ray-Tracing Capture/Replay
([Intel] 4 Hours Ago
Intel Shader VMA Allocator)
- Reference: 0001598374
- News link: https://www.phoronix.com/news/Intel-ANV-Shader-VMA-Allocator
- Source link:
Merged today to the Intel open-source "ANV" Vulkan driver in Mesa 26.0 is introducing a shader VMA allocator. Long story short this new allocator steps toward enabling Vulkan ray-tracing capture/replay support, which can come in hand for debugging issues with Vulkan ray-tracing on Intel graphics hardware under Linux and similarly to assist in optimizing for better performance.
Hitting Mesa Git this evening is [1]anv: shader vma allocator . It isn't a particularly sexy feature but the commit as part of that MR making the change-over explains:
"Switched to the new VMA allocator that provides explicit GPU VA [virtual address] control via util_vma_heap.
This is architectural preparation for ray tracing capture/replay, which requires the ability to reserve and allocate shaders at specific VAs. The state pool's free-list design makes VA reservation difficult to add, while the new chunk allocator is designed for explicit VA management from the ground up."
Confirmed as well in the [2]comments that this now merged code plus [3]this 10 month old merge request for RT capture/replay handles is enough to get capture/replay support working with Vulkan ray-tracing shaders. This is confirmed to be working with that additional merge request in RenderDoc:
This will hopefully come in handy for both driver developers and game/engine developers for analyzing Vulkan ray-tracing issues and helping to optimize for better performance once that follow-on capture/replay handles MR lands. Hopefully that will happen in time for next quarter's Mesa 26.0 release.
[1] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38869
[2] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38869#note_3230376
[3] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33022
Hitting Mesa Git this evening is [1]anv: shader vma allocator . It isn't a particularly sexy feature but the commit as part of that MR making the change-over explains:
"Switched to the new VMA allocator that provides explicit GPU VA [virtual address] control via util_vma_heap.
This is architectural preparation for ray tracing capture/replay, which requires the ability to reserve and allocate shaders at specific VAs. The state pool's free-list design makes VA reservation difficult to add, while the new chunk allocator is designed for explicit VA management from the ground up."
Confirmed as well in the [2]comments that this now merged code plus [3]this 10 month old merge request for RT capture/replay handles is enough to get capture/replay support working with Vulkan ray-tracing shaders. This is confirmed to be working with that additional merge request in RenderDoc:
This will hopefully come in handy for both driver developers and game/engine developers for analyzing Vulkan ray-tracing issues and helping to optimize for better performance once that follow-on capture/replay handles MR lands. Hopefully that will happen in time for next quarter's Mesa 26.0 release.
[1] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38869
[2] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38869#note_3230376
[3] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33022