| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
OpenXR.Extensions.XR_MSFT_secondary_view_configuration
Description
Name
XR_MSFT_secondary_view_configuration - instance extension
Specification
See XR_MSFT_secondary_view_configuration in the main specification for complete information.
Registered Extension Number
54
Revision
1
Extension and Version Dependencies
- Requires OpenXR 1.0
 
See Also
SecondaryViewConfigurationFrameEndInfoMSFT,
 SecondaryViewConfigurationFrameStateMSFT,
 SecondaryViewConfigurationLayerInfoMSFT,
 SecondaryViewConfigurationSessionBeginInfoMSFT,
 SecondaryViewConfigurationStateMSFT,
 SecondaryViewConfigurationSwapchainCreateInfoMSFT
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Synopsis
- data SecondaryViewConfigurationSessionBeginInfoMSFT = SecondaryViewConfigurationSessionBeginInfoMSFT {}
 - data SecondaryViewConfigurationStateMSFT = SecondaryViewConfigurationStateMSFT {}
 - data SecondaryViewConfigurationFrameStateMSFT = SecondaryViewConfigurationFrameStateMSFT {}
 - data SecondaryViewConfigurationFrameEndInfoMSFT = SecondaryViewConfigurationFrameEndInfoMSFT {}
 - data SecondaryViewConfigurationLayerInfoMSFT = SecondaryViewConfigurationLayerInfoMSFT {}
 - data SecondaryViewConfigurationSwapchainCreateInfoMSFT = SecondaryViewConfigurationSwapchainCreateInfoMSFT {}
 - type MSFT_secondary_view_configuration_SPEC_VERSION = 1
 - pattern MSFT_secondary_view_configuration_SPEC_VERSION :: forall a. Integral a => a
 - type MSFT_SECONDARY_VIEW_CONFIGURATION_EXTENSION_NAME = "XR_MSFT_secondary_view_configuration"
 - pattern MSFT_SECONDARY_VIEW_CONFIGURATION_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
 
Documentation
data SecondaryViewConfigurationSessionBeginInfoMSFT Source #
XrSecondaryViewConfigurationSessionBeginInfoMSFT - Describes an
 extension structure to beginSession indicating
 supported view configuration types.
Member Descriptions
Description
If there are any duplicated view configuration types in the array of
 enabledViewConfigurationTypes, the runtime must return error
 ERROR_VALIDATION_FAILURE.
If there are any primary view configuration types in the array of
 enabledViewConfigurationTypes, the runtime must return error
 ERROR_VALIDATION_FAILURE.
If there are any secondary view configuration types not returned by
 enumerateViewConfigurations in the
 array of enabledViewConfigurationTypes, the runtime must return
 error
 ERROR_VIEW_CONFIGURATION_TYPE_UNSUPPORTED.
Valid Usage (Implicit)
- 
     The @@ extension must be enabled prior to using
     
SecondaryViewConfigurationSessionBeginInfoMSFT 
- 
     
typemust beTYPE_SECONDARY_VIEW_CONFIGURATION_SESSION_BEGIN_INFO_MSFT - 
     
nextmust beNULLor a valid pointer to the next structure in a structure chain - 
     
enabledViewConfigurationTypesmust be a pointer to an array ofviewConfigurationCountvalidViewConfigurationTypevalues - 
     The 
viewConfigurationCountparameter must be greater than0 
See Also
Constructors
| SecondaryViewConfigurationSessionBeginInfoMSFT | |
Fields 
  | |
Instances
data SecondaryViewConfigurationStateMSFT Source #
XrSecondaryViewConfigurationStateMSFT - Returns the state of an enabled secondary view configuration.
Member Descriptions
Description
When a secondary view configuration becomes active, the application
 should render its secondary views as soon as possible, by getting
 their view transforms and FOV using
 locateViews and then submitting
 composition layers to endFrame through the
 SecondaryViewConfigurationFrameEndInfoMSFT extension structure. When a
 secondary view configuration changes from inactive to active, the
 runtime may change
 ViewConfigurationView of the given
 view configuration such as the recommended image width or height. An
 application should query for latest
 ViewConfigurationView through
 enumerateViewConfigurationViews
 function for the secondary view configuration and consider recreating
 swapchain images if necessary. The runtime must not change the
 ViewConfigurationView, including
 recommended image width and height of a secondary view configuration
 when active remains true until the secondary view configuration
 deactivated or the session has ended.
If necessary, the application can take longer than a frame duration to
 prepare by calling endFrame without
 submitting layers for that secondary view configuration until ready. The
 runtime should delay the underlying scenario managed by the secondary
 view configuration until the application begins submitting frames with
 layers for that configuration. The active secondary view configuration
 composed output is undefined if the application stops submitting frames
 with layers for a secondary view configuration while active remains
 true.
When the runtime intends to conclude a secondary view configuration, for
 example when user stops video capture, the runtime makes the view
 configuration inactive by setting the corresponding active in the
 SecondaryViewConfigurationStateMSFT structure to false.
Valid Usage (Implicit)
- 
     The @@ extension must be enabled prior to using
     
SecondaryViewConfigurationStateMSFT 
-  
typemust beTYPE_SECONDARY_VIEW_CONFIGURATION_STATE_MSFT -  
nextmust beNULLor a valid pointer to the next structure in a structure chain - 
     
viewConfigurationTypemust be a validViewConfigurationTypevalue 
See Also
https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrBool32,
 FrameState,
 SecondaryViewConfigurationFrameStateMSFT,
 StructureType,
 ViewConfigurationType
Constructors
| SecondaryViewConfigurationStateMSFT | |
Fields 
  | |
Instances
data SecondaryViewConfigurationFrameStateMSFT Source #
XrSecondaryViewConfigurationFrameStateMSFT - Extension structure to xrWaitFrame to return a list of secondary view configuration states.
Member Descriptions
Description
The array size viewConfigurationCount in the
 SecondaryViewConfigurationFrameStateMSFT structure must be the same
 as the array size enabled through
 SecondaryViewConfigurationSessionBeginInfoMSFT when calling
 beginSession earlier, otherwise the runtime
 must return error
 ERROR_VALIDATION_FAILURE.
Valid Usage (Implicit)
- 
     The @@ extension must be enabled prior to using
     
SecondaryViewConfigurationFrameStateMSFT 
-  
typemust beTYPE_SECONDARY_VIEW_CONFIGURATION_FRAME_STATE_MSFT -  
nextmust beNULLor a valid pointer to the next structure in a structure chain - 
     
viewConfigurationStatesmust be a pointer to an array ofviewConfigurationCountSecondaryViewConfigurationStateMSFTstructures - 
     The 
viewConfigurationCountparameter must be greater than0 
See Also
FrameState,
 SecondaryViewConfigurationStateMSFT,
 StructureType
Constructors
| SecondaryViewConfigurationFrameStateMSFT | |
Fields 
  | |
Instances
data SecondaryViewConfigurationFrameEndInfoMSFT Source #
XrSecondaryViewConfigurationFrameEndInfoMSFT - Submit an array of
 SecondaryViewConfigurationLayerInfoMSFT, one for each secondary view
 configuration.
Member Descriptions
Description
The view configuration type in each
 SecondaryViewConfigurationLayerInfoMSFT must be one of the view
 configurations enabled when calling beginSession
 in SecondaryViewConfigurationSessionBeginInfoMSFT, or else the runtime
 must return error
 ERROR_SECONDARY_VIEW_CONFIGURATION_TYPE_NOT_ENABLED_MSFT.
The view configuration type in each
 SecondaryViewConfigurationLayerInfoMSFT must not be the primary view
 configuration in this session, or else the runtime must return error
 ERROR_LAYER_INVALID. The primary view
 configuration layers continue to be submitted through
 FrameEndInfo directly.
If the view configuration is not active, as indicated in
 SecondaryViewConfigurationFrameStateMSFT, the composition layers
 submitted to this view configuration may be ignored by the runtime.
 Applications should avoid rendering into secondary views when the view
 configuration is inactive.
Valid Usage (Implicit)
- 
     The @@ extension must be enabled prior to using
     
SecondaryViewConfigurationFrameEndInfoMSFT 
-  
typemust beTYPE_SECONDARY_VIEW_CONFIGURATION_FRAME_END_INFO_MSFT -  
nextmust beNULLor a valid pointer to the next structure in a structure chain - 
     
viewConfigurationLayersInfomust be a pointer to an array ofviewConfigurationCountvalidSecondaryViewConfigurationLayerInfoMSFTstructures - 
     The 
viewConfigurationCountparameter must be greater than0 
See Also
SecondaryViewConfigurationLayerInfoMSFT,
 StructureType,
 endFrame
Constructors
| SecondaryViewConfigurationFrameEndInfoMSFT | |
Fields 
  | |
Instances
data SecondaryViewConfigurationLayerInfoMSFT Source #
XrSecondaryViewConfigurationLayerInfoMSFT - Describe an array of
 composition layers to be submitted to given
 ViewConfigurationType.
Member Descriptions
Description
This structure is similar to the
 FrameEndInfo structure, with an extra
 ViewConfigurationType field
 to specify the view configuration for which the submitted layers will be
 rendered.
The application should render its content for both the primary and
 secondary view configurations using the same predictedDisplayTime
 reported by waitFrame. The runtime must
 treat both the primary views and secondary views as being submitted for
 the same displayTime specified in the call to
 endFrame.
For layers such as quad layers whose content is identical across view
 configurations, the application can submit the same
 CompositionLayerBaseHeader structures to
 multiple view configurations in the same
 endFrame function call.
For each frame, the application should only render and submit layers
 for the secondary view configurations that were active that frame, as
 indicated in the SecondaryViewConfigurationFrameStateMSFT filled in
 for that frame’s waitFrame call. The
 runtime must ignore composition layers submitted for an inactive view
 configuration.
Valid Usage (Implicit)
- 
     The @@ extension must be enabled prior to using
     
SecondaryViewConfigurationLayerInfoMSFT 
-  
typemust beTYPE_SECONDARY_VIEW_CONFIGURATION_LAYER_INFO_MSFT -  
nextmust beNULLor a valid pointer to the next structure in a structure chain - 
     
viewConfigurationTypemust be a validViewConfigurationTypevalue - 
     
environmentBlendModemust be a validEnvironmentBlendModevalue - 
     
layersmust be a pointer to an array oflayerCountvalidCompositionLayerBaseHeader-based structures. See also:CompositionLayerCubeKHR,CompositionLayerCylinderKHR,CompositionLayerEquirect2KHR,CompositionLayerEquirectKHR,CompositionLayerProjection,CompositionLayerQuad - 
     The 
layerCountparameter must be greater than0 
See Also
CompositionLayerBaseHeader,
 EnvironmentBlendMode,
 SecondaryViewConfigurationFrameEndInfoMSFT,
 StructureType,
 ViewConfigurationType,
 endFrame
Constructors
| SecondaryViewConfigurationLayerInfoMSFT | |
Fields 
  | |
Instances
data SecondaryViewConfigurationSwapchainCreateInfoMSFT Source #
XrSecondaryViewConfigurationSwapchainCreateInfoMSFT - Hint to runtime that the created swapchain image will be used for given secondary view configuration.
Member Descriptions
Description
If this structure is not present in the
 SwapchainCreateInfo next chain when calling
 createSwapchain, the runtime should optimize the
 created swapchain for the primary view configuration of the session.
If the application submits a swapchain image created with one view configuration type to a composition layer for another view configuration, the runtime may need to copy the resource across view configurations. However, the runtime must correctly compose the image regardless which view configuration type was hinted when swapchain image was created.
Valid Usage (Implicit)
- 
     The @@ extension must be enabled prior to using
     
SecondaryViewConfigurationSwapchainCreateInfoMSFT 
- 
     
typemust beTYPE_SECONDARY_VIEW_CONFIGURATION_SWAPCHAIN_CREATE_INFO_MSFT - 
     
nextmust beNULLor a valid pointer to the next structure in a structure chain - 
     
viewConfigurationTypemust be a validViewConfigurationTypevalue 
See Also
Constructors
| SecondaryViewConfigurationSwapchainCreateInfoMSFT | |
Fields 
  | |
Instances
pattern MSFT_secondary_view_configuration_SPEC_VERSION :: forall a. Integral a => a Source #
type MSFT_SECONDARY_VIEW_CONFIGURATION_EXTENSION_NAME = "XR_MSFT_secondary_view_configuration" Source #
pattern MSFT_SECONDARY_VIEW_CONFIGURATION_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #