The generator used for generating the VKMA bindings. It includes:
- xml generator - a tool for converting doxygen xml documentation into a xml similar to vulkan spec.
- vulkan-hpp fork - a tool for converting vulkan spec-like xml files into
*.hpp
.- the fork is configurated using preprocessor macros. Used definitions can be found in
premake5.lua
file in the root of the repository
- the fork is configurated using preprocessor macros. Used definitions can be found in
- manual vma into vkma bindings - used in order to introduce VulkanMemoryAllocator API changes to streamline/simplify generation.
The latest version of the bindings can be found here.
If you find any bugs or problems, I'd appreciate an issue either here or in the bindings repository.
- Update the manual side of the bindings, it can be found here. There's little general advice I can give about what these should look like, in simple terms, it's a intermediate layer allowing "modification" of the vma interface in a way that would make the generator happy. It is also responsible for changing the name from
vma
tovkma
. - Run doxygen on all three targets, the configs are in the
vkma_xml_generator/doxygen
directory. If successful, it produces the xml-formatted docs invkma_xml_generator/xml
subdirrectories. - Build and run the
vkma_xml_generator
.third_party
scripts should make the build as simple as runningpremake5 <your-preferred-target-here>
in its directory. Running it combines all of the generated docs into a singlexml
file in thevkma_xml_generator/output
. - Build and run the main generator, it also uses
third_party
scripts, so process should be identical. The producedgenerator
executable converts the xml file generated in the previous step into a header and places it inoutput/vkma.hpp
. It also invokes theclang-format
on said header (don't worry if it complains that it cannot find it or something, you can just as well run it manually afterwards). - Enjoy your updated bindings, but also consider making a PR, somebody else might find the update useful as well.