gfxreconstruct
gfxreconstruct copied to clipboard
vulkan: Add common classes and isolate more Vulkan
Add common classes for handle mapping and object tracking to support multi-API capture.
The reason for the common_object_info_table.h is because other APIs can mix object handles with each other. For example, OpenXR references Vulkan Instance, Device and other handles which need to be mapped properly with the corresponding Vulkan API calls.
In addition, move items that are Vulkan-specific into more clear naming. This includes modifying the object info functions to include the API prefix for each object since both OpenXR and Vulkan have the concept of an Instance and they both conflict with each other when in a shared table.
Update the base generator Python scripts to function properly when other API options than Vulkan exist as well.