{-# language CPP #-}
{-# language NoDuplicateRecordFields #-}
-- No documentation found for Chapter "Dynamic"
module OpenXR.Dynamic  ( InstanceCmds(..)
                       , getInstanceProcAddr'
                       , initInstanceCmds
                       ) where

import OpenXR.CStruct.Utils (FixedArray)
import qualified OpenXR.VulkanTypes (Device_T)
import qualified OpenXR.VulkanTypes (Instance_T)
import qualified OpenXR.VulkanTypes (PhysicalDevice_T)
import qualified OpenXR.VulkanTypes (Result)
import Foreign.Marshal.Alloc (alloca)
import GHC.IO (throwIO)
import Foreign.Ptr (castFunPtr)
import GHC.Ptr (nullFunPtr)
import Foreign.Ptr (nullPtr)
import OpenXR.Zero (Zero(..))
import Foreign.C.Types (CChar)
import Foreign.C.Types (CFloat)
import Foreign.Storable (Storable(..))
import Data.Int (Int64)
import Foreign.Ptr (FunPtr)
import Foreign.Ptr (Ptr)
import GHC.Ptr (Ptr(Ptr))
import Data.Word (Word32)
import Data.Word (Word8)
import OpenXR.NamedType ((:::))
import {-# SOURCE #-} OpenXR.Core10.Input (ActionCreateInfo)
import {-# SOURCE #-} OpenXR.Core10.Input (ActionSetCreateInfo)
import {-# SOURCE #-} OpenXR.Core10.Handles (ActionSet_T)
import {-# SOURCE #-} OpenXR.Core10.Space (ActionSpaceCreateInfo)
import {-# SOURCE #-} OpenXR.Core10.Input (ActionStateBoolean)
import {-# SOURCE #-} OpenXR.Core10.Input (ActionStateFloat)
import {-# SOURCE #-} OpenXR.Core10.Input (ActionStateGetInfo)
import {-# SOURCE #-} OpenXR.Core10.Input (ActionStatePose)
import {-# SOURCE #-} OpenXR.Core10.Input (ActionStateVector2f)
import {-# SOURCE #-} OpenXR.Core10.Handles (Action_T)
import {-# SOURCE #-} OpenXR.Core10.Input (ActionsSyncInfo)
import {-# SOURCE #-} OpenXR.Extensions.XR_KHR_android_thread_settings (AndroidThreadTypeKHR)
import {-# SOURCE #-} OpenXR.Core10.Input (BoundSourcesForActionEnumerateInfo)
import {-# SOURCE #-} OpenXR.Extensions.XR_FB_color_space (ColorSpaceFB)
import {-# SOURCE #-} OpenXR.Extensions.XR_MSFT_controller_model (ControllerModelKeyMSFT)
import {-# SOURCE #-} OpenXR.Extensions.XR_MSFT_controller_model (ControllerModelKeyStateMSFT)
import {-# SOURCE #-} OpenXR.Extensions.XR_MSFT_controller_model (ControllerModelPropertiesMSFT)
import {-# SOURCE #-} OpenXR.Extensions.XR_MSFT_controller_model (ControllerModelStateMSFT)
import {-# SOURCE #-} OpenXR.Extensions.XR_EXT_debug_utils (DebugUtilsLabelEXT)
import {-# SOURCE #-} OpenXR.Extensions.XR_EXT_debug_utils (DebugUtilsMessageSeverityFlagsEXT)
import {-# SOURCE #-} OpenXR.Extensions.XR_EXT_debug_utils (DebugUtilsMessageTypeFlagsEXT)
import {-# SOURCE #-} OpenXR.Extensions.XR_EXT_debug_utils (DebugUtilsMessengerCallbackDataEXT)
import {-# SOURCE #-} OpenXR.Extensions.XR_EXT_debug_utils (DebugUtilsMessengerCreateInfoEXT)
import {-# SOURCE #-} OpenXR.Extensions.Handles (DebugUtilsMessengerEXT_T)
import {-# SOURCE #-} OpenXR.Extensions.XR_EXT_debug_utils (DebugUtilsObjectNameInfoEXT)
import {-# SOURCE #-} OpenXR.Core10.Enums.EnvironmentBlendMode (EnvironmentBlendMode)
import {-# SOURCE #-} OpenXR.Core10.Instance (EventDataBuffer)
import {-# SOURCE #-} OpenXR.Core10.FundamentalTypes (Extent2Df)
import {-# SOURCE #-} OpenXR.Core10.DisplayTiming (FrameBeginInfo)
import {-# SOURCE #-} OpenXR.Core10.DisplayTiming (FrameEndInfo)
import {-# SOURCE #-} OpenXR.Core10.DisplayTiming (FrameState)
import {-# SOURCE #-} OpenXR.Core10.DisplayTiming (FrameWaitInfo)
import {-# SOURCE #-} OpenXR.Extensions.XR_KHR_D3D11_enable (GraphicsRequirementsD3D11KHR)
import {-# SOURCE #-} OpenXR.Extensions.XR_KHR_D3D12_enable (GraphicsRequirementsD3D12KHR)
import {-# SOURCE #-} OpenXR.Extensions.XR_KHR_opengl_es_enable (GraphicsRequirementsOpenGLESKHR)
import {-# SOURCE #-} OpenXR.Extensions.XR_KHR_opengl_enable (GraphicsRequirementsOpenGLKHR)
import {-# SOURCE #-} OpenXR.Extensions.XR_KHR_vulkan_enable (GraphicsRequirementsVulkanKHR)
import {-# SOURCE #-} OpenXR.Extensions.XR_EXT_hand_tracking (HandJointLocationsEXT)
import {-# SOURCE #-} OpenXR.Extensions.XR_EXT_hand_tracking (HandJointsLocateInfoEXT)
import {-# SOURCE #-} OpenXR.Extensions.XR_MSFT_hand_tracking_mesh (HandMeshMSFT)
import {-# SOURCE #-} OpenXR.Extensions.XR_MSFT_hand_tracking_mesh (HandMeshSpaceCreateInfoMSFT)
import {-# SOURCE #-} OpenXR.Extensions.XR_MSFT_hand_tracking_mesh (HandMeshUpdateInfoMSFT)
import {-# SOURCE #-} OpenXR.Extensions.XR_EXT_hand_tracking (HandTrackerCreateInfoEXT)
import {-# SOURCE #-} OpenXR.Extensions.Handles (HandTrackerEXT_T)
import {-# SOURCE #-} OpenXR.Core10.Haptics (HapticActionInfo)
import {-# SOURCE #-} OpenXR.Core10.Haptics (HapticBaseHeader)
import {-# SOURCE #-} OpenXR.Extensions.XR_MSFT_perception_anchor_interop (IUnknown)
import {-# SOURCE #-} OpenXR.Core10.Input (InputSourceLocalizedNameGetInfo)
import {-# SOURCE #-} OpenXR.Core10.Instance (InstanceProperties)
import {-# SOURCE #-} OpenXR.Core10.Handles (Instance_T)
import {-# SOURCE #-} OpenXR.Core10.Input (InteractionProfileState)
import {-# SOURCE #-} OpenXR.Core10.Input (InteractionProfileSuggestedBinding)
import {-# SOURCE #-} OpenXR.Extensions.XR_KHR_android_surface_swapchain (Jobject)
import {-# SOURCE #-} OpenXR.Extensions.XR_KHR_win32_convert_performance_counter_time (LARGE_INTEGER)
import {-# SOURCE #-} OpenXR.Core10.APIConstants (MAX_RESULT_STRING_SIZE)
import {-# SOURCE #-} OpenXR.Core10.APIConstants (MAX_STRUCTURE_NAME_SIZE)
import OpenXR.Exception (OpenXrException(..))
import {-# SOURCE #-} OpenXR.Core10.FuncPointers (PFN_xrVoidFunction)
import {-# SOURCE #-} OpenXR.Core10.SemanticPaths (Path)
import {-# SOURCE #-} OpenXR.Extensions.XR_EXT_performance_settings (PerfSettingsDomainEXT)
import {-# SOURCE #-} OpenXR.Extensions.XR_EXT_performance_settings (PerfSettingsLevelEXT)
import {-# SOURCE #-} OpenXR.Extensions.XR_EXT_performance_settings (PerfSettingsNotificationLevelEXT)
import {-# SOURCE #-} OpenXR.Core10.Space (ReferenceSpaceCreateInfo)
import {-# SOURCE #-} OpenXR.Core10.Enums.ReferenceSpaceType (ReferenceSpaceType)
import {-# SOURCE #-} OpenXR.Core10.Enums.Result (Result)
import OpenXR.Core10.Enums.Result (Result(..))
import {-# SOURCE #-} OpenXR.Core10.Input (SessionActionSetsAttachInfo)
import {-# SOURCE #-} OpenXR.Core10.Session (SessionBeginInfo)
import {-# SOURCE #-} OpenXR.Core10.Device (SessionCreateInfo)
import {-# SOURCE #-} OpenXR.Core10.Handles (Session_T)
import OpenXR.CStruct.Extends (SomeChild)
import OpenXR.CStruct.Extends (SomeStruct)
import {-# SOURCE #-} OpenXR.Core10.Space (SpaceLocation)
import {-# SOURCE #-} OpenXR.Core10.Handles (Space_T)
import {-# SOURCE #-} OpenXR.Extensions.XR_MSFT_spatial_anchor (SpatialAnchorCreateInfoMSFT)
import {-# SOURCE #-} OpenXR.Extensions.Handles (SpatialAnchorMSFT_T)
import {-# SOURCE #-} OpenXR.Extensions.XR_MSFT_spatial_anchor (SpatialAnchorSpaceCreateInfoMSFT)
import {-# SOURCE #-} OpenXR.Extensions.XR_MSFT_spatial_graph_bridge (SpatialGraphNodeSpaceCreateInfoMSFT)
import {-# SOURCE #-} OpenXR.Core10.Enums.StructureType (StructureType)
import {-# SOURCE #-} OpenXR.Core10.Image (SwapchainCreateInfo)
import {-# SOURCE #-} OpenXR.Core10.Image (SwapchainImageAcquireInfo)
import {-# SOURCE #-} OpenXR.Core10.Image (SwapchainImageBaseHeader)
import {-# SOURCE #-} OpenXR.Core10.Image (SwapchainImageReleaseInfo)
import {-# SOURCE #-} OpenXR.Core10.Image (SwapchainImageWaitInfo)
import {-# SOURCE #-} OpenXR.Core10.Handles (Swapchain_T)
import {-# SOURCE #-} OpenXR.Core10.Device (SystemGetInfo)
import {-# SOURCE #-} OpenXR.Core10.Device (SystemId)
import {-# SOURCE #-} OpenXR.Core10.Device (SystemProperties)
import {-# SOURCE #-} OpenXR.Core10.FundamentalTypes (Time)
import {-# SOURCE #-} OpenXR.Extensions.XR_KHR_convert_timespec_time (Timespec)
import {-# SOURCE #-} OpenXR.Core10.DisplayTiming (View)
import {-# SOURCE #-} OpenXR.Core10.ViewConfigurations (ViewConfigurationProperties)
import {-# SOURCE #-} OpenXR.Core10.Enums.ViewConfigurationType (ViewConfigurationType)
import {-# SOURCE #-} OpenXR.Core10.ViewConfigurations (ViewConfigurationView)
import {-# SOURCE #-} OpenXR.Core10.DisplayTiming (ViewLocateInfo)
import {-# SOURCE #-} OpenXR.Core10.DisplayTiming (ViewState)
import {-# SOURCE #-} OpenXR.Extensions.XR_KHR_visibility_mask (VisibilityMaskKHR)
import {-# SOURCE #-} OpenXR.Extensions.XR_KHR_visibility_mask (VisibilityMaskTypeKHR)
import {-# SOURCE #-} OpenXR.Extensions.XR_KHR_vulkan_enable2 (VulkanDeviceCreateInfoKHR)
import {-# SOURCE #-} OpenXR.Extensions.XR_KHR_vulkan_enable2 (VulkanGraphicsDeviceGetInfoKHR)
import {-# SOURCE #-} OpenXR.Extensions.XR_KHR_vulkan_enable2 (VulkanInstanceCreateInfoKHR)
import OpenXR.Core10.Enums.Result (Result(ERROR_FUNCTION_UNSUPPORTED))
import OpenXR.Core10.Enums.Result (pattern FAILED)
import OpenXR.Core10.Enums.Result (pattern SUCCEEDED)
data InstanceCmds = InstanceCmds
  { InstanceCmds -> Ptr Instance_T
instanceCmdsHandle :: Ptr Instance_T
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> ("name" ::: Ptr CChar) -> Ptr PFN_xrVoidFunction -> IO Result)
pXrGetInstanceProcAddr :: FunPtr (Ptr Instance_T -> ("name" ::: Ptr CChar) -> Ptr PFN_xrVoidFunction -> IO Result)
  , InstanceCmds -> FunPtr (Ptr Instance_T -> IO Result)
pXrDestroyInstance :: FunPtr (Ptr Instance_T -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> Result
      -> ("buffer" ::: Ptr (FixedArray MAX_RESULT_STRING_SIZE CChar))
      -> IO Result)
pXrResultToString :: FunPtr (Ptr Instance_T -> ("value" ::: Result) -> ("buffer" ::: Ptr (FixedArray MAX_RESULT_STRING_SIZE CChar)) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> ("value" ::: StructureType)
      -> ("buffer" ::: Ptr (FixedArray MAX_RESULT_STRING_SIZE CChar))
      -> IO Result)
pXrStructureTypeToString :: FunPtr (Ptr Instance_T -> ("value" ::: StructureType) -> ("buffer" ::: Ptr (FixedArray MAX_STRUCTURE_NAME_SIZE CChar)) -> IO Result)
  , InstanceCmds
-> FunPtr (Ptr Instance_T -> Ptr InstanceProperties -> IO Result)
pXrGetInstanceProperties :: FunPtr (Ptr Instance_T -> Ptr InstanceProperties -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T -> Ptr SystemGetInfo -> Ptr SystemId -> IO Result)
pXrGetSystem :: FunPtr (Ptr Instance_T -> Ptr SystemGetInfo -> Ptr SystemId -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ("properties" ::: Ptr (SomeStruct SystemProperties))
      -> IO Result)
pXrGetSystemProperties :: FunPtr (Ptr Instance_T -> SystemId -> ("properties" ::: Ptr (SomeStruct SystemProperties)) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> ("createInfo" ::: Ptr (SomeStruct SessionCreateInfo))
      -> ("session" ::: Ptr (Ptr Session_T))
      -> IO Result)
pXrCreateSession :: FunPtr (Ptr Instance_T -> ("createInfo" ::: Ptr (SomeStruct SessionCreateInfo)) -> ("session" ::: Ptr (Ptr Session_T)) -> IO Result)
  , InstanceCmds -> FunPtr (Ptr Session_T -> IO Result)
pXrDestroySession :: FunPtr (Ptr Session_T -> IO Result)
  , InstanceCmds -> FunPtr (Ptr Space_T -> IO Result)
pXrDestroySpace :: FunPtr (Ptr Space_T -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("formats" ::: Ptr Int64)
      -> IO Result)
pXrEnumerateSwapchainFormats :: FunPtr (Ptr Session_T -> ("formatCapacityInput" ::: Word32) -> ("formatCountOutput" ::: Ptr Word32) -> ("formats" ::: Ptr Int64) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> ("createInfo" ::: Ptr (SomeStruct SwapchainCreateInfo))
      -> ("swapchain" ::: Ptr (Ptr Swapchain_T))
      -> IO Result)
pXrCreateSwapchain :: FunPtr (Ptr Session_T -> ("createInfo" ::: Ptr (SomeStruct SwapchainCreateInfo)) -> ("swapchain" ::: Ptr (Ptr Swapchain_T)) -> IO Result)
  , InstanceCmds -> FunPtr (Ptr Swapchain_T -> IO Result)
pXrDestroySwapchain :: FunPtr (Ptr Swapchain_T -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Swapchain_T
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("images" ::: Ptr (SomeChild SwapchainImageBaseHeader))
      -> IO Result)
pXrEnumerateSwapchainImages :: FunPtr (Ptr Swapchain_T -> ("imageCapacityInput" ::: Word32) -> ("imageCountOutput" ::: Ptr Word32) -> ("images" ::: Ptr (SomeChild SwapchainImageBaseHeader)) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Swapchain_T
      -> Ptr SwapchainImageAcquireInfo
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> IO Result)
pXrAcquireSwapchainImage :: FunPtr (Ptr Swapchain_T -> Ptr SwapchainImageAcquireInfo -> ("index" ::: Ptr Word32) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Swapchain_T -> Ptr SwapchainImageWaitInfo -> IO Result)
pXrWaitSwapchainImage :: FunPtr (Ptr Swapchain_T -> Ptr SwapchainImageWaitInfo -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Swapchain_T -> Ptr SwapchainImageReleaseInfo -> IO Result)
pXrReleaseSwapchainImage :: FunPtr (Ptr Swapchain_T -> Ptr SwapchainImageReleaseInfo -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> ("beginInfo" ::: Ptr (SomeStruct SessionBeginInfo))
      -> IO Result)
pXrBeginSession :: FunPtr (Ptr Session_T -> ("beginInfo" ::: Ptr (SomeStruct SessionBeginInfo)) -> IO Result)
  , InstanceCmds -> FunPtr (Ptr Session_T -> IO Result)
pXrEndSession :: FunPtr (Ptr Session_T -> IO Result)
  , InstanceCmds -> FunPtr (Ptr Session_T -> IO Result)
pXrRequestExitSession :: FunPtr (Ptr Session_T -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("spaces" ::: Ptr ReferenceSpaceType)
      -> IO Result)
pXrEnumerateReferenceSpaces :: FunPtr (Ptr Session_T -> ("spaceCapacityInput" ::: Word32) -> ("spaceCountOutput" ::: Ptr Word32) -> ("spaces" ::: Ptr ReferenceSpaceType) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> Ptr ReferenceSpaceCreateInfo
      -> ("space" ::: Ptr (Ptr Space_T))
      -> IO Result)
pXrCreateReferenceSpace :: FunPtr (Ptr Session_T -> Ptr ReferenceSpaceCreateInfo -> ("space" ::: Ptr (Ptr Space_T)) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> Ptr ActionSpaceCreateInfo
      -> ("space" ::: Ptr (Ptr Space_T))
      -> IO Result)
pXrCreateActionSpace :: FunPtr (Ptr Session_T -> Ptr ActionSpaceCreateInfo -> ("space" ::: Ptr (Ptr Space_T)) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Space_T
      -> Ptr Space_T
      -> Int64
      -> ("location" ::: Ptr (SomeStruct SpaceLocation))
      -> IO Result)
pXrLocateSpace :: FunPtr (Ptr Space_T -> ("baseSpace" ::: Ptr Space_T) -> Time -> ("location" ::: Ptr (SomeStruct SpaceLocation)) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("viewConfigurationTypes" ::: Ptr ViewConfigurationType)
      -> IO Result)
pXrEnumerateViewConfigurations :: FunPtr (Ptr Instance_T -> SystemId -> ("viewConfigurationTypeCapacityInput" ::: Word32) -> ("viewConfigurationTypeCountOutput" ::: Ptr Word32) -> ("viewConfigurationTypes" ::: Ptr ViewConfigurationType) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ViewConfigurationType
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("environmentBlendModes" ::: Ptr EnvironmentBlendMode)
      -> IO Result)
pXrEnumerateEnvironmentBlendModes :: FunPtr (Ptr Instance_T -> SystemId -> ViewConfigurationType -> ("environmentBlendModeCapacityInput" ::: Word32) -> ("environmentBlendModeCountOutput" ::: Ptr Word32) -> ("environmentBlendModes" ::: Ptr EnvironmentBlendMode) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ViewConfigurationType
      -> Ptr ViewConfigurationProperties
      -> IO Result)
pXrGetViewConfigurationProperties :: FunPtr (Ptr Instance_T -> SystemId -> ViewConfigurationType -> Ptr ViewConfigurationProperties -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ViewConfigurationType
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("views" ::: Ptr (SomeStruct ViewConfigurationView))
      -> IO Result)
pXrEnumerateViewConfigurationViews :: FunPtr (Ptr Instance_T -> SystemId -> ViewConfigurationType -> ("viewCapacityInput" ::: Word32) -> ("viewCountOutput" ::: Ptr Word32) -> ("views" ::: Ptr (SomeStruct ViewConfigurationView)) -> IO Result)
  , InstanceCmds
-> FunPtr (Ptr Session_T -> Ptr FrameBeginInfo -> IO Result)
pXrBeginFrame :: FunPtr (Ptr Session_T -> Ptr FrameBeginInfo -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> Ptr ViewLocateInfo
      -> Ptr ViewState
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("views" ::: Ptr View)
      -> IO Result)
pXrLocateViews :: FunPtr (Ptr Session_T -> Ptr ViewLocateInfo -> Ptr ViewState -> ("viewCapacityInput" ::: Word32) -> ("viewCountOutput" ::: Ptr Word32) -> ("views" ::: Ptr View) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> ("frameEndInfo" ::: Ptr (SomeStruct FrameEndInfo)) -> IO Result)
pXrEndFrame :: FunPtr (Ptr Session_T -> ("frameEndInfo" ::: Ptr (SomeStruct FrameEndInfo)) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> Ptr FrameWaitInfo
      -> ("frameState" ::: Ptr (SomeStruct FrameState))
      -> IO Result)
pXrWaitFrame :: FunPtr (Ptr Session_T -> Ptr FrameWaitInfo -> ("frameState" ::: Ptr (SomeStruct FrameState)) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> Ptr HapticActionInfo
      -> ("hapticFeedback" ::: Ptr (SomeChild HapticBaseHeader))
      -> IO Result)
pXrApplyHapticFeedback :: FunPtr (Ptr Session_T -> Ptr HapticActionInfo -> ("hapticFeedback" ::: Ptr (SomeChild HapticBaseHeader)) -> IO Result)
  , InstanceCmds
-> FunPtr (Ptr Session_T -> Ptr HapticActionInfo -> IO Result)
pXrStopHapticFeedback :: FunPtr (Ptr Session_T -> Ptr HapticActionInfo -> IO Result)
  , InstanceCmds
-> FunPtr (Ptr Instance_T -> Ptr EventDataBuffer -> IO Result)
pXrPollEvent :: FunPtr (Ptr Instance_T -> Ptr EventDataBuffer -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T -> ("name" ::: Ptr CChar) -> Ptr Path -> IO Result)
pXrStringToPath :: FunPtr (Ptr Instance_T -> ("pathString" ::: Ptr CChar) -> Ptr Path -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> Path
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("name" ::: Ptr CChar)
      -> IO Result)
pXrPathToString :: FunPtr (Ptr Instance_T -> Path -> ("bufferCapacityInput" ::: Word32) -> ("bufferCountOutput" ::: Ptr Word32) -> ("buffer" ::: Ptr CChar) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> ReferenceSpaceType -> ("bounds" ::: Ptr Extent2Df) -> IO Result)
pXrGetReferenceSpaceBoundsRect :: FunPtr (Ptr Session_T -> ReferenceSpaceType -> ("bounds" ::: Ptr Extent2Df) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> AndroidThreadTypeKHR
      -> ("formatCapacityInput" ::: Word32)
      -> IO Result)
pXrSetAndroidApplicationThreadKHR :: FunPtr (Ptr Session_T -> AndroidThreadTypeKHR -> ("threadId" ::: Word32) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> ("createInfo" ::: Ptr (SomeStruct SwapchainCreateInfo))
      -> ("swapchain" ::: Ptr (Ptr Swapchain_T))
      -> ("surface" ::: Ptr Jobject)
      -> IO Result)
pXrCreateSwapchainAndroidSurfaceKHR :: FunPtr (Ptr Session_T -> ("info" ::: Ptr (SomeStruct SwapchainCreateInfo)) -> ("swapchain" ::: Ptr (Ptr Swapchain_T)) -> ("surface" ::: Ptr Jobject) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> Ptr ActionStateGetInfo -> Ptr ActionStateBoolean -> IO Result)
pXrGetActionStateBoolean :: FunPtr (Ptr Session_T -> Ptr ActionStateGetInfo -> Ptr ActionStateBoolean -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> Ptr ActionStateGetInfo -> Ptr ActionStateFloat -> IO Result)
pXrGetActionStateFloat :: FunPtr (Ptr Session_T -> Ptr ActionStateGetInfo -> Ptr ActionStateFloat -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> Ptr ActionStateGetInfo -> Ptr ActionStateVector2f -> IO Result)
pXrGetActionStateVector2f :: FunPtr (Ptr Session_T -> Ptr ActionStateGetInfo -> Ptr ActionStateVector2f -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> Ptr ActionStateGetInfo -> Ptr ActionStatePose -> IO Result)
pXrGetActionStatePose :: FunPtr (Ptr Session_T -> Ptr ActionStateGetInfo -> Ptr ActionStatePose -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> Ptr ActionSetCreateInfo
      -> ("actionSet" ::: Ptr (Ptr ActionSet_T))
      -> IO Result)
pXrCreateActionSet :: FunPtr (Ptr Instance_T -> Ptr ActionSetCreateInfo -> ("actionSet" ::: Ptr (Ptr ActionSet_T)) -> IO Result)
  , InstanceCmds -> FunPtr (Ptr ActionSet_T -> IO Result)
pXrDestroyActionSet :: FunPtr (Ptr ActionSet_T -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr ActionSet_T
      -> Ptr ActionCreateInfo
      -> ("action" ::: Ptr (Ptr Action_T))
      -> IO Result)
pXrCreateAction :: FunPtr (Ptr ActionSet_T -> Ptr ActionCreateInfo -> ("action" ::: Ptr (Ptr Action_T)) -> IO Result)
  , InstanceCmds -> FunPtr (Ptr Action_T -> IO Result)
pXrDestroyAction :: FunPtr (Ptr Action_T -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> ("suggestedBindings"
          ::: Ptr (SomeStruct InteractionProfileSuggestedBinding))
      -> IO Result)
pXrSuggestInteractionProfileBindings :: FunPtr (Ptr Instance_T -> ("suggestedBindings" ::: Ptr (SomeStruct InteractionProfileSuggestedBinding)) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T -> Ptr SessionActionSetsAttachInfo -> IO Result)
pXrAttachSessionActionSets :: FunPtr (Ptr Session_T -> Ptr SessionActionSetsAttachInfo -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T -> Path -> Ptr InteractionProfileState -> IO Result)
pXrGetCurrentInteractionProfile :: FunPtr (Ptr Session_T -> ("topLevelUserPath" ::: Path) -> Ptr InteractionProfileState -> IO Result)
  , InstanceCmds
-> FunPtr (Ptr Session_T -> Ptr ActionsSyncInfo -> IO Result)
pXrSyncActions :: FunPtr (Ptr Session_T -> Ptr ActionsSyncInfo -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> Ptr BoundSourcesForActionEnumerateInfo
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> Ptr Path
      -> IO Result)
pXrEnumerateBoundSourcesForAction :: FunPtr (Ptr Session_T -> Ptr BoundSourcesForActionEnumerateInfo -> ("sourceCapacityInput" ::: Word32) -> ("sourceCountOutput" ::: Ptr Word32) -> ("sources" ::: Ptr Path) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> Ptr InputSourceLocalizedNameGetInfo
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("name" ::: Ptr CChar)
      -> IO Result)
pXrGetInputSourceLocalizedName :: FunPtr (Ptr Session_T -> Ptr InputSourceLocalizedNameGetInfo -> ("bufferCapacityInput" ::: Word32) -> ("bufferCountOutput" ::: Ptr Word32) -> ("buffer" ::: Ptr CChar) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("name" ::: Ptr CChar)
      -> IO Result)
pXrGetVulkanInstanceExtensionsKHR :: FunPtr (Ptr Instance_T -> SystemId -> ("bufferCapacityInput" ::: Word32) -> ("bufferCountOutput" ::: Ptr Word32) -> ("buffer" ::: Ptr CChar) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("name" ::: Ptr CChar)
      -> IO Result)
pXrGetVulkanDeviceExtensionsKHR :: FunPtr (Ptr Instance_T -> SystemId -> ("bufferCapacityInput" ::: Word32) -> ("bufferCountOutput" ::: Ptr Word32) -> ("buffer" ::: Ptr CChar) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ("vkInstance" ::: Ptr Instance_T)
      -> ("vkPhysicalDevice" ::: Ptr (Ptr PhysicalDevice_T))
      -> IO Result)
pXrGetVulkanGraphicsDeviceKHR :: FunPtr (Ptr Instance_T -> SystemId -> ("vkInstance" ::: Ptr OpenXR.VulkanTypes.Instance_T) -> ("vkPhysicalDevice" ::: Ptr (Ptr OpenXR.VulkanTypes.PhysicalDevice_T)) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> SystemId -> Ptr GraphicsRequirementsOpenGLKHR -> IO Result)
pXrGetOpenGLGraphicsRequirementsKHR :: FunPtr (Ptr Instance_T -> SystemId -> Ptr GraphicsRequirementsOpenGLKHR -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> SystemId -> Ptr GraphicsRequirementsOpenGLESKHR -> IO Result)
pXrGetOpenGLESGraphicsRequirementsKHR :: FunPtr (Ptr Instance_T -> SystemId -> Ptr GraphicsRequirementsOpenGLESKHR -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> SystemId -> Ptr GraphicsRequirementsVulkanKHR -> IO Result)
pXrGetVulkanGraphicsRequirementsKHR :: FunPtr (Ptr Instance_T -> SystemId -> Ptr GraphicsRequirementsVulkanKHR -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> SystemId -> Ptr GraphicsRequirementsD3D11KHR -> IO Result)
pXrGetD3D11GraphicsRequirementsKHR :: FunPtr (Ptr Instance_T -> SystemId -> Ptr GraphicsRequirementsD3D11KHR -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> SystemId -> Ptr GraphicsRequirementsD3D12KHR -> IO Result)
pXrGetD3D12GraphicsRequirementsKHR :: FunPtr (Ptr Instance_T -> SystemId -> Ptr GraphicsRequirementsD3D12KHR -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> PerfSettingsDomainEXT -> PerfSettingsLevelEXT -> IO Result)
pXrPerfSettingsSetPerformanceLevelEXT :: FunPtr (Ptr Session_T -> PerfSettingsDomainEXT -> PerfSettingsLevelEXT -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> PerfSettingsDomainEXT
      -> Ptr PerfSettingsNotificationLevelEXT
      -> ("tempHeadroom" ::: Ptr CFloat)
      -> ("tempHeadroom" ::: Ptr CFloat)
      -> IO Result)
pXrThermalGetTemperatureTrendEXT :: FunPtr (Ptr Session_T -> PerfSettingsDomainEXT -> Ptr PerfSettingsNotificationLevelEXT -> ("tempHeadroom" ::: Ptr CFloat) -> ("tempSlope" ::: Ptr CFloat) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T -> Ptr DebugUtilsObjectNameInfoEXT -> IO Result)
pXrSetDebugUtilsObjectNameEXT :: FunPtr (Ptr Instance_T -> Ptr DebugUtilsObjectNameInfoEXT -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> Ptr DebugUtilsMessengerCreateInfoEXT
      -> ("messenger" ::: Ptr (Ptr DebugUtilsMessengerEXT_T))
      -> IO Result)
pXrCreateDebugUtilsMessengerEXT :: FunPtr (Ptr Instance_T -> Ptr DebugUtilsMessengerCreateInfoEXT -> ("messenger" ::: Ptr (Ptr DebugUtilsMessengerEXT_T)) -> IO Result)
  , InstanceCmds -> FunPtr (Ptr DebugUtilsMessengerEXT_T -> IO Result)
pXrDestroyDebugUtilsMessengerEXT :: FunPtr (Ptr DebugUtilsMessengerEXT_T -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> DebugUtilsMessageSeverityFlagsEXT
      -> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
      -> Ptr DebugUtilsMessengerCallbackDataEXT
      -> IO Result)
pXrSubmitDebugUtilsMessageEXT :: FunPtr (Ptr Instance_T -> DebugUtilsMessageSeverityFlagsEXT -> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Ptr DebugUtilsMessengerCallbackDataEXT -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> ("labelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO Result)
pXrSessionBeginDebugUtilsLabelRegionEXT :: FunPtr (Ptr Session_T -> ("labelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO Result)
  , InstanceCmds -> FunPtr (Ptr Session_T -> IO Result)
pXrSessionEndDebugUtilsLabelRegionEXT :: FunPtr (Ptr Session_T -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> ("labelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO Result)
pXrSessionInsertDebugUtilsLabelEXT :: FunPtr (Ptr Session_T -> ("labelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> Int64
      -> ("performanceCounter" ::: Ptr LARGE_INTEGER)
      -> IO Result)
pXrConvertTimeToWin32PerformanceCounterKHR :: FunPtr (Ptr Instance_T -> Time -> ("performanceCounter" ::: Ptr LARGE_INTEGER) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> ("performanceCounter" ::: Ptr LARGE_INTEGER)
      -> ("formats" ::: Ptr Int64)
      -> IO Result)
pXrConvertWin32PerformanceCounterToTimeKHR :: FunPtr (Ptr Instance_T -> ("performanceCounter" ::: Ptr LARGE_INTEGER) -> Ptr Time -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> Ptr VulkanInstanceCreateInfoKHR
      -> ("vulkanInstance" ::: Ptr ("vkInstance" ::: Ptr Instance_T))
      -> ("vulkanResult" ::: Ptr Result)
      -> IO Result)
pXrCreateVulkanInstanceKHR :: FunPtr (Ptr Instance_T -> Ptr VulkanInstanceCreateInfoKHR -> ("vulkanInstance" ::: Ptr (Ptr OpenXR.VulkanTypes.Instance_T)) -> ("vulkanResult" ::: Ptr OpenXR.VulkanTypes.Result) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> Ptr VulkanDeviceCreateInfoKHR
      -> ("vulkanDevice" ::: Ptr (Ptr Device_T))
      -> ("vulkanResult" ::: Ptr Result)
      -> IO Result)
pXrCreateVulkanDeviceKHR :: FunPtr (Ptr Instance_T -> Ptr VulkanDeviceCreateInfoKHR -> ("vulkanDevice" ::: Ptr (Ptr OpenXR.VulkanTypes.Device_T)) -> ("vulkanResult" ::: Ptr OpenXR.VulkanTypes.Result) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> Ptr VulkanGraphicsDeviceGetInfoKHR
      -> ("vkPhysicalDevice" ::: Ptr (Ptr PhysicalDevice_T))
      -> IO Result)
pXrGetVulkanGraphicsDevice2KHR :: FunPtr (Ptr Instance_T -> Ptr VulkanGraphicsDeviceGetInfoKHR -> ("vulkanPhysicalDevice" ::: Ptr (Ptr OpenXR.VulkanTypes.PhysicalDevice_T)) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> Int64 -> ("timespecTime" ::: Ptr Timespec) -> IO Result)
pXrConvertTimeToTimespecTimeKHR :: FunPtr (Ptr Instance_T -> Time -> ("timespecTime" ::: Ptr Timespec) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Instance_T
      -> ("timespecTime" ::: Ptr Timespec)
      -> ("formats" ::: Ptr Int64)
      -> IO Result)
pXrConvertTimespecTimeToTimeKHR :: FunPtr (Ptr Instance_T -> ("timespecTime" ::: Ptr Timespec) -> Ptr Time -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> ViewConfigurationType
      -> ("formatCapacityInput" ::: Word32)
      -> VisibilityMaskTypeKHR
      -> Ptr VisibilityMaskKHR
      -> IO Result)
pXrGetVisibilityMaskKHR :: FunPtr (Ptr Session_T -> ViewConfigurationType -> ("viewIndex" ::: Word32) -> VisibilityMaskTypeKHR -> Ptr VisibilityMaskKHR -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> Ptr SpatialAnchorCreateInfoMSFT
      -> ("anchor" ::: Ptr (Ptr SpatialAnchorMSFT_T))
      -> IO Result)
pXrCreateSpatialAnchorMSFT :: FunPtr (Ptr Session_T -> Ptr SpatialAnchorCreateInfoMSFT -> ("anchor" ::: Ptr (Ptr SpatialAnchorMSFT_T)) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> Ptr SpatialAnchorSpaceCreateInfoMSFT
      -> ("space" ::: Ptr (Ptr Space_T))
      -> IO Result)
pXrCreateSpatialAnchorSpaceMSFT :: FunPtr (Ptr Session_T -> Ptr SpatialAnchorSpaceCreateInfoMSFT -> ("space" ::: Ptr (Ptr Space_T)) -> IO Result)
  , InstanceCmds -> FunPtr (Ptr SpatialAnchorMSFT_T -> IO Result)
pXrDestroySpatialAnchorMSFT :: FunPtr (Ptr SpatialAnchorMSFT_T -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> Ptr SpatialGraphNodeSpaceCreateInfoMSFT
      -> ("space" ::: Ptr (Ptr Space_T))
      -> IO Result)
pXrCreateSpatialGraphNodeSpaceMSFT :: FunPtr (Ptr Session_T -> Ptr SpatialGraphNodeSpaceCreateInfoMSFT -> ("space" ::: Ptr (Ptr Space_T)) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> ("createInfo" ::: Ptr (SomeStruct HandTrackerCreateInfoEXT))
      -> ("handTracker" ::: Ptr (Ptr HandTrackerEXT_T))
      -> IO Result)
pXrCreateHandTrackerEXT :: FunPtr (Ptr Session_T -> ("createInfo" ::: Ptr (SomeStruct HandTrackerCreateInfoEXT)) -> ("handTracker" ::: Ptr (Ptr HandTrackerEXT_T)) -> IO Result)
  , InstanceCmds -> FunPtr (Ptr HandTrackerEXT_T -> IO Result)
pXrDestroyHandTrackerEXT :: FunPtr (Ptr HandTrackerEXT_T -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr HandTrackerEXT_T
      -> Ptr HandJointsLocateInfoEXT
      -> ("locations" ::: Ptr (SomeStruct HandJointLocationsEXT))
      -> IO Result)
pXrLocateHandJointsEXT :: FunPtr (Ptr HandTrackerEXT_T -> Ptr HandJointsLocateInfoEXT -> ("locations" ::: Ptr (SomeStruct HandJointLocationsEXT)) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr HandTrackerEXT_T
      -> Ptr HandMeshSpaceCreateInfoMSFT
      -> ("space" ::: Ptr (Ptr Space_T))
      -> IO Result)
pXrCreateHandMeshSpaceMSFT :: FunPtr (Ptr HandTrackerEXT_T -> Ptr HandMeshSpaceCreateInfoMSFT -> ("space" ::: Ptr (Ptr Space_T)) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr HandTrackerEXT_T
      -> Ptr HandMeshUpdateInfoMSFT -> Ptr HandMeshMSFT -> IO Result)
pXrUpdateHandMeshMSFT :: FunPtr (Ptr HandTrackerEXT_T -> Ptr HandMeshUpdateInfoMSFT -> Ptr HandMeshMSFT -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> Path -> Ptr ControllerModelKeyStateMSFT -> IO Result)
pXrGetControllerModelKeyMSFT :: FunPtr (Ptr Session_T -> ("topLevelUserPath" ::: Path) -> Ptr ControllerModelKeyStateMSFT -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> ControllerModelKeyMSFT
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("buffer" ::: Ptr Word8)
      -> IO Result)
pXrLoadControllerModelMSFT :: FunPtr (Ptr Session_T -> ControllerModelKeyMSFT -> ("bufferCapacityInput" ::: Word32) -> ("bufferCountOutput" ::: Ptr Word32) -> ("buffer" ::: Ptr Word8) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> ControllerModelKeyMSFT
      -> Ptr ControllerModelPropertiesMSFT
      -> IO Result)
pXrGetControllerModelPropertiesMSFT :: FunPtr (Ptr Session_T -> ControllerModelKeyMSFT -> Ptr ControllerModelPropertiesMSFT -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> ControllerModelKeyMSFT
      -> Ptr ControllerModelStateMSFT
      -> IO Result)
pXrGetControllerModelStateMSFT :: FunPtr (Ptr Session_T -> ControllerModelKeyMSFT -> Ptr ControllerModelStateMSFT -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("tempHeadroom" ::: Ptr CFloat)
      -> IO Result)
pXrEnumerateDisplayRefreshRatesFB :: FunPtr (Ptr Session_T -> ("displayRefreshRateCapacityInput" ::: Word32) -> ("displayRefreshRateCountOutput" ::: Ptr Word32) -> ("displayRefreshRates" ::: Ptr CFloat) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T -> ("tempHeadroom" ::: Ptr CFloat) -> IO Result)
pXrGetDisplayRefreshRateFB :: FunPtr (Ptr Session_T -> ("displayRefreshRate" ::: Ptr CFloat) -> IO Result)
  , InstanceCmds -> FunPtr (Ptr Session_T -> CFloat -> IO Result)
pXrRequestDisplayRefreshRateFB :: FunPtr (Ptr Session_T -> ("displayRefreshRate" ::: CFloat) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> ("perceptionAnchor" ::: Ptr IUnknown)
      -> ("anchor" ::: Ptr (Ptr SpatialAnchorMSFT_T))
      -> IO Result)
pXrCreateSpatialAnchorFromPerceptionAnchorMSFT :: FunPtr (Ptr Session_T -> ("perceptionAnchor" ::: Ptr IUnknown) -> ("anchor" ::: Ptr (Ptr SpatialAnchorMSFT_T)) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> Ptr SpatialAnchorMSFT_T
      -> ("perceptionAnchor"
          ::: Ptr ("perceptionAnchor" ::: Ptr IUnknown))
      -> IO Result)
pXrTryGetPerceptionAnchorFromSpatialAnchorMSFT :: FunPtr (Ptr Session_T -> Ptr SpatialAnchorMSFT_T -> ("perceptionAnchor" ::: Ptr (Ptr IUnknown)) -> IO Result)
  , InstanceCmds
-> FunPtr
     (Ptr Session_T
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("colorSpaces" ::: Ptr ColorSpaceFB)
      -> IO Result)
pXrEnumerateColorSpacesFB :: FunPtr (Ptr Session_T -> ("colorSpaceCapacityInput" ::: Word32) -> ("colorSpaceCountOutput" ::: Ptr Word32) -> ("colorSpaces" ::: Ptr ColorSpaceFB) -> IO Result)
  , InstanceCmds -> FunPtr (Ptr Session_T -> ColorSpaceFB -> IO Result)
pXrSetColorSpaceFB :: FunPtr (Ptr Session_T -> ColorSpaceFB -> IO Result)
  }

deriving instance Eq InstanceCmds
deriving instance Show InstanceCmds
instance Zero InstanceCmds where
  zero :: InstanceCmds
zero = Ptr Instance_T
-> FunPtr
     (Ptr Instance_T
      -> ("name" ::: Ptr CChar) -> Ptr PFN_xrVoidFunction -> IO Result)
-> FunPtr (Ptr Instance_T -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> Result
      -> ("buffer" ::: Ptr (FixedArray MAX_RESULT_STRING_SIZE CChar))
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("value" ::: StructureType)
      -> ("buffer" ::: Ptr (FixedArray MAX_RESULT_STRING_SIZE CChar))
      -> IO Result)
-> FunPtr (Ptr Instance_T -> Ptr InstanceProperties -> IO Result)
-> FunPtr
     (Ptr Instance_T -> Ptr SystemGetInfo -> Ptr SystemId -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ("properties" ::: Ptr (SomeStruct SystemProperties))
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("createInfo" ::: Ptr (SomeStruct SessionCreateInfo))
      -> ("session" ::: Ptr (Ptr Session_T))
      -> IO Result)
-> FunPtr (Ptr Session_T -> IO Result)
-> FunPtr (Ptr Space_T -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("formats" ::: Ptr Int64)
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ("createInfo" ::: Ptr (SomeStruct SwapchainCreateInfo))
      -> ("swapchain" ::: Ptr (Ptr Swapchain_T))
      -> IO Result)
-> FunPtr (Ptr Swapchain_T -> IO Result)
-> FunPtr
     (Ptr Swapchain_T
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("images" ::: Ptr (SomeChild SwapchainImageBaseHeader))
      -> IO Result)
-> FunPtr
     (Ptr Swapchain_T
      -> Ptr SwapchainImageAcquireInfo
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> IO Result)
-> FunPtr
     (Ptr Swapchain_T -> Ptr SwapchainImageWaitInfo -> IO Result)
-> FunPtr
     (Ptr Swapchain_T -> Ptr SwapchainImageReleaseInfo -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ("beginInfo" ::: Ptr (SomeStruct SessionBeginInfo))
      -> IO Result)
-> FunPtr (Ptr Session_T -> IO Result)
-> FunPtr (Ptr Session_T -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("spaces" ::: Ptr ReferenceSpaceType)
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr ReferenceSpaceCreateInfo
      -> ("space" ::: Ptr (Ptr Space_T))
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr ActionSpaceCreateInfo
      -> ("space" ::: Ptr (Ptr Space_T))
      -> IO Result)
-> FunPtr
     (Ptr Space_T
      -> Ptr Space_T
      -> Int64
      -> ("location" ::: Ptr (SomeStruct SpaceLocation))
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("viewConfigurationTypes" ::: Ptr ViewConfigurationType)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ViewConfigurationType
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("environmentBlendModes" ::: Ptr EnvironmentBlendMode)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ViewConfigurationType
      -> Ptr ViewConfigurationProperties
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ViewConfigurationType
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("views" ::: Ptr (SomeStruct ViewConfigurationView))
      -> IO Result)
-> FunPtr (Ptr Session_T -> Ptr FrameBeginInfo -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr ViewLocateInfo
      -> Ptr ViewState
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("views" ::: Ptr View)
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ("frameEndInfo" ::: Ptr (SomeStruct FrameEndInfo)) -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr FrameWaitInfo
      -> ("frameState" ::: Ptr (SomeStruct FrameState))
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr HapticActionInfo
      -> ("hapticFeedback" ::: Ptr (SomeChild HapticBaseHeader))
      -> IO Result)
-> FunPtr (Ptr Session_T -> Ptr HapticActionInfo -> IO Result)
-> FunPtr (Ptr Instance_T -> Ptr EventDataBuffer -> IO Result)
-> FunPtr
     (Ptr Instance_T -> ("name" ::: Ptr CChar) -> Ptr Path -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> Path
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("name" ::: Ptr CChar)
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ReferenceSpaceType -> ("bounds" ::: Ptr Extent2Df) -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> AndroidThreadTypeKHR
      -> ("formatCapacityInput" ::: Word32)
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ("createInfo" ::: Ptr (SomeStruct SwapchainCreateInfo))
      -> ("swapchain" ::: Ptr (Ptr Swapchain_T))
      -> ("surface" ::: Ptr Jobject)
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr ActionStateGetInfo -> Ptr ActionStateBoolean -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr ActionStateGetInfo -> Ptr ActionStateFloat -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr ActionStateGetInfo -> Ptr ActionStateVector2f -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr ActionStateGetInfo -> Ptr ActionStatePose -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> Ptr ActionSetCreateInfo
      -> ("actionSet" ::: Ptr (Ptr ActionSet_T))
      -> IO Result)
-> FunPtr (Ptr ActionSet_T -> IO Result)
-> FunPtr
     (Ptr ActionSet_T
      -> Ptr ActionCreateInfo
      -> ("action" ::: Ptr (Ptr Action_T))
      -> IO Result)
-> FunPtr (Ptr Action_T -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("suggestedBindings"
          ::: Ptr (SomeStruct InteractionProfileSuggestedBinding))
      -> IO Result)
-> FunPtr
     (Ptr Session_T -> Ptr SessionActionSetsAttachInfo -> IO Result)
-> FunPtr
     (Ptr Session_T -> Path -> Ptr InteractionProfileState -> IO Result)
-> FunPtr (Ptr Session_T -> Ptr ActionsSyncInfo -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr BoundSourcesForActionEnumerateInfo
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> Ptr Path
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr InputSourceLocalizedNameGetInfo
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("name" ::: Ptr CChar)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("name" ::: Ptr CChar)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("name" ::: Ptr CChar)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ("vkInstance" ::: Ptr Instance_T)
      -> ("vkPhysicalDevice" ::: Ptr (Ptr PhysicalDevice_T))
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> SystemId -> Ptr GraphicsRequirementsOpenGLKHR -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> SystemId -> Ptr GraphicsRequirementsOpenGLESKHR -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> SystemId -> Ptr GraphicsRequirementsVulkanKHR -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> SystemId -> Ptr GraphicsRequirementsD3D11KHR -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> SystemId -> Ptr GraphicsRequirementsD3D12KHR -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> PerfSettingsDomainEXT -> PerfSettingsLevelEXT -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> PerfSettingsDomainEXT
      -> Ptr PerfSettingsNotificationLevelEXT
      -> ("tempHeadroom" ::: Ptr CFloat)
      -> ("tempHeadroom" ::: Ptr CFloat)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T -> Ptr DebugUtilsObjectNameInfoEXT -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> Ptr DebugUtilsMessengerCreateInfoEXT
      -> ("messenger" ::: Ptr (Ptr DebugUtilsMessengerEXT_T))
      -> IO Result)
-> FunPtr (Ptr DebugUtilsMessengerEXT_T -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> DebugUtilsMessageSeverityFlagsEXT
      -> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
      -> Ptr DebugUtilsMessengerCallbackDataEXT
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ("labelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO Result)
-> FunPtr (Ptr Session_T -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ("labelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> Int64
      -> ("performanceCounter" ::: Ptr LARGE_INTEGER)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("performanceCounter" ::: Ptr LARGE_INTEGER)
      -> ("formats" ::: Ptr Int64)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> Ptr VulkanInstanceCreateInfoKHR
      -> ("vulkanInstance" ::: Ptr ("vkInstance" ::: Ptr Instance_T))
      -> ("vulkanResult" ::: Ptr Result)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> Ptr VulkanDeviceCreateInfoKHR
      -> ("vulkanDevice" ::: Ptr (Ptr Device_T))
      -> ("vulkanResult" ::: Ptr Result)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> Ptr VulkanGraphicsDeviceGetInfoKHR
      -> ("vkPhysicalDevice" ::: Ptr (Ptr PhysicalDevice_T))
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> Int64 -> ("timespecTime" ::: Ptr Timespec) -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("timespecTime" ::: Ptr Timespec)
      -> ("formats" ::: Ptr Int64)
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ViewConfigurationType
      -> ("formatCapacityInput" ::: Word32)
      -> VisibilityMaskTypeKHR
      -> Ptr VisibilityMaskKHR
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr SpatialAnchorCreateInfoMSFT
      -> ("anchor" ::: Ptr (Ptr SpatialAnchorMSFT_T))
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr SpatialAnchorSpaceCreateInfoMSFT
      -> ("space" ::: Ptr (Ptr Space_T))
      -> IO Result)
-> FunPtr (Ptr SpatialAnchorMSFT_T -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr SpatialGraphNodeSpaceCreateInfoMSFT
      -> ("space" ::: Ptr (Ptr Space_T))
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ("createInfo" ::: Ptr (SomeStruct HandTrackerCreateInfoEXT))
      -> ("handTracker" ::: Ptr (Ptr HandTrackerEXT_T))
      -> IO Result)
-> FunPtr (Ptr HandTrackerEXT_T -> IO Result)
-> FunPtr
     (Ptr HandTrackerEXT_T
      -> Ptr HandJointsLocateInfoEXT
      -> ("locations" ::: Ptr (SomeStruct HandJointLocationsEXT))
      -> IO Result)
-> FunPtr
     (Ptr HandTrackerEXT_T
      -> Ptr HandMeshSpaceCreateInfoMSFT
      -> ("space" ::: Ptr (Ptr Space_T))
      -> IO Result)
-> FunPtr
     (Ptr HandTrackerEXT_T
      -> Ptr HandMeshUpdateInfoMSFT -> Ptr HandMeshMSFT -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Path -> Ptr ControllerModelKeyStateMSFT -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ControllerModelKeyMSFT
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("buffer" ::: Ptr Word8)
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ControllerModelKeyMSFT
      -> Ptr ControllerModelPropertiesMSFT
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ControllerModelKeyMSFT
      -> Ptr ControllerModelStateMSFT
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("tempHeadroom" ::: Ptr CFloat)
      -> IO Result)
-> FunPtr
     (Ptr Session_T -> ("tempHeadroom" ::: Ptr CFloat) -> IO Result)
-> FunPtr (Ptr Session_T -> CFloat -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ("perceptionAnchor" ::: Ptr IUnknown)
      -> ("anchor" ::: Ptr (Ptr SpatialAnchorMSFT_T))
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr SpatialAnchorMSFT_T
      -> ("perceptionAnchor"
          ::: Ptr ("perceptionAnchor" ::: Ptr IUnknown))
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("colorSpaces" ::: Ptr ColorSpaceFB)
      -> IO Result)
-> FunPtr (Ptr Session_T -> ColorSpaceFB -> IO Result)
-> InstanceCmds
InstanceCmds
    Ptr Instance_T
forall a. Ptr a
nullPtr FunPtr
  (Ptr Instance_T
   -> ("name" ::: Ptr CChar) -> Ptr PFN_xrVoidFunction -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr (Ptr Instance_T -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> Result
   -> ("buffer" ::: Ptr (FixedArray MAX_RESULT_STRING_SIZE CChar))
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> ("value" ::: StructureType)
   -> ("buffer" ::: Ptr (FixedArray MAX_RESULT_STRING_SIZE CChar))
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr (Ptr Instance_T -> Ptr InstanceProperties -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T -> Ptr SystemGetInfo -> Ptr SystemId -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> SystemId
   -> ("properties" ::: Ptr (SomeStruct SystemProperties))
   -> IO Result)
forall a. FunPtr a
nullFunPtr
    FunPtr
  (Ptr Instance_T
   -> ("createInfo" ::: Ptr (SomeStruct SessionCreateInfo))
   -> ("session" ::: Ptr (Ptr Session_T))
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr (Ptr Session_T -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr (Ptr Space_T -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> ("formatCapacityInput" ::: Word32)
   -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
   -> ("formats" ::: Ptr Int64)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> ("createInfo" ::: Ptr (SomeStruct SwapchainCreateInfo))
   -> ("swapchain" ::: Ptr (Ptr Swapchain_T))
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr (Ptr Swapchain_T -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Swapchain_T
   -> ("formatCapacityInput" ::: Word32)
   -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
   -> ("images" ::: Ptr (SomeChild SwapchainImageBaseHeader))
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Swapchain_T
   -> Ptr SwapchainImageAcquireInfo
   -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
   -> IO Result)
forall a. FunPtr a
nullFunPtr
    FunPtr (Ptr Swapchain_T -> Ptr SwapchainImageWaitInfo -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Swapchain_T -> Ptr SwapchainImageReleaseInfo -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> ("beginInfo" ::: Ptr (SomeStruct SessionBeginInfo))
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr (Ptr Session_T -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr (Ptr Session_T -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> ("formatCapacityInput" ::: Word32)
   -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
   -> ("spaces" ::: Ptr ReferenceSpaceType)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> Ptr ReferenceSpaceCreateInfo
   -> ("space" ::: Ptr (Ptr Space_T))
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> Ptr ActionSpaceCreateInfo
   -> ("space" ::: Ptr (Ptr Space_T))
   -> IO Result)
forall a. FunPtr a
nullFunPtr
    FunPtr
  (Ptr Space_T
   -> Ptr Space_T
   -> Int64
   -> ("location" ::: Ptr (SomeStruct SpaceLocation))
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> SystemId
   -> ("formatCapacityInput" ::: Word32)
   -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
   -> ("viewConfigurationTypes" ::: Ptr ViewConfigurationType)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> SystemId
   -> ViewConfigurationType
   -> ("formatCapacityInput" ::: Word32)
   -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
   -> ("environmentBlendModes" ::: Ptr EnvironmentBlendMode)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> SystemId
   -> ViewConfigurationType
   -> Ptr ViewConfigurationProperties
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> SystemId
   -> ViewConfigurationType
   -> ("formatCapacityInput" ::: Word32)
   -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
   -> ("views" ::: Ptr (SomeStruct ViewConfigurationView))
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr (Ptr Session_T -> Ptr FrameBeginInfo -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> Ptr ViewLocateInfo
   -> Ptr ViewState
   -> ("formatCapacityInput" ::: Word32)
   -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
   -> ("views" ::: Ptr View)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> ("frameEndInfo" ::: Ptr (SomeStruct FrameEndInfo)) -> IO Result)
forall a. FunPtr a
nullFunPtr
    FunPtr
  (Ptr Session_T
   -> Ptr FrameWaitInfo
   -> ("frameState" ::: Ptr (SomeStruct FrameState))
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> Ptr HapticActionInfo
   -> ("hapticFeedback" ::: Ptr (SomeChild HapticBaseHeader))
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr (Ptr Session_T -> Ptr HapticActionInfo -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr (Ptr Instance_T -> Ptr EventDataBuffer -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T -> ("name" ::: Ptr CChar) -> Ptr Path -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> Path
   -> ("formatCapacityInput" ::: Word32)
   -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
   -> ("name" ::: Ptr CChar)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> ReferenceSpaceType -> ("bounds" ::: Ptr Extent2Df) -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> AndroidThreadTypeKHR
   -> ("formatCapacityInput" ::: Word32)
   -> IO Result)
forall a. FunPtr a
nullFunPtr
    FunPtr
  (Ptr Session_T
   -> ("createInfo" ::: Ptr (SomeStruct SwapchainCreateInfo))
   -> ("swapchain" ::: Ptr (Ptr Swapchain_T))
   -> ("surface" ::: Ptr Jobject)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> Ptr ActionStateGetInfo -> Ptr ActionStateBoolean -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> Ptr ActionStateGetInfo -> Ptr ActionStateFloat -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> Ptr ActionStateGetInfo -> Ptr ActionStateVector2f -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> Ptr ActionStateGetInfo -> Ptr ActionStatePose -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> Ptr ActionSetCreateInfo
   -> ("actionSet" ::: Ptr (Ptr ActionSet_T))
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr (Ptr ActionSet_T -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr ActionSet_T
   -> Ptr ActionCreateInfo
   -> ("action" ::: Ptr (Ptr Action_T))
   -> IO Result)
forall a. FunPtr a
nullFunPtr
    FunPtr (Ptr Action_T -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> ("suggestedBindings"
       ::: Ptr (SomeStruct InteractionProfileSuggestedBinding))
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T -> Ptr SessionActionSetsAttachInfo -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T -> Path -> Ptr InteractionProfileState -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr (Ptr Session_T -> Ptr ActionsSyncInfo -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> Ptr BoundSourcesForActionEnumerateInfo
   -> ("formatCapacityInput" ::: Word32)
   -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
   -> Ptr Path
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> Ptr InputSourceLocalizedNameGetInfo
   -> ("formatCapacityInput" ::: Word32)
   -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
   -> ("name" ::: Ptr CChar)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> SystemId
   -> ("formatCapacityInput" ::: Word32)
   -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
   -> ("name" ::: Ptr CChar)
   -> IO Result)
forall a. FunPtr a
nullFunPtr
    FunPtr
  (Ptr Instance_T
   -> SystemId
   -> ("formatCapacityInput" ::: Word32)
   -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
   -> ("name" ::: Ptr CChar)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> SystemId
   -> ("vkInstance" ::: Ptr Instance_T)
   -> ("vkPhysicalDevice" ::: Ptr (Ptr PhysicalDevice_T))
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> SystemId -> Ptr GraphicsRequirementsOpenGLKHR -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> SystemId -> Ptr GraphicsRequirementsOpenGLESKHR -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> SystemId -> Ptr GraphicsRequirementsVulkanKHR -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> SystemId -> Ptr GraphicsRequirementsD3D11KHR -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> SystemId -> Ptr GraphicsRequirementsD3D12KHR -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> PerfSettingsDomainEXT -> PerfSettingsLevelEXT -> IO Result)
forall a. FunPtr a
nullFunPtr
    FunPtr
  (Ptr Session_T
   -> PerfSettingsDomainEXT
   -> Ptr PerfSettingsNotificationLevelEXT
   -> ("tempHeadroom" ::: Ptr CFloat)
   -> ("tempHeadroom" ::: Ptr CFloat)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T -> Ptr DebugUtilsObjectNameInfoEXT -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> Ptr DebugUtilsMessengerCreateInfoEXT
   -> ("messenger" ::: Ptr (Ptr DebugUtilsMessengerEXT_T))
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr (Ptr DebugUtilsMessengerEXT_T -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> DebugUtilsMessageSeverityFlagsEXT
   -> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
   -> Ptr DebugUtilsMessengerCallbackDataEXT
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> ("labelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr (Ptr Session_T -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> ("labelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO Result)
forall a. FunPtr a
nullFunPtr
    FunPtr
  (Ptr Instance_T
   -> Int64
   -> ("performanceCounter" ::: Ptr LARGE_INTEGER)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> ("performanceCounter" ::: Ptr LARGE_INTEGER)
   -> ("formats" ::: Ptr Int64)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> Ptr VulkanInstanceCreateInfoKHR
   -> ("vulkanInstance" ::: Ptr ("vkInstance" ::: Ptr Instance_T))
   -> ("vulkanResult" ::: Ptr Result)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> Ptr VulkanDeviceCreateInfoKHR
   -> ("vulkanDevice" ::: Ptr (Ptr Device_T))
   -> ("vulkanResult" ::: Ptr Result)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> Ptr VulkanGraphicsDeviceGetInfoKHR
   -> ("vkPhysicalDevice" ::: Ptr (Ptr PhysicalDevice_T))
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> Int64 -> ("timespecTime" ::: Ptr Timespec) -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Instance_T
   -> ("timespecTime" ::: Ptr Timespec)
   -> ("formats" ::: Ptr Int64)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> ViewConfigurationType
   -> ("formatCapacityInput" ::: Word32)
   -> VisibilityMaskTypeKHR
   -> Ptr VisibilityMaskKHR
   -> IO Result)
forall a. FunPtr a
nullFunPtr
    FunPtr
  (Ptr Session_T
   -> Ptr SpatialAnchorCreateInfoMSFT
   -> ("anchor" ::: Ptr (Ptr SpatialAnchorMSFT_T))
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> Ptr SpatialAnchorSpaceCreateInfoMSFT
   -> ("space" ::: Ptr (Ptr Space_T))
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr (Ptr SpatialAnchorMSFT_T -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> Ptr SpatialGraphNodeSpaceCreateInfoMSFT
   -> ("space" ::: Ptr (Ptr Space_T))
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> ("createInfo" ::: Ptr (SomeStruct HandTrackerCreateInfoEXT))
   -> ("handTracker" ::: Ptr (Ptr HandTrackerEXT_T))
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr (Ptr HandTrackerEXT_T -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr HandTrackerEXT_T
   -> Ptr HandJointsLocateInfoEXT
   -> ("locations" ::: Ptr (SomeStruct HandJointLocationsEXT))
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr HandTrackerEXT_T
   -> Ptr HandMeshSpaceCreateInfoMSFT
   -> ("space" ::: Ptr (Ptr Space_T))
   -> IO Result)
forall a. FunPtr a
nullFunPtr
    FunPtr
  (Ptr HandTrackerEXT_T
   -> Ptr HandMeshUpdateInfoMSFT -> Ptr HandMeshMSFT -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> Path -> Ptr ControllerModelKeyStateMSFT -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> ControllerModelKeyMSFT
   -> ("formatCapacityInput" ::: Word32)
   -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
   -> ("buffer" ::: Ptr Word8)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> ControllerModelKeyMSFT
   -> Ptr ControllerModelPropertiesMSFT
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> ControllerModelKeyMSFT
   -> Ptr ControllerModelStateMSFT
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> ("formatCapacityInput" ::: Word32)
   -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
   -> ("tempHeadroom" ::: Ptr CFloat)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T -> ("tempHeadroom" ::: Ptr CFloat) -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr (Ptr Session_T -> CFloat -> IO Result)
forall a. FunPtr a
nullFunPtr
    FunPtr
  (Ptr Session_T
   -> ("perceptionAnchor" ::: Ptr IUnknown)
   -> ("anchor" ::: Ptr (Ptr SpatialAnchorMSFT_T))
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> Ptr SpatialAnchorMSFT_T
   -> ("perceptionAnchor"
       ::: Ptr ("perceptionAnchor" ::: Ptr IUnknown))
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr
  (Ptr Session_T
   -> ("formatCapacityInput" ::: Word32)
   -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
   -> ("colorSpaces" ::: Ptr ColorSpaceFB)
   -> IO Result)
forall a. FunPtr a
nullFunPtr FunPtr (Ptr Session_T -> ColorSpaceFB -> IO Result)
forall a. FunPtr a
nullFunPtr

foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
  unsafe
#endif
  "xrGetInstanceProcAddr" getInstanceProcAddr'' :: Ptr Instance_T -> ("name" ::: Ptr CChar) -> Ptr PFN_xrVoidFunction -> IO Result

-- | A version of 'getInstanceProcAddr' which can be called
-- with a null pointer for the instance.
getInstanceProcAddr'
  :: Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' :: Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' inst :: Ptr Instance_T
inst name :: "name" ::: Ptr CChar
name = do
  (Ptr PFN_xrVoidFunction -> IO PFN_xrVoidFunction)
-> IO PFN_xrVoidFunction
forall a b. Storable a => (Ptr a -> IO b) -> IO b
alloca ((Ptr PFN_xrVoidFunction -> IO PFN_xrVoidFunction)
 -> IO PFN_xrVoidFunction)
-> (Ptr PFN_xrVoidFunction -> IO PFN_xrVoidFunction)
-> IO PFN_xrVoidFunction
forall a b. (a -> b) -> a -> b
$ \r :: Ptr PFN_xrVoidFunction
r -> Ptr Instance_T
-> ("name" ::: Ptr CChar) -> Ptr PFN_xrVoidFunction -> IO Result
getInstanceProcAddr'' Ptr Instance_T
inst "name" ::: Ptr CChar
name Ptr PFN_xrVoidFunction
r IO Result
-> (Result -> IO PFN_xrVoidFunction) -> IO PFN_xrVoidFunction
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \case
    SUCCEEDED                  -> Ptr PFN_xrVoidFunction -> IO PFN_xrVoidFunction
forall a. Storable a => Ptr a -> IO a
peek Ptr PFN_xrVoidFunction
r
    ERROR_FUNCTION_UNSUPPORTED                -> PFN_xrVoidFunction -> IO PFN_xrVoidFunction
forall (f :: * -> *) a. Applicative f => a -> f a
pure PFN_xrVoidFunction
forall a. FunPtr a
nullFunPtr
    e :: Result
e@Result
FAILED                   -> OpenXrException -> IO PFN_xrVoidFunction
forall e a. Exception e => e -> IO a
throwIO (Result -> OpenXrException
OpenXrException Result
e)


initInstanceCmds :: Ptr Instance_T -> IO InstanceCmds
initInstanceCmds :: Ptr Instance_T -> IO InstanceCmds
initInstanceCmds handle :: Ptr Instance_T
handle = do
  let getFirstInstanceProcAddr :: ["name" ::: Ptr CChar] -> IO PFN_xrVoidFunction
getFirstInstanceProcAddr = \case
        []   -> PFN_xrVoidFunction -> IO PFN_xrVoidFunction
forall (f :: * -> *) a. Applicative f => a -> f a
pure PFN_xrVoidFunction
forall a. FunPtr a
nullFunPtr
        x :: "name" ::: Ptr CChar
x:xs :: ["name" ::: Ptr CChar]
xs -> do
          PFN_xrVoidFunction
p <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle "name" ::: Ptr CChar
x
          if PFN_xrVoidFunction
p PFN_xrVoidFunction -> PFN_xrVoidFunction -> Bool
forall a. Eq a => a -> a -> Bool
/= PFN_xrVoidFunction
forall a. FunPtr a
nullFunPtr
            then PFN_xrVoidFunction -> IO PFN_xrVoidFunction
forall (f :: * -> *) a. Applicative f => a -> f a
pure PFN_xrVoidFunction
p
            else ["name" ::: Ptr CChar] -> IO PFN_xrVoidFunction
getFirstInstanceProcAddr ["name" ::: Ptr CChar]
xs
  PFN_xrVoidFunction
xrGetInstanceProcAddr <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrGetInstanceProcAddr"#)
  PFN_xrVoidFunction
xrDestroyInstance <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrDestroyInstance"#)
  PFN_xrVoidFunction
xrResultToString <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrResultToString"#)
  PFN_xrVoidFunction
xrStructureTypeToString <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrStructureTypeToString"#)
  PFN_xrVoidFunction
xrGetInstanceProperties <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrGetInstanceProperties"#)
  PFN_xrVoidFunction
xrGetSystem <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrGetSystem"#)
  PFN_xrVoidFunction
xrGetSystemProperties <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrGetSystemProperties"#)
  PFN_xrVoidFunction
xrCreateSession <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrCreateSession"#)
  PFN_xrVoidFunction
xrDestroySession <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrDestroySession"#)
  PFN_xrVoidFunction
xrDestroySpace <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrDestroySpace"#)
  PFN_xrVoidFunction
xrEnumerateSwapchainFormats <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrEnumerateSwapchainFormats"#)
  PFN_xrVoidFunction
xrCreateSwapchain <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrCreateSwapchain"#)
  PFN_xrVoidFunction
xrDestroySwapchain <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrDestroySwapchain"#)
  PFN_xrVoidFunction
xrEnumerateSwapchainImages <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrEnumerateSwapchainImages"#)
  PFN_xrVoidFunction
xrAcquireSwapchainImage <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrAcquireSwapchainImage"#)
  PFN_xrVoidFunction
xrWaitSwapchainImage <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrWaitSwapchainImage"#)
  PFN_xrVoidFunction
xrReleaseSwapchainImage <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrReleaseSwapchainImage"#)
  PFN_xrVoidFunction
xrBeginSession <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrBeginSession"#)
  PFN_xrVoidFunction
xrEndSession <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrEndSession"#)
  PFN_xrVoidFunction
xrRequestExitSession <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrRequestExitSession"#)
  PFN_xrVoidFunction
xrEnumerateReferenceSpaces <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrEnumerateReferenceSpaces"#)
  PFN_xrVoidFunction
xrCreateReferenceSpace <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrCreateReferenceSpace"#)
  PFN_xrVoidFunction
xrCreateActionSpace <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrCreateActionSpace"#)
  PFN_xrVoidFunction
xrLocateSpace <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrLocateSpace"#)
  PFN_xrVoidFunction
xrEnumerateViewConfigurations <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrEnumerateViewConfigurations"#)
  PFN_xrVoidFunction
xrEnumerateEnvironmentBlendModes <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrEnumerateEnvironmentBlendModes"#)
  PFN_xrVoidFunction
xrGetViewConfigurationProperties <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrGetViewConfigurationProperties"#)
  PFN_xrVoidFunction
xrEnumerateViewConfigurationViews <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrEnumerateViewConfigurationViews"#)
  PFN_xrVoidFunction
xrBeginFrame <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrBeginFrame"#)
  PFN_xrVoidFunction
xrLocateViews <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrLocateViews"#)
  PFN_xrVoidFunction
xrEndFrame <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrEndFrame"#)
  PFN_xrVoidFunction
xrWaitFrame <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrWaitFrame"#)
  PFN_xrVoidFunction
xrApplyHapticFeedback <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrApplyHapticFeedback"#)
  PFN_xrVoidFunction
xrStopHapticFeedback <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrStopHapticFeedback"#)
  PFN_xrVoidFunction
xrPollEvent <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrPollEvent"#)
  PFN_xrVoidFunction
xrStringToPath <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrStringToPath"#)
  PFN_xrVoidFunction
xrPathToString <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrPathToString"#)
  PFN_xrVoidFunction
xrGetReferenceSpaceBoundsRect <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrGetReferenceSpaceBoundsRect"#)
  PFN_xrVoidFunction
xrSetAndroidApplicationThreadKHR <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrSetAndroidApplicationThreadKHR"#)
  PFN_xrVoidFunction
xrCreateSwapchainAndroidSurfaceKHR <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrCreateSwapchainAndroidSurfaceKHR"#)
  PFN_xrVoidFunction
xrGetActionStateBoolean <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrGetActionStateBoolean"#)
  PFN_xrVoidFunction
xrGetActionStateFloat <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrGetActionStateFloat"#)
  PFN_xrVoidFunction
xrGetActionStateVector2f <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrGetActionStateVector2f"#)
  PFN_xrVoidFunction
xrGetActionStatePose <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrGetActionStatePose"#)
  PFN_xrVoidFunction
xrCreateActionSet <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrCreateActionSet"#)
  PFN_xrVoidFunction
xrDestroyActionSet <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrDestroyActionSet"#)
  PFN_xrVoidFunction
xrCreateAction <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrCreateAction"#)
  PFN_xrVoidFunction
xrDestroyAction <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrDestroyAction"#)
  PFN_xrVoidFunction
xrSuggestInteractionProfileBindings <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrSuggestInteractionProfileBindings"#)
  PFN_xrVoidFunction
xrAttachSessionActionSets <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrAttachSessionActionSets"#)
  PFN_xrVoidFunction
xrGetCurrentInteractionProfile <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrGetCurrentInteractionProfile"#)
  PFN_xrVoidFunction
xrSyncActions <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrSyncActions"#)
  PFN_xrVoidFunction
xrEnumerateBoundSourcesForAction <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrEnumerateBoundSourcesForAction"#)
  PFN_xrVoidFunction
xrGetInputSourceLocalizedName <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrGetInputSourceLocalizedName"#)
  PFN_xrVoidFunction
xrGetVulkanInstanceExtensionsKHR <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrGetVulkanInstanceExtensionsKHR"#)
  PFN_xrVoidFunction
xrGetVulkanDeviceExtensionsKHR <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrGetVulkanDeviceExtensionsKHR"#)
  PFN_xrVoidFunction
xrGetVulkanGraphicsDeviceKHR <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrGetVulkanGraphicsDeviceKHR"#)
  PFN_xrVoidFunction
xrGetOpenGLGraphicsRequirementsKHR <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrGetOpenGLGraphicsRequirementsKHR"#)
  PFN_xrVoidFunction
xrGetOpenGLESGraphicsRequirementsKHR <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrGetOpenGLESGraphicsRequirementsKHR"#)
  PFN_xrVoidFunction
xrGetVulkanGraphicsRequirementsKHR <- ["name" ::: Ptr CChar] -> IO PFN_xrVoidFunction
getFirstInstanceProcAddr [(Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrGetVulkanGraphicsRequirements2KHR"#), (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrGetVulkanGraphicsRequirementsKHR"#)]
  PFN_xrVoidFunction
xrGetD3D11GraphicsRequirementsKHR <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrGetD3D11GraphicsRequirementsKHR"#)
  PFN_xrVoidFunction
xrGetD3D12GraphicsRequirementsKHR <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrGetD3D12GraphicsRequirementsKHR"#)
  PFN_xrVoidFunction
xrPerfSettingsSetPerformanceLevelEXT <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrPerfSettingsSetPerformanceLevelEXT"#)
  PFN_xrVoidFunction
xrThermalGetTemperatureTrendEXT <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrThermalGetTemperatureTrendEXT"#)
  PFN_xrVoidFunction
xrSetDebugUtilsObjectNameEXT <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrSetDebugUtilsObjectNameEXT"#)
  PFN_xrVoidFunction
xrCreateDebugUtilsMessengerEXT <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrCreateDebugUtilsMessengerEXT"#)
  PFN_xrVoidFunction
xrDestroyDebugUtilsMessengerEXT <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrDestroyDebugUtilsMessengerEXT"#)
  PFN_xrVoidFunction
xrSubmitDebugUtilsMessageEXT <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrSubmitDebugUtilsMessageEXT"#)
  PFN_xrVoidFunction
xrSessionBeginDebugUtilsLabelRegionEXT <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrSessionBeginDebugUtilsLabelRegionEXT"#)
  PFN_xrVoidFunction
xrSessionEndDebugUtilsLabelRegionEXT <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrSessionEndDebugUtilsLabelRegionEXT"#)
  PFN_xrVoidFunction
xrSessionInsertDebugUtilsLabelEXT <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrSessionInsertDebugUtilsLabelEXT"#)
  PFN_xrVoidFunction
xrConvertTimeToWin32PerformanceCounterKHR <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrConvertTimeToWin32PerformanceCounterKHR"#)
  PFN_xrVoidFunction
xrConvertWin32PerformanceCounterToTimeKHR <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrConvertWin32PerformanceCounterToTimeKHR"#)
  PFN_xrVoidFunction
xrCreateVulkanInstanceKHR <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrCreateVulkanInstanceKHR"#)
  PFN_xrVoidFunction
xrCreateVulkanDeviceKHR <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrCreateVulkanDeviceKHR"#)
  PFN_xrVoidFunction
xrGetVulkanGraphicsDevice2KHR <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrGetVulkanGraphicsDevice2KHR"#)
  PFN_xrVoidFunction
xrConvertTimeToTimespecTimeKHR <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrConvertTimeToTimespecTimeKHR"#)
  PFN_xrVoidFunction
xrConvertTimespecTimeToTimeKHR <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrConvertTimespecTimeToTimeKHR"#)
  PFN_xrVoidFunction
xrGetVisibilityMaskKHR <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrGetVisibilityMaskKHR"#)
  PFN_xrVoidFunction
xrCreateSpatialAnchorMSFT <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrCreateSpatialAnchorMSFT"#)
  PFN_xrVoidFunction
xrCreateSpatialAnchorSpaceMSFT <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrCreateSpatialAnchorSpaceMSFT"#)
  PFN_xrVoidFunction
xrDestroySpatialAnchorMSFT <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrDestroySpatialAnchorMSFT"#)
  PFN_xrVoidFunction
xrCreateSpatialGraphNodeSpaceMSFT <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrCreateSpatialGraphNodeSpaceMSFT"#)
  PFN_xrVoidFunction
xrCreateHandTrackerEXT <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrCreateHandTrackerEXT"#)
  PFN_xrVoidFunction
xrDestroyHandTrackerEXT <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrDestroyHandTrackerEXT"#)
  PFN_xrVoidFunction
xrLocateHandJointsEXT <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrLocateHandJointsEXT"#)
  PFN_xrVoidFunction
xrCreateHandMeshSpaceMSFT <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrCreateHandMeshSpaceMSFT"#)
  PFN_xrVoidFunction
xrUpdateHandMeshMSFT <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrUpdateHandMeshMSFT"#)
  PFN_xrVoidFunction
xrGetControllerModelKeyMSFT <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrGetControllerModelKeyMSFT"#)
  PFN_xrVoidFunction
xrLoadControllerModelMSFT <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrLoadControllerModelMSFT"#)
  PFN_xrVoidFunction
xrGetControllerModelPropertiesMSFT <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrGetControllerModelPropertiesMSFT"#)
  PFN_xrVoidFunction
xrGetControllerModelStateMSFT <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrGetControllerModelStateMSFT"#)
  PFN_xrVoidFunction
xrEnumerateDisplayRefreshRatesFB <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrEnumerateDisplayRefreshRatesFB"#)
  PFN_xrVoidFunction
xrGetDisplayRefreshRateFB <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrGetDisplayRefreshRateFB"#)
  PFN_xrVoidFunction
xrRequestDisplayRefreshRateFB <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrRequestDisplayRefreshRateFB"#)
  PFN_xrVoidFunction
xrCreateSpatialAnchorFromPerceptionAnchorMSFT <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrCreateSpatialAnchorFromPerceptionAnchorMSFT"#)
  PFN_xrVoidFunction
xrTryGetPerceptionAnchorFromSpatialAnchorMSFT <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrTryGetPerceptionAnchorFromSpatialAnchorMSFT"#)
  PFN_xrVoidFunction
xrEnumerateColorSpacesFB <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrEnumerateColorSpacesFB"#)
  PFN_xrVoidFunction
xrSetColorSpaceFB <- Ptr Instance_T -> ("name" ::: Ptr CChar) -> IO PFN_xrVoidFunction
getInstanceProcAddr' Ptr Instance_T
handle (Addr# -> "name" ::: Ptr CChar
forall a. Addr# -> Ptr a
Ptr "xrSetColorSpaceFB"#)
  InstanceCmds -> IO InstanceCmds
forall (f :: * -> *) a. Applicative f => a -> f a
pure (InstanceCmds -> IO InstanceCmds)
-> InstanceCmds -> IO InstanceCmds
forall a b. (a -> b) -> a -> b
$ Ptr Instance_T
-> FunPtr
     (Ptr Instance_T
      -> ("name" ::: Ptr CChar) -> Ptr PFN_xrVoidFunction -> IO Result)
-> FunPtr (Ptr Instance_T -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> Result
      -> ("buffer" ::: Ptr (FixedArray MAX_RESULT_STRING_SIZE CChar))
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("value" ::: StructureType)
      -> ("buffer" ::: Ptr (FixedArray MAX_RESULT_STRING_SIZE CChar))
      -> IO Result)
-> FunPtr (Ptr Instance_T -> Ptr InstanceProperties -> IO Result)
-> FunPtr
     (Ptr Instance_T -> Ptr SystemGetInfo -> Ptr SystemId -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ("properties" ::: Ptr (SomeStruct SystemProperties))
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("createInfo" ::: Ptr (SomeStruct SessionCreateInfo))
      -> ("session" ::: Ptr (Ptr Session_T))
      -> IO Result)
-> FunPtr (Ptr Session_T -> IO Result)
-> FunPtr (Ptr Space_T -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("formats" ::: Ptr Int64)
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ("createInfo" ::: Ptr (SomeStruct SwapchainCreateInfo))
      -> ("swapchain" ::: Ptr (Ptr Swapchain_T))
      -> IO Result)
-> FunPtr (Ptr Swapchain_T -> IO Result)
-> FunPtr
     (Ptr Swapchain_T
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("images" ::: Ptr (SomeChild SwapchainImageBaseHeader))
      -> IO Result)
-> FunPtr
     (Ptr Swapchain_T
      -> Ptr SwapchainImageAcquireInfo
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> IO Result)
-> FunPtr
     (Ptr Swapchain_T -> Ptr SwapchainImageWaitInfo -> IO Result)
-> FunPtr
     (Ptr Swapchain_T -> Ptr SwapchainImageReleaseInfo -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ("beginInfo" ::: Ptr (SomeStruct SessionBeginInfo))
      -> IO Result)
-> FunPtr (Ptr Session_T -> IO Result)
-> FunPtr (Ptr Session_T -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("spaces" ::: Ptr ReferenceSpaceType)
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr ReferenceSpaceCreateInfo
      -> ("space" ::: Ptr (Ptr Space_T))
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr ActionSpaceCreateInfo
      -> ("space" ::: Ptr (Ptr Space_T))
      -> IO Result)
-> FunPtr
     (Ptr Space_T
      -> Ptr Space_T
      -> Int64
      -> ("location" ::: Ptr (SomeStruct SpaceLocation))
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("viewConfigurationTypes" ::: Ptr ViewConfigurationType)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ViewConfigurationType
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("environmentBlendModes" ::: Ptr EnvironmentBlendMode)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ViewConfigurationType
      -> Ptr ViewConfigurationProperties
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ViewConfigurationType
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("views" ::: Ptr (SomeStruct ViewConfigurationView))
      -> IO Result)
-> FunPtr (Ptr Session_T -> Ptr FrameBeginInfo -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr ViewLocateInfo
      -> Ptr ViewState
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("views" ::: Ptr View)
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ("frameEndInfo" ::: Ptr (SomeStruct FrameEndInfo)) -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr FrameWaitInfo
      -> ("frameState" ::: Ptr (SomeStruct FrameState))
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr HapticActionInfo
      -> ("hapticFeedback" ::: Ptr (SomeChild HapticBaseHeader))
      -> IO Result)
-> FunPtr (Ptr Session_T -> Ptr HapticActionInfo -> IO Result)
-> FunPtr (Ptr Instance_T -> Ptr EventDataBuffer -> IO Result)
-> FunPtr
     (Ptr Instance_T -> ("name" ::: Ptr CChar) -> Ptr Path -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> Path
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("name" ::: Ptr CChar)
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ReferenceSpaceType -> ("bounds" ::: Ptr Extent2Df) -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> AndroidThreadTypeKHR
      -> ("formatCapacityInput" ::: Word32)
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ("createInfo" ::: Ptr (SomeStruct SwapchainCreateInfo))
      -> ("swapchain" ::: Ptr (Ptr Swapchain_T))
      -> ("surface" ::: Ptr Jobject)
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr ActionStateGetInfo -> Ptr ActionStateBoolean -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr ActionStateGetInfo -> Ptr ActionStateFloat -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr ActionStateGetInfo -> Ptr ActionStateVector2f -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr ActionStateGetInfo -> Ptr ActionStatePose -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> Ptr ActionSetCreateInfo
      -> ("actionSet" ::: Ptr (Ptr ActionSet_T))
      -> IO Result)
-> FunPtr (Ptr ActionSet_T -> IO Result)
-> FunPtr
     (Ptr ActionSet_T
      -> Ptr ActionCreateInfo
      -> ("action" ::: Ptr (Ptr Action_T))
      -> IO Result)
-> FunPtr (Ptr Action_T -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("suggestedBindings"
          ::: Ptr (SomeStruct InteractionProfileSuggestedBinding))
      -> IO Result)
-> FunPtr
     (Ptr Session_T -> Ptr SessionActionSetsAttachInfo -> IO Result)
-> FunPtr
     (Ptr Session_T -> Path -> Ptr InteractionProfileState -> IO Result)
-> FunPtr (Ptr Session_T -> Ptr ActionsSyncInfo -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr BoundSourcesForActionEnumerateInfo
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> Ptr Path
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr InputSourceLocalizedNameGetInfo
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("name" ::: Ptr CChar)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("name" ::: Ptr CChar)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("name" ::: Ptr CChar)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ("vkInstance" ::: Ptr Instance_T)
      -> ("vkPhysicalDevice" ::: Ptr (Ptr PhysicalDevice_T))
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> SystemId -> Ptr GraphicsRequirementsOpenGLKHR -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> SystemId -> Ptr GraphicsRequirementsOpenGLESKHR -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> SystemId -> Ptr GraphicsRequirementsVulkanKHR -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> SystemId -> Ptr GraphicsRequirementsD3D11KHR -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> SystemId -> Ptr GraphicsRequirementsD3D12KHR -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> PerfSettingsDomainEXT -> PerfSettingsLevelEXT -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> PerfSettingsDomainEXT
      -> Ptr PerfSettingsNotificationLevelEXT
      -> ("tempHeadroom" ::: Ptr CFloat)
      -> ("tempHeadroom" ::: Ptr CFloat)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T -> Ptr DebugUtilsObjectNameInfoEXT -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> Ptr DebugUtilsMessengerCreateInfoEXT
      -> ("messenger" ::: Ptr (Ptr DebugUtilsMessengerEXT_T))
      -> IO Result)
-> FunPtr (Ptr DebugUtilsMessengerEXT_T -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> DebugUtilsMessageSeverityFlagsEXT
      -> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
      -> Ptr DebugUtilsMessengerCallbackDataEXT
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ("labelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO Result)
-> FunPtr (Ptr Session_T -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ("labelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> Int64
      -> ("performanceCounter" ::: Ptr LARGE_INTEGER)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("performanceCounter" ::: Ptr LARGE_INTEGER)
      -> ("formats" ::: Ptr Int64)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> Ptr VulkanInstanceCreateInfoKHR
      -> ("vulkanInstance" ::: Ptr ("vkInstance" ::: Ptr Instance_T))
      -> ("vulkanResult" ::: Ptr Result)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> Ptr VulkanDeviceCreateInfoKHR
      -> ("vulkanDevice" ::: Ptr (Ptr Device_T))
      -> ("vulkanResult" ::: Ptr Result)
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> Ptr VulkanGraphicsDeviceGetInfoKHR
      -> ("vkPhysicalDevice" ::: Ptr (Ptr PhysicalDevice_T))
      -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> Int64 -> ("timespecTime" ::: Ptr Timespec) -> IO Result)
-> FunPtr
     (Ptr Instance_T
      -> ("timespecTime" ::: Ptr Timespec)
      -> ("formats" ::: Ptr Int64)
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ViewConfigurationType
      -> ("formatCapacityInput" ::: Word32)
      -> VisibilityMaskTypeKHR
      -> Ptr VisibilityMaskKHR
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr SpatialAnchorCreateInfoMSFT
      -> ("anchor" ::: Ptr (Ptr SpatialAnchorMSFT_T))
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr SpatialAnchorSpaceCreateInfoMSFT
      -> ("space" ::: Ptr (Ptr Space_T))
      -> IO Result)
-> FunPtr (Ptr SpatialAnchorMSFT_T -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr SpatialGraphNodeSpaceCreateInfoMSFT
      -> ("space" ::: Ptr (Ptr Space_T))
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ("createInfo" ::: Ptr (SomeStruct HandTrackerCreateInfoEXT))
      -> ("handTracker" ::: Ptr (Ptr HandTrackerEXT_T))
      -> IO Result)
-> FunPtr (Ptr HandTrackerEXT_T -> IO Result)
-> FunPtr
     (Ptr HandTrackerEXT_T
      -> Ptr HandJointsLocateInfoEXT
      -> ("locations" ::: Ptr (SomeStruct HandJointLocationsEXT))
      -> IO Result)
-> FunPtr
     (Ptr HandTrackerEXT_T
      -> Ptr HandMeshSpaceCreateInfoMSFT
      -> ("space" ::: Ptr (Ptr Space_T))
      -> IO Result)
-> FunPtr
     (Ptr HandTrackerEXT_T
      -> Ptr HandMeshUpdateInfoMSFT -> Ptr HandMeshMSFT -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Path -> Ptr ControllerModelKeyStateMSFT -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ControllerModelKeyMSFT
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("buffer" ::: Ptr Word8)
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ControllerModelKeyMSFT
      -> Ptr ControllerModelPropertiesMSFT
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ControllerModelKeyMSFT
      -> Ptr ControllerModelStateMSFT
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("tempHeadroom" ::: Ptr CFloat)
      -> IO Result)
-> FunPtr
     (Ptr Session_T -> ("tempHeadroom" ::: Ptr CFloat) -> IO Result)
-> FunPtr (Ptr Session_T -> CFloat -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ("perceptionAnchor" ::: Ptr IUnknown)
      -> ("anchor" ::: Ptr (Ptr SpatialAnchorMSFT_T))
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> Ptr SpatialAnchorMSFT_T
      -> ("perceptionAnchor"
          ::: Ptr ("perceptionAnchor" ::: Ptr IUnknown))
      -> IO Result)
-> FunPtr
     (Ptr Session_T
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("colorSpaces" ::: Ptr ColorSpaceFB)
      -> IO Result)
-> FunPtr (Ptr Session_T -> ColorSpaceFB -> IO Result)
-> InstanceCmds
InstanceCmds Ptr Instance_T
handle
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> ("name" ::: Ptr CChar) -> Ptr PFN_xrVoidFunction -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> ("name" ::: Ptr CChar) -> Ptr PFN_xrVoidFunction -> IO Result) PFN_xrVoidFunction
xrGetInstanceProcAddr)
    (PFN_xrVoidFunction -> FunPtr (Ptr Instance_T -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> IO Result) PFN_xrVoidFunction
xrDestroyInstance)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> Result
      -> ("buffer" ::: Ptr (FixedArray MAX_RESULT_STRING_SIZE CChar))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> ("value" ::: Result) -> ("buffer" ::: Ptr (FixedArray MAX_RESULT_STRING_SIZE CChar)) -> IO Result) PFN_xrVoidFunction
xrResultToString)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> ("value" ::: StructureType)
      -> ("buffer" ::: Ptr (FixedArray MAX_RESULT_STRING_SIZE CChar))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> ("value" ::: StructureType) -> ("buffer" ::: Ptr (FixedArray MAX_STRUCTURE_NAME_SIZE CChar)) -> IO Result) PFN_xrVoidFunction
xrStructureTypeToString)
    (PFN_xrVoidFunction
-> FunPtr (Ptr Instance_T -> Ptr InstanceProperties -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> Ptr InstanceProperties -> IO Result) PFN_xrVoidFunction
xrGetInstanceProperties)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T -> Ptr SystemGetInfo -> Ptr SystemId -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> Ptr SystemGetInfo -> Ptr SystemId -> IO Result) PFN_xrVoidFunction
xrGetSystem)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ("properties" ::: Ptr (SomeStruct SystemProperties))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> SystemId -> ("properties" ::: Ptr (SomeStruct SystemProperties)) -> IO Result) PFN_xrVoidFunction
xrGetSystemProperties)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> ("createInfo" ::: Ptr (SomeStruct SessionCreateInfo))
      -> ("session" ::: Ptr (Ptr Session_T))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> ("createInfo" ::: Ptr (SomeStruct SessionCreateInfo)) -> ("session" ::: Ptr (Ptr Session_T)) -> IO Result) PFN_xrVoidFunction
xrCreateSession)
    (PFN_xrVoidFunction -> FunPtr (Ptr Session_T -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> IO Result) PFN_xrVoidFunction
xrDestroySession)
    (PFN_xrVoidFunction -> FunPtr (Ptr Space_T -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Space_T -> IO Result) PFN_xrVoidFunction
xrDestroySpace)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("formats" ::: Ptr Int64)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> ("formatCapacityInput" ::: Word32) -> ("formatCountOutput" ::: Ptr Word32) -> ("formats" ::: Ptr Int64) -> IO Result) PFN_xrVoidFunction
xrEnumerateSwapchainFormats)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> ("createInfo" ::: Ptr (SomeStruct SwapchainCreateInfo))
      -> ("swapchain" ::: Ptr (Ptr Swapchain_T))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> ("createInfo" ::: Ptr (SomeStruct SwapchainCreateInfo)) -> ("swapchain" ::: Ptr (Ptr Swapchain_T)) -> IO Result) PFN_xrVoidFunction
xrCreateSwapchain)
    (PFN_xrVoidFunction -> FunPtr (Ptr Swapchain_T -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Swapchain_T -> IO Result) PFN_xrVoidFunction
xrDestroySwapchain)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Swapchain_T
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("images" ::: Ptr (SomeChild SwapchainImageBaseHeader))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Swapchain_T -> ("imageCapacityInput" ::: Word32) -> ("imageCountOutput" ::: Ptr Word32) -> ("images" ::: Ptr (SomeChild SwapchainImageBaseHeader)) -> IO Result) PFN_xrVoidFunction
xrEnumerateSwapchainImages)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Swapchain_T
      -> Ptr SwapchainImageAcquireInfo
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Swapchain_T -> Ptr SwapchainImageAcquireInfo -> ("index" ::: Ptr Word32) -> IO Result) PFN_xrVoidFunction
xrAcquireSwapchainImage)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Swapchain_T -> Ptr SwapchainImageWaitInfo -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Swapchain_T -> Ptr SwapchainImageWaitInfo -> IO Result) PFN_xrVoidFunction
xrWaitSwapchainImage)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Swapchain_T -> Ptr SwapchainImageReleaseInfo -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Swapchain_T -> Ptr SwapchainImageReleaseInfo -> IO Result) PFN_xrVoidFunction
xrReleaseSwapchainImage)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> ("beginInfo" ::: Ptr (SomeStruct SessionBeginInfo))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> ("beginInfo" ::: Ptr (SomeStruct SessionBeginInfo)) -> IO Result) PFN_xrVoidFunction
xrBeginSession)
    (PFN_xrVoidFunction -> FunPtr (Ptr Session_T -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> IO Result) PFN_xrVoidFunction
xrEndSession)
    (PFN_xrVoidFunction -> FunPtr (Ptr Session_T -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> IO Result) PFN_xrVoidFunction
xrRequestExitSession)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("spaces" ::: Ptr ReferenceSpaceType)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> ("spaceCapacityInput" ::: Word32) -> ("spaceCountOutput" ::: Ptr Word32) -> ("spaces" ::: Ptr ReferenceSpaceType) -> IO Result) PFN_xrVoidFunction
xrEnumerateReferenceSpaces)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> Ptr ReferenceSpaceCreateInfo
      -> ("space" ::: Ptr (Ptr Space_T))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> Ptr ReferenceSpaceCreateInfo -> ("space" ::: Ptr (Ptr Space_T)) -> IO Result) PFN_xrVoidFunction
xrCreateReferenceSpace)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> Ptr ActionSpaceCreateInfo
      -> ("space" ::: Ptr (Ptr Space_T))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> Ptr ActionSpaceCreateInfo -> ("space" ::: Ptr (Ptr Space_T)) -> IO Result) PFN_xrVoidFunction
xrCreateActionSpace)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Space_T
      -> Ptr Space_T
      -> Int64
      -> ("location" ::: Ptr (SomeStruct SpaceLocation))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Space_T -> ("baseSpace" ::: Ptr Space_T) -> Time -> ("location" ::: Ptr (SomeStruct SpaceLocation)) -> IO Result) PFN_xrVoidFunction
xrLocateSpace)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("viewConfigurationTypes" ::: Ptr ViewConfigurationType)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> SystemId -> ("viewConfigurationTypeCapacityInput" ::: Word32) -> ("viewConfigurationTypeCountOutput" ::: Ptr Word32) -> ("viewConfigurationTypes" ::: Ptr ViewConfigurationType) -> IO Result) PFN_xrVoidFunction
xrEnumerateViewConfigurations)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ViewConfigurationType
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("environmentBlendModes" ::: Ptr EnvironmentBlendMode)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> SystemId -> ViewConfigurationType -> ("environmentBlendModeCapacityInput" ::: Word32) -> ("environmentBlendModeCountOutput" ::: Ptr Word32) -> ("environmentBlendModes" ::: Ptr EnvironmentBlendMode) -> IO Result) PFN_xrVoidFunction
xrEnumerateEnvironmentBlendModes)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ViewConfigurationType
      -> Ptr ViewConfigurationProperties
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> SystemId -> ViewConfigurationType -> Ptr ViewConfigurationProperties -> IO Result) PFN_xrVoidFunction
xrGetViewConfigurationProperties)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ViewConfigurationType
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("views" ::: Ptr (SomeStruct ViewConfigurationView))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> SystemId -> ViewConfigurationType -> ("viewCapacityInput" ::: Word32) -> ("viewCountOutput" ::: Ptr Word32) -> ("views" ::: Ptr (SomeStruct ViewConfigurationView)) -> IO Result) PFN_xrVoidFunction
xrEnumerateViewConfigurationViews)
    (PFN_xrVoidFunction
-> FunPtr (Ptr Session_T -> Ptr FrameBeginInfo -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> Ptr FrameBeginInfo -> IO Result) PFN_xrVoidFunction
xrBeginFrame)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> Ptr ViewLocateInfo
      -> Ptr ViewState
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("views" ::: Ptr View)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> Ptr ViewLocateInfo -> Ptr ViewState -> ("viewCapacityInput" ::: Word32) -> ("viewCountOutput" ::: Ptr Word32) -> ("views" ::: Ptr View) -> IO Result) PFN_xrVoidFunction
xrLocateViews)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> ("frameEndInfo" ::: Ptr (SomeStruct FrameEndInfo)) -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> ("frameEndInfo" ::: Ptr (SomeStruct FrameEndInfo)) -> IO Result) PFN_xrVoidFunction
xrEndFrame)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> Ptr FrameWaitInfo
      -> ("frameState" ::: Ptr (SomeStruct FrameState))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> Ptr FrameWaitInfo -> ("frameState" ::: Ptr (SomeStruct FrameState)) -> IO Result) PFN_xrVoidFunction
xrWaitFrame)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> Ptr HapticActionInfo
      -> ("hapticFeedback" ::: Ptr (SomeChild HapticBaseHeader))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> Ptr HapticActionInfo -> ("hapticFeedback" ::: Ptr (SomeChild HapticBaseHeader)) -> IO Result) PFN_xrVoidFunction
xrApplyHapticFeedback)
    (PFN_xrVoidFunction
-> FunPtr (Ptr Session_T -> Ptr HapticActionInfo -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> Ptr HapticActionInfo -> IO Result) PFN_xrVoidFunction
xrStopHapticFeedback)
    (PFN_xrVoidFunction
-> FunPtr (Ptr Instance_T -> Ptr EventDataBuffer -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> Ptr EventDataBuffer -> IO Result) PFN_xrVoidFunction
xrPollEvent)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T -> ("name" ::: Ptr CChar) -> Ptr Path -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> ("pathString" ::: Ptr CChar) -> Ptr Path -> IO Result) PFN_xrVoidFunction
xrStringToPath)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> Path
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("name" ::: Ptr CChar)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> Path -> ("bufferCapacityInput" ::: Word32) -> ("bufferCountOutput" ::: Ptr Word32) -> ("buffer" ::: Ptr CChar) -> IO Result) PFN_xrVoidFunction
xrPathToString)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> ReferenceSpaceType -> ("bounds" ::: Ptr Extent2Df) -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> ReferenceSpaceType -> ("bounds" ::: Ptr Extent2Df) -> IO Result) PFN_xrVoidFunction
xrGetReferenceSpaceBoundsRect)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> AndroidThreadTypeKHR
      -> ("formatCapacityInput" ::: Word32)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> AndroidThreadTypeKHR -> ("threadId" ::: Word32) -> IO Result) PFN_xrVoidFunction
xrSetAndroidApplicationThreadKHR)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> ("createInfo" ::: Ptr (SomeStruct SwapchainCreateInfo))
      -> ("swapchain" ::: Ptr (Ptr Swapchain_T))
      -> ("surface" ::: Ptr Jobject)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> ("info" ::: Ptr (SomeStruct SwapchainCreateInfo)) -> ("swapchain" ::: Ptr (Ptr Swapchain_T)) -> ("surface" ::: Ptr Jobject) -> IO Result) PFN_xrVoidFunction
xrCreateSwapchainAndroidSurfaceKHR)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> Ptr ActionStateGetInfo -> Ptr ActionStateBoolean -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> Ptr ActionStateGetInfo -> Ptr ActionStateBoolean -> IO Result) PFN_xrVoidFunction
xrGetActionStateBoolean)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> Ptr ActionStateGetInfo -> Ptr ActionStateFloat -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> Ptr ActionStateGetInfo -> Ptr ActionStateFloat -> IO Result) PFN_xrVoidFunction
xrGetActionStateFloat)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> Ptr ActionStateGetInfo -> Ptr ActionStateVector2f -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> Ptr ActionStateGetInfo -> Ptr ActionStateVector2f -> IO Result) PFN_xrVoidFunction
xrGetActionStateVector2f)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> Ptr ActionStateGetInfo -> Ptr ActionStatePose -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> Ptr ActionStateGetInfo -> Ptr ActionStatePose -> IO Result) PFN_xrVoidFunction
xrGetActionStatePose)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> Ptr ActionSetCreateInfo
      -> ("actionSet" ::: Ptr (Ptr ActionSet_T))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> Ptr ActionSetCreateInfo -> ("actionSet" ::: Ptr (Ptr ActionSet_T)) -> IO Result) PFN_xrVoidFunction
xrCreateActionSet)
    (PFN_xrVoidFunction -> FunPtr (Ptr ActionSet_T -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr ActionSet_T -> IO Result) PFN_xrVoidFunction
xrDestroyActionSet)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr ActionSet_T
      -> Ptr ActionCreateInfo
      -> ("action" ::: Ptr (Ptr Action_T))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr ActionSet_T -> Ptr ActionCreateInfo -> ("action" ::: Ptr (Ptr Action_T)) -> IO Result) PFN_xrVoidFunction
xrCreateAction)
    (PFN_xrVoidFunction -> FunPtr (Ptr Action_T -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Action_T -> IO Result) PFN_xrVoidFunction
xrDestroyAction)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> ("suggestedBindings"
          ::: Ptr (SomeStruct InteractionProfileSuggestedBinding))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> ("suggestedBindings" ::: Ptr (SomeStruct InteractionProfileSuggestedBinding)) -> IO Result) PFN_xrVoidFunction
xrSuggestInteractionProfileBindings)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T -> Ptr SessionActionSetsAttachInfo -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> Ptr SessionActionSetsAttachInfo -> IO Result) PFN_xrVoidFunction
xrAttachSessionActionSets)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T -> Path -> Ptr InteractionProfileState -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> ("topLevelUserPath" ::: Path) -> Ptr InteractionProfileState -> IO Result) PFN_xrVoidFunction
xrGetCurrentInteractionProfile)
    (PFN_xrVoidFunction
-> FunPtr (Ptr Session_T -> Ptr ActionsSyncInfo -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> Ptr ActionsSyncInfo -> IO Result) PFN_xrVoidFunction
xrSyncActions)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> Ptr BoundSourcesForActionEnumerateInfo
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> Ptr Path
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> Ptr BoundSourcesForActionEnumerateInfo -> ("sourceCapacityInput" ::: Word32) -> ("sourceCountOutput" ::: Ptr Word32) -> ("sources" ::: Ptr Path) -> IO Result) PFN_xrVoidFunction
xrEnumerateBoundSourcesForAction)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> Ptr InputSourceLocalizedNameGetInfo
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("name" ::: Ptr CChar)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> Ptr InputSourceLocalizedNameGetInfo -> ("bufferCapacityInput" ::: Word32) -> ("bufferCountOutput" ::: Ptr Word32) -> ("buffer" ::: Ptr CChar) -> IO Result) PFN_xrVoidFunction
xrGetInputSourceLocalizedName)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("name" ::: Ptr CChar)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> SystemId -> ("bufferCapacityInput" ::: Word32) -> ("bufferCountOutput" ::: Ptr Word32) -> ("buffer" ::: Ptr CChar) -> IO Result) PFN_xrVoidFunction
xrGetVulkanInstanceExtensionsKHR)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("name" ::: Ptr CChar)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> SystemId -> ("bufferCapacityInput" ::: Word32) -> ("bufferCountOutput" ::: Ptr Word32) -> ("buffer" ::: Ptr CChar) -> IO Result) PFN_xrVoidFunction
xrGetVulkanDeviceExtensionsKHR)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> SystemId
      -> ("vkInstance" ::: Ptr Instance_T)
      -> ("vkPhysicalDevice" ::: Ptr (Ptr PhysicalDevice_T))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> SystemId -> ("vkInstance" ::: Ptr OpenXR.VulkanTypes.Instance_T) -> ("vkPhysicalDevice" ::: Ptr (Ptr OpenXR.VulkanTypes.PhysicalDevice_T)) -> IO Result) PFN_xrVoidFunction
xrGetVulkanGraphicsDeviceKHR)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> SystemId -> Ptr GraphicsRequirementsOpenGLKHR -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> SystemId -> Ptr GraphicsRequirementsOpenGLKHR -> IO Result) PFN_xrVoidFunction
xrGetOpenGLGraphicsRequirementsKHR)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> SystemId -> Ptr GraphicsRequirementsOpenGLESKHR -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> SystemId -> Ptr GraphicsRequirementsOpenGLESKHR -> IO Result) PFN_xrVoidFunction
xrGetOpenGLESGraphicsRequirementsKHR)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> SystemId -> Ptr GraphicsRequirementsVulkanKHR -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> SystemId -> Ptr GraphicsRequirementsVulkanKHR -> IO Result) PFN_xrVoidFunction
xrGetVulkanGraphicsRequirementsKHR)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> SystemId -> Ptr GraphicsRequirementsD3D11KHR -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> SystemId -> Ptr GraphicsRequirementsD3D11KHR -> IO Result) PFN_xrVoidFunction
xrGetD3D11GraphicsRequirementsKHR)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> SystemId -> Ptr GraphicsRequirementsD3D12KHR -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> SystemId -> Ptr GraphicsRequirementsD3D12KHR -> IO Result) PFN_xrVoidFunction
xrGetD3D12GraphicsRequirementsKHR)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> PerfSettingsDomainEXT -> PerfSettingsLevelEXT -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> PerfSettingsDomainEXT -> PerfSettingsLevelEXT -> IO Result) PFN_xrVoidFunction
xrPerfSettingsSetPerformanceLevelEXT)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> PerfSettingsDomainEXT
      -> Ptr PerfSettingsNotificationLevelEXT
      -> ("tempHeadroom" ::: Ptr CFloat)
      -> ("tempHeadroom" ::: Ptr CFloat)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> PerfSettingsDomainEXT -> Ptr PerfSettingsNotificationLevelEXT -> ("tempHeadroom" ::: Ptr CFloat) -> ("tempSlope" ::: Ptr CFloat) -> IO Result) PFN_xrVoidFunction
xrThermalGetTemperatureTrendEXT)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T -> Ptr DebugUtilsObjectNameInfoEXT -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> Ptr DebugUtilsObjectNameInfoEXT -> IO Result) PFN_xrVoidFunction
xrSetDebugUtilsObjectNameEXT)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> Ptr DebugUtilsMessengerCreateInfoEXT
      -> ("messenger" ::: Ptr (Ptr DebugUtilsMessengerEXT_T))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> Ptr DebugUtilsMessengerCreateInfoEXT -> ("messenger" ::: Ptr (Ptr DebugUtilsMessengerEXT_T)) -> IO Result) PFN_xrVoidFunction
xrCreateDebugUtilsMessengerEXT)
    (PFN_xrVoidFunction
-> FunPtr (Ptr DebugUtilsMessengerEXT_T -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr DebugUtilsMessengerEXT_T -> IO Result) PFN_xrVoidFunction
xrDestroyDebugUtilsMessengerEXT)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> DebugUtilsMessageSeverityFlagsEXT
      -> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
      -> Ptr DebugUtilsMessengerCallbackDataEXT
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> DebugUtilsMessageSeverityFlagsEXT -> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Ptr DebugUtilsMessengerCallbackDataEXT -> IO Result) PFN_xrVoidFunction
xrSubmitDebugUtilsMessageEXT)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> ("labelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> ("labelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO Result) PFN_xrVoidFunction
xrSessionBeginDebugUtilsLabelRegionEXT)
    (PFN_xrVoidFunction -> FunPtr (Ptr Session_T -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> IO Result) PFN_xrVoidFunction
xrSessionEndDebugUtilsLabelRegionEXT)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> ("labelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> ("labelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO Result) PFN_xrVoidFunction
xrSessionInsertDebugUtilsLabelEXT)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> Int64
      -> ("performanceCounter" ::: Ptr LARGE_INTEGER)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> Time -> ("performanceCounter" ::: Ptr LARGE_INTEGER) -> IO Result) PFN_xrVoidFunction
xrConvertTimeToWin32PerformanceCounterKHR)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> ("performanceCounter" ::: Ptr LARGE_INTEGER)
      -> ("formats" ::: Ptr Int64)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> ("performanceCounter" ::: Ptr LARGE_INTEGER) -> Ptr Time -> IO Result) PFN_xrVoidFunction
xrConvertWin32PerformanceCounterToTimeKHR)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> Ptr VulkanInstanceCreateInfoKHR
      -> ("vulkanInstance" ::: Ptr ("vkInstance" ::: Ptr Instance_T))
      -> ("vulkanResult" ::: Ptr Result)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> Ptr VulkanInstanceCreateInfoKHR -> ("vulkanInstance" ::: Ptr (Ptr OpenXR.VulkanTypes.Instance_T)) -> ("vulkanResult" ::: Ptr OpenXR.VulkanTypes.Result) -> IO Result) PFN_xrVoidFunction
xrCreateVulkanInstanceKHR)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> Ptr VulkanDeviceCreateInfoKHR
      -> ("vulkanDevice" ::: Ptr (Ptr Device_T))
      -> ("vulkanResult" ::: Ptr Result)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> Ptr VulkanDeviceCreateInfoKHR -> ("vulkanDevice" ::: Ptr (Ptr OpenXR.VulkanTypes.Device_T)) -> ("vulkanResult" ::: Ptr OpenXR.VulkanTypes.Result) -> IO Result) PFN_xrVoidFunction
xrCreateVulkanDeviceKHR)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> Ptr VulkanGraphicsDeviceGetInfoKHR
      -> ("vkPhysicalDevice" ::: Ptr (Ptr PhysicalDevice_T))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> Ptr VulkanGraphicsDeviceGetInfoKHR -> ("vulkanPhysicalDevice" ::: Ptr (Ptr OpenXR.VulkanTypes.PhysicalDevice_T)) -> IO Result) PFN_xrVoidFunction
xrGetVulkanGraphicsDevice2KHR)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> Int64 -> ("timespecTime" ::: Ptr Timespec) -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> Time -> ("timespecTime" ::: Ptr Timespec) -> IO Result) PFN_xrVoidFunction
xrConvertTimeToTimespecTimeKHR)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Instance_T
      -> ("timespecTime" ::: Ptr Timespec)
      -> ("formats" ::: Ptr Int64)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Instance_T -> ("timespecTime" ::: Ptr Timespec) -> Ptr Time -> IO Result) PFN_xrVoidFunction
xrConvertTimespecTimeToTimeKHR)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> ViewConfigurationType
      -> ("formatCapacityInput" ::: Word32)
      -> VisibilityMaskTypeKHR
      -> Ptr VisibilityMaskKHR
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> ViewConfigurationType -> ("viewIndex" ::: Word32) -> VisibilityMaskTypeKHR -> Ptr VisibilityMaskKHR -> IO Result) PFN_xrVoidFunction
xrGetVisibilityMaskKHR)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> Ptr SpatialAnchorCreateInfoMSFT
      -> ("anchor" ::: Ptr (Ptr SpatialAnchorMSFT_T))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> Ptr SpatialAnchorCreateInfoMSFT -> ("anchor" ::: Ptr (Ptr SpatialAnchorMSFT_T)) -> IO Result) PFN_xrVoidFunction
xrCreateSpatialAnchorMSFT)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> Ptr SpatialAnchorSpaceCreateInfoMSFT
      -> ("space" ::: Ptr (Ptr Space_T))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> Ptr SpatialAnchorSpaceCreateInfoMSFT -> ("space" ::: Ptr (Ptr Space_T)) -> IO Result) PFN_xrVoidFunction
xrCreateSpatialAnchorSpaceMSFT)
    (PFN_xrVoidFunction -> FunPtr (Ptr SpatialAnchorMSFT_T -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr SpatialAnchorMSFT_T -> IO Result) PFN_xrVoidFunction
xrDestroySpatialAnchorMSFT)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> Ptr SpatialGraphNodeSpaceCreateInfoMSFT
      -> ("space" ::: Ptr (Ptr Space_T))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> Ptr SpatialGraphNodeSpaceCreateInfoMSFT -> ("space" ::: Ptr (Ptr Space_T)) -> IO Result) PFN_xrVoidFunction
xrCreateSpatialGraphNodeSpaceMSFT)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> ("createInfo" ::: Ptr (SomeStruct HandTrackerCreateInfoEXT))
      -> ("handTracker" ::: Ptr (Ptr HandTrackerEXT_T))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> ("createInfo" ::: Ptr (SomeStruct HandTrackerCreateInfoEXT)) -> ("handTracker" ::: Ptr (Ptr HandTrackerEXT_T)) -> IO Result) PFN_xrVoidFunction
xrCreateHandTrackerEXT)
    (PFN_xrVoidFunction -> FunPtr (Ptr HandTrackerEXT_T -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr HandTrackerEXT_T -> IO Result) PFN_xrVoidFunction
xrDestroyHandTrackerEXT)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr HandTrackerEXT_T
      -> Ptr HandJointsLocateInfoEXT
      -> ("locations" ::: Ptr (SomeStruct HandJointLocationsEXT))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr HandTrackerEXT_T -> Ptr HandJointsLocateInfoEXT -> ("locations" ::: Ptr (SomeStruct HandJointLocationsEXT)) -> IO Result) PFN_xrVoidFunction
xrLocateHandJointsEXT)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr HandTrackerEXT_T
      -> Ptr HandMeshSpaceCreateInfoMSFT
      -> ("space" ::: Ptr (Ptr Space_T))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr HandTrackerEXT_T -> Ptr HandMeshSpaceCreateInfoMSFT -> ("space" ::: Ptr (Ptr Space_T)) -> IO Result) PFN_xrVoidFunction
xrCreateHandMeshSpaceMSFT)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr HandTrackerEXT_T
      -> Ptr HandMeshUpdateInfoMSFT -> Ptr HandMeshMSFT -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr HandTrackerEXT_T -> Ptr HandMeshUpdateInfoMSFT -> Ptr HandMeshMSFT -> IO Result) PFN_xrVoidFunction
xrUpdateHandMeshMSFT)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> Path -> Ptr ControllerModelKeyStateMSFT -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> ("topLevelUserPath" ::: Path) -> Ptr ControllerModelKeyStateMSFT -> IO Result) PFN_xrVoidFunction
xrGetControllerModelKeyMSFT)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> ControllerModelKeyMSFT
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("buffer" ::: Ptr Word8)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> ControllerModelKeyMSFT -> ("bufferCapacityInput" ::: Word32) -> ("bufferCountOutput" ::: Ptr Word32) -> ("buffer" ::: Ptr Word8) -> IO Result) PFN_xrVoidFunction
xrLoadControllerModelMSFT)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> ControllerModelKeyMSFT
      -> Ptr ControllerModelPropertiesMSFT
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> ControllerModelKeyMSFT -> Ptr ControllerModelPropertiesMSFT -> IO Result) PFN_xrVoidFunction
xrGetControllerModelPropertiesMSFT)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> ControllerModelKeyMSFT
      -> Ptr ControllerModelStateMSFT
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> ControllerModelKeyMSFT -> Ptr ControllerModelStateMSFT -> IO Result) PFN_xrVoidFunction
xrGetControllerModelStateMSFT)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("tempHeadroom" ::: Ptr CFloat)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> ("displayRefreshRateCapacityInput" ::: Word32) -> ("displayRefreshRateCountOutput" ::: Ptr Word32) -> ("displayRefreshRates" ::: Ptr CFloat) -> IO Result) PFN_xrVoidFunction
xrEnumerateDisplayRefreshRatesFB)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T -> ("tempHeadroom" ::: Ptr CFloat) -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> ("displayRefreshRate" ::: Ptr CFloat) -> IO Result) PFN_xrVoidFunction
xrGetDisplayRefreshRateFB)
    (PFN_xrVoidFunction -> FunPtr (Ptr Session_T -> CFloat -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> ("displayRefreshRate" ::: CFloat) -> IO Result) PFN_xrVoidFunction
xrRequestDisplayRefreshRateFB)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> ("perceptionAnchor" ::: Ptr IUnknown)
      -> ("anchor" ::: Ptr (Ptr SpatialAnchorMSFT_T))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> ("perceptionAnchor" ::: Ptr IUnknown) -> ("anchor" ::: Ptr (Ptr SpatialAnchorMSFT_T)) -> IO Result) PFN_xrVoidFunction
xrCreateSpatialAnchorFromPerceptionAnchorMSFT)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> Ptr SpatialAnchorMSFT_T
      -> ("perceptionAnchor"
          ::: Ptr ("perceptionAnchor" ::: Ptr IUnknown))
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> Ptr SpatialAnchorMSFT_T -> ("perceptionAnchor" ::: Ptr (Ptr IUnknown)) -> IO Result) PFN_xrVoidFunction
xrTryGetPerceptionAnchorFromSpatialAnchorMSFT)
    (PFN_xrVoidFunction
-> FunPtr
     (Ptr Session_T
      -> ("formatCapacityInput" ::: Word32)
      -> ("formatCountOutput" ::: Ptr ("formatCapacityInput" ::: Word32))
      -> ("colorSpaces" ::: Ptr ColorSpaceFB)
      -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> ("colorSpaceCapacityInput" ::: Word32) -> ("colorSpaceCountOutput" ::: Ptr Word32) -> ("colorSpaces" ::: Ptr ColorSpaceFB) -> IO Result) PFN_xrVoidFunction
xrEnumerateColorSpacesFB)
    (PFN_xrVoidFunction
-> FunPtr (Ptr Session_T -> ColorSpaceFB -> IO Result)
forall a b. FunPtr a -> FunPtr b
castFunPtr @_ @(Ptr Session_T -> ColorSpaceFB -> IO Result) PFN_xrVoidFunction
xrSetColorSpaceFB)