openxr-0.1: Bindings to the OpenXR API
Safe HaskellNone
LanguageHaskell2010

OpenXR.Extensions.XR_KHR_vulkan_enable2

Description

Name

XR_KHR_vulkan_enable2 - instance extension

Specification

See XR_KHR_vulkan_enable2 in the main specification for complete information.

Registered Extension Number

91

Revision

1

Extension and Version Dependencies

  • Requires OpenXR 1.0

See Also

GraphicsBindingVulkan2KHR, GraphicsRequirementsVulkan2KHR, SwapchainImageVulkan2KHR, VulkanDeviceCreateInfoKHR, VulkanGraphicsDeviceGetInfoKHR, VulkanInstanceCreateInfoKHR, createVulkanDeviceKHR, createVulkanInstanceKHR, getVulkanGraphicsDevice2KHR, getVulkanGraphicsRequirements2KHR

Document Notes

For more information, see the OpenXR Specification

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

Synopsis

Documentation

createVulkanInstanceKHR Source #

Arguments

:: forall io. MonadIO io 
=> Instance

instance is an Instance handle previously created with createInstance.

-> VulkanInstanceCreateInfoKHR

createInfo extensible input struct of type XrCreateVulkanInstanceCreateInfoKHR

-> io ("vulkanInstance" ::: Ptr Instance_T, "vulkanResult" ::: Result) 

xrCreateVulkanInstanceKHR - Create an OpenXR compatible VkInstance

Valid Usage (Implicit)

  • instance must be a valid Instance handle
  • createInfo must be a pointer to a valid VulkanInstanceCreateInfoKHR structure
  • vulkanInstance must be a pointer to a VkInstance value
  • vulkanResult must be a pointer to a VkResult value

Return Codes

Success
Failure

See Also

Instance, VulkanInstanceCreateInfoKHR, createVulkanDeviceKHR

createVulkanDeviceKHR Source #

Arguments

:: forall io. MonadIO io 
=> Instance

instance is an Instance handle previously created with createInstance.

-> VulkanDeviceCreateInfoKHR

createInfo extensible input struct of type XrCreateVulkanDeviceCreateInfoKHR

-> io ("vulkanDevice" ::: Ptr Device_T, "vulkanResult" ::: Result) 

xrCreateVulkanDeviceKHR - Create an OpenXR compatible VkDevice

Valid Usage (Implicit)

  • instance must be a valid Instance handle
  • createInfo must be a pointer to a valid VulkanDeviceCreateInfoKHR structure
  • vulkanDevice must be a pointer to a VkDevice value
  • vulkanResult must be a pointer to a VkResult value

Return Codes

Success
Failure

See Also

Instance, VulkanDeviceCreateInfoKHR, createVulkanInstanceKHR

getVulkanGraphicsDevice2KHR Source #

Arguments

:: forall io. MonadIO io 
=> Instance

instance is an Instance handle previously created with createInstance.

-> VulkanGraphicsDeviceGetInfoKHR

getInfo extensible input struct of type VulkanGraphicsDeviceGetInfoKHR

-> io ("vulkanPhysicalDevice" ::: Ptr PhysicalDevice_T) 

xrGetVulkanGraphicsDevice2KHR - Retrieve the Vulkan physical device associated with an OpenXR instance and system

Valid Usage (Implicit)

Return Codes

Success
Failure

See Also

Instance, VulkanGraphicsDeviceGetInfoKHR

getVulkanGraphicsRequirements2KHR :: MonadIO io => Instance -> SystemId -> io GraphicsRequirementsVulkanKHR Source #

xrGetVulkanGraphicsRequirements2KHR - Retrieve the Vulkan version requirements for an instance and system

Parameters

The getVulkanGraphicsRequirementsKHR function identifies to the application the runtime’s minimum Vulkan version requirement and the highest known tested Vulkan version. getVulkanGraphicsRequirementsKHR must be called prior to calling createSession. The runtime must return ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING on calls to createSession if getVulkanGraphicsRequirements2KHR has not been called for the same instance and systemId.

Parameter Descriptions

Valid Usage (Implicit)

Return Codes

Success
Failure

See Also

GraphicsRequirementsVulkan2KHR, GraphicsRequirementsVulkanKHR, Instance, https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrSystemId

data VulkanInstanceCreateInfoKHR Source #

XrVulkanInstanceCreateInfoKHR - Vulkan Instance Create Info

Valid Usage (Implicit)

  • type must be TYPE_VULKAN_INSTANCE_CREATE_INFO_KHR
  • next must be NULL or a valid pointer to the next structure in a structure chain
  • createFlags must be 0
  • pfnGetInstanceProcAddr must be a valid PFN_vkGetInstanceProcAddr value
  • vulkanCreateInfo must be a pointer to a valid VkInstanceCreateInfo value
  • vulkanAllocator must be a pointer to a valid VkAllocationCallbacks value

See Also

StructureType, https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrSystemId, VulkanInstanceCreateFlagsKHR, createVulkanInstanceKHR

Constructors

VulkanInstanceCreateInfoKHR 

Fields

Instances

Instances details
Eq VulkanInstanceCreateInfoKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

Show VulkanInstanceCreateInfoKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

Storable VulkanInstanceCreateInfoKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

Zero VulkanInstanceCreateInfoKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

ToCStruct VulkanInstanceCreateInfoKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

FromCStruct VulkanInstanceCreateInfoKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

data VulkanDeviceCreateInfoKHR Source #

XrVulkanDeviceCreateInfoKHR - Vulkan Device Create Info

Valid Usage (Implicit)

  • type must be TYPE_VULKAN_DEVICE_CREATE_INFO_KHR
  • next must be NULL or a valid pointer to the next structure in a structure chain
  • createFlags must be 0
  • pfnGetInstanceProcAddr must be a valid PFN_vkGetInstanceProcAddr value
  • vulkanPhysicalDevice must be a valid VkPhysicalDevice value
  • vulkanCreateInfo must be a pointer to a valid VkDeviceCreateInfo value
  • vulkanAllocator must be a pointer to a valid VkAllocationCallbacks value

See Also

StructureType, https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrSystemId, VulkanDeviceCreateFlagsKHR, createVulkanDeviceKHR

Constructors

VulkanDeviceCreateInfoKHR 

Fields

Instances

Instances details
Eq VulkanDeviceCreateInfoKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

Show VulkanDeviceCreateInfoKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

Storable VulkanDeviceCreateInfoKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

Zero VulkanDeviceCreateInfoKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

ToCStruct VulkanDeviceCreateInfoKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

FromCStruct VulkanDeviceCreateInfoKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

data VulkanGraphicsDeviceGetInfoKHR Source #

XrVulkanGraphicsDeviceGetInfoKHR - Vulkan Graphics Device Get Info

Valid Usage (Implicit)

See Also

StructureType, https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrSystemId, getVulkanGraphicsDevice2KHR

Constructors

VulkanGraphicsDeviceGetInfoKHR 

Fields

Instances

Instances details
Eq VulkanGraphicsDeviceGetInfoKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

Show VulkanGraphicsDeviceGetInfoKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

Storable VulkanGraphicsDeviceGetInfoKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

Zero VulkanGraphicsDeviceGetInfoKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

ToCStruct VulkanGraphicsDeviceGetInfoKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

FromCStruct VulkanGraphicsDeviceGetInfoKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

newtype VulkanInstanceCreateFlagsKHR Source #

XrVulkanInstanceCreateFlagsKHR - Vulkan Instance Create Info Flags

See Also

VulkanInstanceCreateInfoKHR

Instances

Instances details
Eq VulkanInstanceCreateFlagsKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

Ord VulkanInstanceCreateFlagsKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

Read VulkanInstanceCreateFlagsKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

Show VulkanInstanceCreateFlagsKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

Storable VulkanInstanceCreateFlagsKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

Bits VulkanInstanceCreateFlagsKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

Methods

(.&.) :: VulkanInstanceCreateFlagsKHR -> VulkanInstanceCreateFlagsKHR -> VulkanInstanceCreateFlagsKHR #

(.|.) :: VulkanInstanceCreateFlagsKHR -> VulkanInstanceCreateFlagsKHR -> VulkanInstanceCreateFlagsKHR #

xor :: VulkanInstanceCreateFlagsKHR -> VulkanInstanceCreateFlagsKHR -> VulkanInstanceCreateFlagsKHR #

complement :: VulkanInstanceCreateFlagsKHR -> VulkanInstanceCreateFlagsKHR #

shift :: VulkanInstanceCreateFlagsKHR -> Int -> VulkanInstanceCreateFlagsKHR #

rotate :: VulkanInstanceCreateFlagsKHR -> Int -> VulkanInstanceCreateFlagsKHR #

zeroBits :: VulkanInstanceCreateFlagsKHR #

bit :: Int -> VulkanInstanceCreateFlagsKHR #

setBit :: VulkanInstanceCreateFlagsKHR -> Int -> VulkanInstanceCreateFlagsKHR #

clearBit :: VulkanInstanceCreateFlagsKHR -> Int -> VulkanInstanceCreateFlagsKHR #

complementBit :: VulkanInstanceCreateFlagsKHR -> Int -> VulkanInstanceCreateFlagsKHR #

testBit :: VulkanInstanceCreateFlagsKHR -> Int -> Bool #

bitSizeMaybe :: VulkanInstanceCreateFlagsKHR -> Maybe Int #

bitSize :: VulkanInstanceCreateFlagsKHR -> Int #

isSigned :: VulkanInstanceCreateFlagsKHR -> Bool #

shiftL :: VulkanInstanceCreateFlagsKHR -> Int -> VulkanInstanceCreateFlagsKHR #

unsafeShiftL :: VulkanInstanceCreateFlagsKHR -> Int -> VulkanInstanceCreateFlagsKHR #

shiftR :: VulkanInstanceCreateFlagsKHR -> Int -> VulkanInstanceCreateFlagsKHR #

unsafeShiftR :: VulkanInstanceCreateFlagsKHR -> Int -> VulkanInstanceCreateFlagsKHR #

rotateL :: VulkanInstanceCreateFlagsKHR -> Int -> VulkanInstanceCreateFlagsKHR #

rotateR :: VulkanInstanceCreateFlagsKHR -> Int -> VulkanInstanceCreateFlagsKHR #

popCount :: VulkanInstanceCreateFlagsKHR -> Int #

FiniteBits VulkanInstanceCreateFlagsKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

Zero VulkanInstanceCreateFlagsKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

newtype VulkanDeviceCreateFlagsKHR Source #

XrVulkanDeviceCreateFlagsKHR - Vulkan Device Create Info Flags

See Also

VulkanDeviceCreateInfoKHR

Instances

Instances details
Eq VulkanDeviceCreateFlagsKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

Ord VulkanDeviceCreateFlagsKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

Read VulkanDeviceCreateFlagsKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

Show VulkanDeviceCreateFlagsKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

Storable VulkanDeviceCreateFlagsKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

Bits VulkanDeviceCreateFlagsKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

Methods

(.&.) :: VulkanDeviceCreateFlagsKHR -> VulkanDeviceCreateFlagsKHR -> VulkanDeviceCreateFlagsKHR #

(.|.) :: VulkanDeviceCreateFlagsKHR -> VulkanDeviceCreateFlagsKHR -> VulkanDeviceCreateFlagsKHR #

xor :: VulkanDeviceCreateFlagsKHR -> VulkanDeviceCreateFlagsKHR -> VulkanDeviceCreateFlagsKHR #

complement :: VulkanDeviceCreateFlagsKHR -> VulkanDeviceCreateFlagsKHR #

shift :: VulkanDeviceCreateFlagsKHR -> Int -> VulkanDeviceCreateFlagsKHR #

rotate :: VulkanDeviceCreateFlagsKHR -> Int -> VulkanDeviceCreateFlagsKHR #

zeroBits :: VulkanDeviceCreateFlagsKHR #

bit :: Int -> VulkanDeviceCreateFlagsKHR #

setBit :: VulkanDeviceCreateFlagsKHR -> Int -> VulkanDeviceCreateFlagsKHR #

clearBit :: VulkanDeviceCreateFlagsKHR -> Int -> VulkanDeviceCreateFlagsKHR #

complementBit :: VulkanDeviceCreateFlagsKHR -> Int -> VulkanDeviceCreateFlagsKHR #

testBit :: VulkanDeviceCreateFlagsKHR -> Int -> Bool #

bitSizeMaybe :: VulkanDeviceCreateFlagsKHR -> Maybe Int #

bitSize :: VulkanDeviceCreateFlagsKHR -> Int #

isSigned :: VulkanDeviceCreateFlagsKHR -> Bool #

shiftL :: VulkanDeviceCreateFlagsKHR -> Int -> VulkanDeviceCreateFlagsKHR #

unsafeShiftL :: VulkanDeviceCreateFlagsKHR -> Int -> VulkanDeviceCreateFlagsKHR #

shiftR :: VulkanDeviceCreateFlagsKHR -> Int -> VulkanDeviceCreateFlagsKHR #

unsafeShiftR :: VulkanDeviceCreateFlagsKHR -> Int -> VulkanDeviceCreateFlagsKHR #

rotateL :: VulkanDeviceCreateFlagsKHR -> Int -> VulkanDeviceCreateFlagsKHR #

rotateR :: VulkanDeviceCreateFlagsKHR -> Int -> VulkanDeviceCreateFlagsKHR #

popCount :: VulkanDeviceCreateFlagsKHR -> Int #

FiniteBits VulkanDeviceCreateFlagsKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

Zero VulkanDeviceCreateFlagsKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable2

type GraphicsBindingVulkan2KHR = GraphicsBindingVulkanKHR Source #

XrGraphicsBindingVulkan2KHR - The graphics binding structure to be passed at session creation to use Vulkan

Valid Usage

Valid Usage (Implicit)

See Also

createSession

type SwapchainImageVulkan2KHR = SwapchainImageVulkanKHR Source #

XrSwapchainImageVulkan2KHR - Vulkan-specific swapchain image structure

Member Descriptions

Description

If a given session was created with GraphicsBindingVulkan2KHR, the following conditions must apply.

The OpenXR runtime must interpret the top-left corner of the swapchain image as the coordinate origin unless specified otherwise by extension functionality.

The OpenXR runtime must interpret the swapchain images in a clip space of positive Y pointing down, near Z plane at 0, and far Z plane at 1.

Valid Usage (Implicit)

See Also

SwapchainImageBaseHeader

type GraphicsRequirementsVulkan2KHR = GraphicsRequirementsVulkanKHR Source #

XrGraphicsRequirementsVulkan2KHR - Vulkan API version requirements

Valid Usage (Implicit)

See Also

getVulkanGraphicsRequirements2KHR

pattern KHR_vulkan_enable2_SPEC_VERSION :: forall a. Integral a => a Source #

type KHR_VULKAN_ENABLE2_EXTENSION_NAME = "XR_KHR_vulkan_enable2" Source #

pattern KHR_VULKAN_ENABLE2_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #

data GraphicsBindingVulkanKHR Source #

XrGraphicsBindingVulkanKHR - The graphics binding structure to be passed at session creation to use Vulkan

Member Descriptions

Description

When creating a Vulkan-backed Session, the application will provide a pointer to an GraphicsBindingVulkanKHR in the next chain of the SessionCreateInfo.

Valid Usage

Valid Usage (Implicit)

See Also

StructureType, createSession

Constructors

GraphicsBindingVulkanKHR 

Fields

Instances

Instances details
Eq GraphicsBindingVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

Show GraphicsBindingVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

Storable GraphicsBindingVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

Zero GraphicsBindingVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

ToCStruct GraphicsBindingVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

FromCStruct GraphicsBindingVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

data SwapchainImageVulkanKHR Source #

XrSwapchainImageVulkanKHR - Vulkan-specific swapchain image structure

Member Descriptions

Description

If a given session was created with GraphicsBindingVulkanKHR, the following conditions must apply.

The OpenXR runtime must interpret the top-left corner of the swapchain image as the coordinate origin unless specified otherwise by extension functionality.

The OpenXR runtime must interpret the swapchain images in a clip space of positive Y pointing down, near Z plane at 0, and far Z plane at 1.

Valid Usage (Implicit)

See Also

StructureType, SwapchainImageBaseHeader

Constructors

SwapchainImageVulkanKHR 

Fields

  • image :: Image

    image is a valid Vulkan VkImage to use.

Instances

Instances details
Eq SwapchainImageVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

Show SwapchainImageVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

Storable SwapchainImageVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

Zero SwapchainImageVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

ToCStruct SwapchainImageVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

FromCStruct SwapchainImageVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

IsSwapchainImage SwapchainImageVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

data GraphicsRequirementsVulkanKHR Source #

XrGraphicsRequirementsVulkanKHR - Vulkan API version requirements

Member Descriptions

Description

GraphicsRequirementsVulkanKHR is populated by getVulkanGraphicsRequirementsKHR with the runtime’s Vulkan API version requirements.

Valid Usage (Implicit)

See Also

StructureType, https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrVersion, getVulkanGraphicsRequirements2KHR, getVulkanGraphicsRequirementsKHR

Constructors

GraphicsRequirementsVulkanKHR 

Fields

  • minApiVersionSupported :: Version

    minApiVersionSupported is the minimum Vulkan Instance API version that the runtime supports. Uses MAKE_VERSION on major and minor API version, ignoring any patch version component.

  • maxApiVersionSupported :: Version

    maxApiVersionSupported is the maximum Vulkan Instance API version that the runtime has been tested on and is known to support. Newer Vulkan Instance API versions might work if they are compatible. Uses MAKE_VERSION on major and minor API version, ignoring any patch version component.

Instances

Instances details
Eq GraphicsRequirementsVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

Show GraphicsRequirementsVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

Storable GraphicsRequirementsVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

Zero GraphicsRequirementsVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

ToCStruct GraphicsRequirementsVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

FromCStruct GraphicsRequirementsVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

getVulkanGraphicsRequirementsKHR Source #

Arguments

:: forall io. MonadIO io 
=> Instance

instance is an Instance handle previously created with createInstance.

-> SystemId

systemId is an https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrSystemId handle for the system which will be used to create a session.

-> io GraphicsRequirementsVulkanKHR 

xrGetVulkanGraphicsRequirementsKHR - Retrieve the Vulkan version requirements for an instance and system

Parameter Descriptions

Description

The getVulkanGraphicsRequirementsKHR function identifies to the application the minimum Vulkan version requirement and the highest known tested Vulkan version. The runtime must return ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING (ERROR_VALIDATION_FAILURE may be returned due to legacy behavior) on calls to createSession if getVulkanGraphicsRequirementsKHR has not been called for the same instance and systemId.

Valid Usage (Implicit)

Return Codes

Success
Failure

See Also

GraphicsRequirementsVulkanKHR, Instance, https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrSystemId