public readonly record struct XrVulkanRequirementsWhat a runtime demands of the Vulkan device it will share.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
The runtime dictates the device, which is why this is asked before one exists. An XR compositor and the application render on the same GPU and share images across a process boundary, and the extensions that make that possible have to be present when the instance and the device are created — not enabled afterwards. So the order is: create the backend, ask what it needs, create the graphics device with it, and only then create a session.
Getting this wrong does not fail politely. A device created without the runtime's extensions will create a session that appears to work and then produces a black headset, which is why this is a hard requirement of the API's shape rather than a note in a document.
Fields and properties (5)
public IReadOnlyList<string> InstanceExtensionsExtensions the VkInstance must be created with.
public IReadOnlyList<string> DeviceExtensionsExtensions the VkDevice must be created with.
public Version MinimumApiVersionThe oldest Vulkan the runtime will work with.
public Version MaximumApiVersionThe newest it has been tested against.
public static XrVulkanRequirements NoneNothing required, which is what a backend with no runtime behind it asks for.
Methods (1)
public XrVulkanRequirements(IReadOnlyList<string> InstanceExtensions, IReadOnlyList<string> DeviceExtensions, Version MinimumApiVersion, Version MaximumApiVersion)What a runtime demands of the Vulkan device it will share.
Used by (4)
- IXrBackendVixen.Xr
- NullXrBackendVixen.Xr
- OpenXrBackendVixen.Xr.OpenXR
- OpenXrBackendTestsVixen.Xr.OpenXR.Tests