Hi, I am trying to create an OpenXR plugin for the engine, to learn both OXR and The Machinery. Currently extending the simple_3d sample.
There are some functionality in the vulkan render backend that is either missing or I dont know how to do to correctly initialize the OXR runtime.
The first one is a way to supply needed instance/device extensions to the tm_vulkan_backend_i::init and the tm_vulkan_backend_i::create_devices functions.
These are fetched from the OXR runtime with xrGetVulkanInstanceExtensionsKHR and xrGetVulkanDeviceExtensionsKHR.
The second one is a way to supply the backend with a VkPhysicalDevice directly fetched from OXR with xrGetVulkanGraphicsDeviceKHR.
The third and final one(for now) is a way to create an image_buffer from an already existing VkImage. Supplying a tm_renderer_image_buffer_t to describe the image alongside it is absolutely fine.
This is so I can bind the swapchain image aquired from the OXR runtime to a render_pass.
At some point in time I will probably want to extend the shaders with VK_KHR_multiview as well, but I will cross that bridge when I come to it.