Vulkan Ray Tracing in GeeXLab
Started by Stefan, June 21, 2017, 11:09:59 PM
0 Members and 1 Guest are viewing this topic.
QuoteWe released Vulkan Memory Allocator 1.0 (VMA) back in July last year, but we've been remiss in posting about the progress of the library as it marched onwards, despite hitting a decent marker of maturity with the 2.0 release back in March this year. Let's correct that with the release of 2.1 today.Since extracting the library from a game he was working on to make it generally useful by any Vulkan® client application, Adam Sawicki, VMA's chief engineer, has been mostly feedback-driven in the road to 2.0 and beyond. Real games and applications using the library have shaped the features and evolution of the code, and feedback from the community that's using it leads us to believe it's now integrated into a majority of in-development Vulkan-based games and apps on PC today.For example, the EA SEED team's Halcyon engine that they've developed for their future-looking research. Halcyon powers the Project PICA PICA demo that SEED released in March to show off their work with DirectX ray-tracing, but also supports Vulkan as a traditional rendering API, using VMA internally to manage memory. In fact, SEED were one of the earliest adopters of the library back when we released 1.0 and have used it ever since, giving us great feedback along the way. Thanks, Graham!In a similar vein, Confetti Interactive use it in their Forge open source cross-platform rendering engine, and were possibly the first ever user of the library outside of AMD in a production Vulkan environment, integrating it even before we formally released 1.0!Last but not least by any means, the Google team working on Filament, a modern engine primarily aimed at Android games but which is also cross-platform, also integrated VMA into their rendering system. Vulkan's maturity on Android has helped it push into mobile-focused engines. Exposure to the underlying platform architecture of today's mobile devices — where it's quite different to common PC systems and especially where the memory subsystem is concerned — has helped make VMA more robust and helped it consider how more types of games and applications consume and manage their Vulkan memory.There's also been a natural evolution in the new features of the library as it has matured. More optimal allocation strategies, support for defragmentation, and more developer-focused profiling and debugging support is all there now. The future also looks bright: we internally sponsor VMA as an active research project for Adam and other engineers to work on it, dedicating time to experimentation inside the library to make sure it stays great.We want to continue to make it useful in the future, as games and their use of Vulkan — and the Vulkan API itself! — matures.
QuoteNotable new features: defragmentation of GPU memory, buddy algorithm, convenience functions for sparse binding.