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 XrSecondaryViewConfigurationFrameEndInfoMSFT extension structure. When a secondary view configuration changes from inactive to active, the runtime may change XrViewConfigurationView of the given view configuration such as the recommended image width or height. An application should query for latest XrViewConfigurationView through EnumerateViewConfigurationViews function for the secondary view configuration and consider recreating swapchain images if necessary. The runtime must not change the XrViewConfigurationView, 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 XrSecondaryViewConfigurationStateMSFT structure to false.
XR_MSFT_secondary_view_configuration extension must be enabled prior to using XrSecondaryViewConfigurationStateMSFTtype must be TYPE_SECONDARY_VIEW_CONFIGURATION_STATE_MSFTnext must be NULL or a valid pointer to the next structure in a structure chainviewConfigurationType must be a valid XrViewConfigurationType valueXrFrameState, XrSecondaryViewConfigurationFrameStateMSFT
struct XrSecondaryViewConfigurationStateMSFT {
XrStructureType type;
void * next;
XrViewConfigurationType viewConfigurationType;
XrBool32 active;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | XrSecondaryViewConfigurationStateMSFT.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ACTIVE
The struct member offsets. |
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | NEXT
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | TYPE
The struct member offsets. |
| public static final int | VIEWCONFIGURATIONTYPE
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | XrSecondaryViewConfigurationStateMSFT(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public boolean | active()
an |
| public XrSecondaryViewConfigurationStateMSFT | |
| public static XrSecondaryViewConfigurationStateMSFT | |
| public static XrSecondaryViewConfigurationStateMSFT. | calloc(int
the buffer capacity capacity)Returns a new |
| public static XrSecondaryViewConfigurationStateMSFT | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static XrSecondaryViewConfigurationStateMSFT. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| protected XrSecondaryViewConfigurationStateMSFT | create(long
the struct memory address address, ByteBuffer an optional container buffer, to be referenced strongly by the struct instance. container)Implements abstract org. the constructor, but returns the exact type of the Struct subclass.
|
| public static XrSecondaryViewConfigurationStateMSFT | |
| public static XrSecondaryViewConfigurationStateMSFT | create(long address)
Returns a new |
| public static XrSecondaryViewConfigurationStateMSFT. | create(int
the buffer capacity capacity)Returns a new |
| public static XrSecondaryViewConfigurationStateMSFT. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static XrSecondaryViewConfigurationStateMSFT | |
| public static XrSecondaryViewConfigurationStateMSFT. | |
| public static XrSecondaryViewConfigurationStateMSFT | |
| public static XrSecondaryViewConfigurationStateMSFT. | malloc(int
the buffer capacity capacity)Returns a new |
| public static XrSecondaryViewConfigurationStateMSFT | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static XrSecondaryViewConfigurationStateMSFT. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static int | |
| public static void | |
| public long | |
| public XrSecondaryViewConfigurationStateMSFT | |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public static int | |
| public static void | |
| public XrSecondaryViewConfigurationStateMSFT | set(int type, long next, int viewConfigurationType, boolean active)
Initializes this struct with the specified values. |
| public XrSecondaryViewConfigurationStateMSFT | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public int | |
| public XrSecondaryViewConfigurationStateMSFT | |
| public XrSecondaryViewConfigurationStateMSFT | |
| public int | |
| public XrSecondaryViewConfigurationStateMSFT |
| ACTIVE | back to summary |
|---|---|
| public static final int ACTIVE The struct member offsets. | |
| ALIGNOF | back to summary |
|---|---|
| public static final int ALIGNOF The struct alignment in bytes. | |
| NEXT | back to summary |
|---|---|
| public static final int NEXT The struct member offsets. | |
| SIZEOF | back to summary |
|---|---|
| public static final int SIZEOF The struct size in bytes. | |
| TYPE | back to summary |
|---|---|
| public static final int TYPE The struct member offsets. | |
| VIEWCONFIGURATIONTYPE | back to summary |
|---|---|
| public static final int VIEWCONFIGURATIONTYPE The struct member offsets. | |
| XrSecondaryViewConfigurationStateMSFT | back to summary |
|---|---|
| protected XrSecondaryViewConfigurationStateMSFT(long address, ByteBuffer container) | |
| XrSecondaryViewConfigurationStateMSFT | back to summary |
|---|---|
| public XrSecondaryViewConfigurationStateMSFT(ByteBuffer container) Creates a The created instance holds a strong reference to the container object. | |
| active | back to summary |
|---|---|
| public boolean active() an
| |
| active | back to summary |
|---|---|
| public XrSecondaryViewConfigurationStateMSFT active(boolean value) Sets the specified value to the | |
| calloc | back to summary |
|---|---|
| public static XrSecondaryViewConfigurationStateMSFT calloc() Returns a new | |
| calloc | back to summary |
|---|---|
| public static XrSecondaryViewConfigurationStateMSFT. Returns a new
| |
| calloc | back to summary |
|---|---|
| public static XrSecondaryViewConfigurationStateMSFT calloc(MemoryStack stack) Returns a new
| |
| calloc | back to summary |
|---|---|
| public static XrSecondaryViewConfigurationStateMSFT. Returns a new
| |
| create | back to summary |
|---|---|
| protected XrSecondaryViewConfigurationStateMSFT create(long address, ByteBuffer container) Implements abstract org. Doc from org. Similar to Effectively, every
| |
| create | back to summary |
|---|---|
| public static XrSecondaryViewConfigurationStateMSFT create() Returns a new | |
| create | back to summary |
|---|---|
| public static XrSecondaryViewConfigurationStateMSFT create(long address) Returns a new | |
| create | back to summary |
|---|---|
| public static XrSecondaryViewConfigurationStateMSFT. Returns a new
| |
| create | back to summary |
|---|---|
| public static XrSecondaryViewConfigurationStateMSFT. Create a
| |
| createSafe | back to summary |
|---|---|
| public static XrSecondaryViewConfigurationStateMSFT createSafe(long address) Like
| |
| createSafe | back to summary |
|---|---|
| public static XrSecondaryViewConfigurationStateMSFT. Like
| |
| malloc | back to summary |
|---|---|
| public static XrSecondaryViewConfigurationStateMSFT malloc() Returns a new | |
| malloc | back to summary |
|---|---|
| public static XrSecondaryViewConfigurationStateMSFT. Returns a new
| |
| malloc | back to summary |
|---|---|
| public static XrSecondaryViewConfigurationStateMSFT malloc(MemoryStack stack) Returns a new
| |
| malloc | back to summary |
|---|---|
| public static XrSecondaryViewConfigurationStateMSFT. Returns a new
| |
| nactive | back to summary |
|---|---|
| public static int nactive(long struct) Unsafe version of | |
| nactive | back to summary |
|---|---|
| public static void nactive(long struct, int value) Unsafe version of | |
| next | back to summary |
|---|---|
| public long next()
| |
| next | back to summary |
|---|---|
| public XrSecondaryViewConfigurationStateMSFT next(long value) Sets the specified value to the | |
| nnext | back to summary |
|---|---|
| public static long nnext(long struct) Unsafe version of | |
| nnext | back to summary |
|---|---|
| public static void nnext(long struct, long value) Unsafe version of | |
| ntype | back to summary |
|---|---|
| public static int ntype(long struct) Unsafe version of | |
| ntype | back to summary |
|---|---|
| public static void ntype(long struct, int value) Unsafe version of | |
| nviewConfigurationType | back to summary |
|---|---|
| public static int nviewConfigurationType(long struct) Unsafe version of | |
| nviewConfigurationType | back to summary |
|---|---|
| public static void nviewConfigurationType(long struct, int value) Unsafe version of | |
| set | back to summary |
|---|---|
| public XrSecondaryViewConfigurationStateMSFT set(int type, long next, int viewConfigurationType, boolean active) Initializes this struct with the specified values. | |
| set | back to summary |
|---|---|
| public XrSecondaryViewConfigurationStateMSFT set(XrSecondaryViewConfigurationStateMSFT src) Copies the specified struct data to this struct.
| |
| sizeof | back to summary |
|---|---|
| public int sizeof() Implements abstract org. Doc from org. Returns
| |
| type | back to summary |
|---|---|
| public int type() the
| |
| type | back to summary |
|---|---|
| public XrSecondaryViewConfigurationStateMSFT type(int value) Sets the specified value to the | |
| type$Default | back to summary |
|---|---|
| public XrSecondaryViewConfigurationStateMSFT type$Default() Sets the | |
| viewConfigurationType | back to summary |
|---|---|
| public int viewConfigurationType() an
| |
| viewConfigurationType | back to summary |
|---|---|
| public XrSecondaryViewConfigurationStateMSFT viewConfigurationType(int value) Sets the specified value to the | |
XrSecondaryViewConfigurationStateMSFT structs.
| Modifier and Type | Field and Description |
|---|---|
| private static final XrSecondaryViewConfigurationStateMSFT |
| Access | Constructor and Description |
|---|---|
| public | Buffer(ByteBuffer container)
Creates a new |
| public | |
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| public boolean | |
| public XrSecondaryViewConfigurationStateMSFT. | active(boolean value)
Sets the specified value to the |
| protected XrSecondaryViewConfigurationStateMSFT | |
| public long | |
| public XrSecondaryViewConfigurationStateMSFT. | |
| protected XrSecondaryViewConfigurationStateMSFT. | |
| public int | |
| public XrSecondaryViewConfigurationStateMSFT. | |
| public XrSecondaryViewConfigurationStateMSFT. | type$Default()
Sets the |
| public int | Returns: the value of theXrSecondaryViewConfigurationStateMSFT#viewConfigurationType field.
|
| public XrSecondaryViewConfigurationStateMSFT. | viewConfigurationType(int value)
Sets the specified value to the |
| ELEMENT_FACTORY | back to summary |
|---|---|
| private static final XrSecondaryViewConfigurationStateMSFT ELEMENT_FACTORY | |
| Buffer | back to summary |
|---|---|
| public Buffer(ByteBuffer container) Creates a new Changes to the container's content will be visible to the struct buffer instance and vice versa. The two buffers' position, limit, and mark values
will be independent. The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided
by The created buffer instance holds a strong reference to the container object. | |
| Buffer | back to summary |
|---|---|
| public Buffer(long address, int cap) | |
| Buffer | back to summary |
|---|---|
| pack-priv Buffer(long address, ByteBuffer container, int mark, int pos, int lim, int cap) | |
| active | back to summary |
|---|---|
public boolean active()
| |
| active | back to summary |
|---|---|
| public XrSecondaryViewConfigurationStateMSFT. Sets the specified value to the | |
| getElementFactory | back to summary |
|---|---|
| protected XrSecondaryViewConfigurationStateMSFT getElementFactory() Implements abstract org.
| |
| next | back to summary |
|---|---|
public long next()
| |
| next | back to summary |
|---|---|
| public XrSecondaryViewConfigurationStateMSFT. Sets the specified value to the | |
| self | back to summary |
|---|---|
| protected XrSecondaryViewConfigurationStateMSFT. Implements abstract org.
| |
| type | back to summary |
|---|---|
public int type()
| |
| type | back to summary |
|---|---|
| public XrSecondaryViewConfigurationStateMSFT. Sets the specified value to the | |
| type$Default | back to summary |
|---|---|
| public XrSecondaryViewConfigurationStateMSFT. Sets the | |
| viewConfigurationType | back to summary |
|---|---|
public int viewConfigurationType()
| |
| viewConfigurationType | back to summary |
|---|---|
| public XrSecondaryViewConfigurationStateMSFT. Sets the specified value to the | |