(re VMA): I always thought the main problem which VMA solved was that the number of unique GPU allocations in Vulkan can be limited as much as 4096, but checking at least Vulkan desktop drivers all seem to support 4 billion (e.g. 32 bits) of unique allocations now. That’s when I decided that the sokol-gfx vulkan backend doesn’t need a built-in allocator (I will most likely allow to hook in a user-provided allocator though so that people can integrate VMA if they want).
My fallback option for a bultin allocator would be SebAaltonen’s minimal offset-allocator which he wrote for his HypeHype vulkan backend:
The fact that the official Vulkan samples are written in C++ instead of plain C and even need a whole framework to “abstract away the details” is so frigging frustrating. Those samples are completely useless, because all the interesting stuff is hidden away in framework code, they are on a completely different abstraction level than all the Vulkan documentation which is written against the Vulkan C API, and they hide object lifetime management behind weird RAII wrappers, not to mention that it is also an admission that the Vulkan API is way too verbose.