Changelog:
- Updated OpenXR to v1.1.38. Note that API v1.0.38 is used for compatibility with some OpenXR runtimes.
- Adopted the
XR_KHR_vulkan_enable2
OpenXR extension and replaced the outdatedXR_KHR_vulkan_enable
extension with it. - Fixed how OpenXR frames that do not have the
shouldRender
flag set are handled. This fixes an issue where no rendering occurs when using the OpenXR-Vk-D3D12 interoperability layer. - Added missing OpenXR swapchain image usage flags. This stops some validation errors from showing up.
- Fixed and optimized Vulkan render synchronization.
- Fixed resolution of Vulkan swapchain when it gets recreated.
- Added debug object names to a number of critical Vulkan resources when running in debug mode: draw and present queue(s), render pass, OpenXR swapchain images and command buffers. This makes it easier to tell application-owned and OpenXR runtime-owned resources apart and assists in debugging.
- Improved error detection and handling.
Thanks to @katz1 for reporting the OpenXR and Vulkan issues.