Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- getSystem :: forall io. MonadIO io => Instance -> SystemGetInfo -> io SystemId
- getSystemProperties :: forall a io. (Extendss SystemProperties a, PokeChain a, PeekChain a, MonadIO io) => Instance -> SystemId -> io (SystemProperties a)
- createSession :: forall a io. (Extendss SessionCreateInfo a, PokeChain a, MonadIO io) => Instance -> SessionCreateInfo a -> io Session
- withSession :: forall a io r. (Extendss SessionCreateInfo a, PokeChain a, MonadIO io) => Instance -> SessionCreateInfo a -> (io Session -> (Session -> io ()) -> r) -> r
- destroySession :: forall io. MonadIO io => Session -> io ()
- enumerateEnvironmentBlendModes :: forall io. MonadIO io => Instance -> SystemId -> ViewConfigurationType -> io ("environmentBlendModes" ::: Vector EnvironmentBlendMode)
- newtype SystemId = SystemId Word64
- data SystemGetInfo = SystemGetInfo {}
- data SystemProperties (es :: [Type]) = SystemProperties {}
- data SystemGraphicsProperties = SystemGraphicsProperties {}
- data SystemTrackingProperties = SystemTrackingProperties {}
- data SessionCreateInfo (es :: [Type]) = SessionCreateInfo {
- next :: Chain es
- createFlags :: SessionCreateFlags
- systemId :: SystemId
Documentation
:: forall io. MonadIO io | |
=> Instance |
|
-> SystemGetInfo |
|
-> io SystemId |
xrGetSystem - Gets a system identifier
Parameter Descriptions
Description
To get an
https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrSystemId,
an application specifies its desired
form factor
to getSystem
and gets the runtime’s
https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrSystemId
associated with that configuration.
If the form factor is supported but temporarily unavailable, getSystem
must return
ERROR_FORM_FACTOR_UNAVAILABLE
. A runtime
may return SUCCESS
on a subsequent call
for a form factor it previously returned
ERROR_FORM_FACTOR_UNAVAILABLE
. For example,
connecting or warming up hardware might cause an unavailable form factor
to become available.
Return Codes
See Also
NULL_SYSTEM_ID
,
Instance
, SystemGetInfo
,
https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrSystemId
:: forall a io. (Extendss SystemProperties a, PokeChain a, PeekChain a, MonadIO io) | |
=> Instance |
|
-> SystemId |
|
-> io (SystemProperties a) |
xrGetSystemProperties - Gets the properties of a particular system
Parameter Descriptions
Description
An application can call getSystemProperties
to retrieve information
about the system such as vendor ID, system name, and graphics and
tracking properties.
Return Codes
See Also
Instance
,
https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrSystemId,
SystemProperties
:: forall a io. (Extendss SessionCreateInfo a, PokeChain a, MonadIO io) | |
=> Instance |
|
-> SessionCreateInfo a |
|
-> io Session |
xrCreateSession - Creates an XrSession
Parameter Descriptions
Description
Creates a session using the provided createInfo
and returns a handle
to that session. This session is created in the
SESSION_STATE_IDLE
state, and a
corresponding EventDataSessionStateChanged
event to the SESSION_STATE_IDLE
state
must be generated as the first such event for the new session.
Return Codes
See Also
ExtensionProperties
,
Instance
, Session
,
SessionCreateFlags
,
SessionCreateInfo
, beginSession
,
destroySession
, endSession
withSession :: forall a io r. (Extendss SessionCreateInfo a, PokeChain a, MonadIO io) => Instance -> SessionCreateInfo a -> (io Session -> (Session -> io ()) -> r) -> r Source #
A convenience wrapper to make a compatible pair of calls to
createSession
and destroySession
To ensure that destroySession
is always called: pass
bracket
(or the allocate function from your
favourite resource management library) as the last argument.
To just extract the pair pass (,)
as the last argument.
xrDestroySession - Destroys an XrSession
Parameter Descriptions
Description
Session
handles are destroyed using
destroySession
. When an Session
is destroyed,
all handles that are children of that Session
are also destroyed.
The application is responsible for ensuring that it has no calls using
session
in progress when the session is destroyed.
destroySession
can be called when the session is in any session state.
Valid Usage (Implicit)
-
session
must be a validSession
handle
Thread Safety
- Access to
session
, and any child handles, must be externally synchronized
Return Codes
See Also
enumerateEnvironmentBlendModes :: forall io. MonadIO io => Instance -> SystemId -> ViewConfigurationType -> io ("environmentBlendModes" ::: Vector EnvironmentBlendMode) Source #
xrEnumerateEnvironmentBlendModes - Lists environment blend modes
Parameter Descriptions
instance
is the instance from whichsystemId
was retrieved.
systemId
is the https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrSystemId whose environment blend modes will be enumerated.viewConfigurationType
is theViewConfigurationType
to enumerate.environmentBlendModeCapacityInput
is the capacity of theenvironmentBlendModes
array, or 0 to indicate a request to retrieve the required capacity.environmentBlendModeCountOutput
is a pointer to the count ofenvironmentBlendModes
written, or a pointer to the required capacity in the case thatenvironmentBlendModeCapacityInput
is 0.environmentBlendModes
is a pointer to an array ofEnvironmentBlendMode
values, but can beNULL
ifenvironmentBlendModeCapacityInput
is 0.- See
Buffer Size Parameters
chapter for a detailed description of retrieving the required
environmentBlendModes
size.
Description
Enumerates the set of environment blend modes that this runtime supports for a given view configuration of the system. Environment blend modes should be in order from highest to lowest runtime preference.
Runtimes must always return identical buffer contents from this
enumeration for the given systemId
and viewConfigurationType
for the
lifetime of the instance.
Valid Usage (Implicit)
-
instance
must be a validInstance
handle
-
viewConfigurationType
must be a validViewConfigurationType
value -
environmentBlendModeCountOutput
must be a pointer to auint32_t
value -
If
environmentBlendModeCapacityInput
is not0
,environmentBlendModes
must be a pointer to an array ofenvironmentBlendModeCapacityInput
EnvironmentBlendMode
values
Return Codes
See Also
EnvironmentBlendMode
,
Instance
,
https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrSystemId,
ViewConfigurationType
XrSystemId - Identifier for a system
Description
An
https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrSystemId
is an opaque atom used by the runtime to identify a system. The value
NULL_SYSTEM_ID
is considered an invalid
system.
See Also
NULL_SYSTEM_ID
, SessionCreateInfo
,
SystemProperties
,
VulkanDeviceCreateInfoKHR
,
VulkanGraphicsDeviceGetInfoKHR
,
VulkanInstanceCreateInfoKHR
,
enumerateEnvironmentBlendModes
,
enumerateViewConfigurationViews
,
enumerateViewConfigurations
,
getD3D11GraphicsRequirementsKHR
,
getD3D12GraphicsRequirementsKHR
,
getOpenGLESGraphicsRequirementsKHR
,
getOpenGLGraphicsRequirementsKHR
,
getSystem
, getSystemProperties
,
getViewConfigurationProperties
,
getVulkanDeviceExtensionsKHR
,
getVulkanGraphicsDeviceKHR
,
getVulkanGraphicsRequirements2KHR
,
getVulkanGraphicsRequirementsKHR
,
getVulkanInstanceExtensionsKHR
Instances
Eq SystemId Source # | |
Ord SystemId Source # | |
Defined in OpenXR.Core10.Device | |
Show SystemId Source # | |
Storable SystemId Source # | |
Defined in OpenXR.Core10.Device | |
Zero SystemId Source # | |
Defined in OpenXR.Core10.Device |
data SystemGetInfo Source #
XrSystemGetInfo - Specifies desired attributes of the system
Member Descriptions
Description
The SystemGetInfo
structure specifies attributes about a system as
desired by an application.
Valid Usage (Implicit)
See Also
SystemGetInfo | |
|
Instances
data SystemProperties (es :: [Type]) Source #
XrSystemProperties - Properties of a particular system
Valid Usage (Implicit)
See Also
StructureType
,
SystemGraphicsProperties
,
https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrSystemId,
SystemTrackingProperties
, getSystem
, getSystemProperties
SystemProperties | |
|
Instances
data SystemGraphicsProperties Source #
XrSystemGraphicsProperties - Graphics-related properties of a particular system
Member Descriptions
See Also
https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrSystemId,
SystemProperties
, SystemTrackingProperties
, getSystem
,
getSystemProperties
SystemGraphicsProperties | |
|
Instances
data SystemTrackingProperties Source #
XrSystemTrackingProperties - Tracking-related properties of a particular system
Member Descriptions
See Also
https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrBool32,
SystemGraphicsProperties
,
https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrSystemId,
SystemProperties
, getSystem
, getSystemProperties
Instances
data SessionCreateInfo (es :: [Type]) Source #
XrSessionCreateInfo - Creates a session
Valid Usage (Implicit)
See Also
SessionCreateFlags
,
StructureType
,
https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrSystemId,
createSession
SessionCreateInfo | |
|