Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
This is a fairly well known project and fixes one of Vulkan's greatest shortcomings, but I wonder if there are alternatives which provide most of the critical features but with a smaller footprint. VMA is around 20kloc, which is about the same as jemalloc (23kloc). A general purpose allocator like jemalloc is overkill for many requirements, but there are smaller (yet slower) alternatives like Emscripten emmalloc (which is just 1.4 kloc: https://github.com/emscripten-core/emscripten/blob/main/syst...).
Are there similar alternatives for VMA?
V-EZ [1] was kinda supposed to be that, a wrapper that makes Vulkan easier to use in non-über-performance-critical applications, but it seems to be dead [2]...
[1] - https://github.com/GPUOpen-LibrariesAndSDKs/V-EZ
[2] - https://github.com/GPUOpen-LibrariesAndSDKs/V-EZ/issues/73
I agree strongly with you about the need for good resources. Here are a few I've found that are useful.
* A trip through the Graphics Pipeline[1] is slightly dated (10 years old) but still very relevant.
* If you're interested in compute shaders specifically, I've put together "compute shader 101"
* Alyssa Rosenzweig's posts[3] on reverse engineering GPUs casts a lot of light on how they work at a low level. It helps to have a big-picture understanding first.
I think there is demand for a good book on this topic.
[1]: https://fgiesen.wordpress.com/2011/07/09/a-trip-through-the-...
[2]: https://github.com/googlefonts/compute-shader-101
[3]: https://rosenzweig.io/