Top Description Inners Fields Constructors Methods
org.lwjgl.openxr

public Class XrFrameState

extends Struct<XrFrameState>
implements NativeResource
Class Inheritance
All Implemented Interfaces
org.lwjgl.system.NativeResource, java.lang.AutoCloseable
Imports
javax.annotation.*, java.nio.*, org.lwjgl.*, org.lwjgl.system.*

Frame prediction structure.
Description

XrFrameState describes the time at which the next frame will be displayed to the user. predictedDisplayTime must refer to the midpoint of the interval during which the frame is displayed. The runtime may report a different predictedDisplayPeriod from the hardware’s refresh cycle.

For any frame where shouldRender is FALSE, the application should avoid heavy GPU work for that frame, for example by not rendering its layers. This typically happens when the application is transitioning into or out of a running session, or when some system UI is fully covering the application at the moment. As long as the session is running, the application should keep running the frame loop to maintain the frame synchronization to the runtime, even if this requires calling EndFrame with all layers omitted.

Valid Usage (Implicit)
See Also

XrFrameWaitInfo, WaitFrame

Layout


struct XrFrameState {
    XrStructureType type;
    void * next;
    XrTime predictedDisplayTime;
    XrDuration predictedDisplayPeriod;
    XrBool32 shouldRender;
}

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class
XrFrameState.Buffer

An array of XrFrameState structs.

Field Summary

Modifier and TypeField and Description
public static final int
ALIGNOF

The struct alignment in bytes.

public static final int
NEXT

The struct member offsets.

public static final int
PREDICTEDDISPLAYPERIOD

The struct member offsets.

public static final int
PREDICTEDDISPLAYTIME

The struct member offsets.

public static final int
SHOULDRENDER

The struct member offsets.

public static final int
SIZEOF

The struct size in bytes.

public static final int
TYPE

The struct member offsets.

Inherited from org.lwjgl.system.Struct:
containerDEFAULT_ALIGN_ASDEFAULT_PACK_ALIGNMENT

Constructor Summary

AccessConstructor and Description
protected
XrFrameState(long address, ByteBuffer container)

public
XrFrameState(ByteBuffer container)

Creates a XrFrameState instance at the current position of the specified ByteBuffer container.

Method Summary

Modifier and TypeMethod and Description
public static XrFrameState
calloc()

Returns a new XrFrameState instance allocated with memCalloc.

public static XrFrameState.Buffer
calloc(int
the buffer capacity
capacity
)

Returns a new XrFrameState.Buffer instance allocated with memCalloc.

public static XrFrameState
calloc(MemoryStack
the stack from which to allocate
stack
)

Returns a new XrFrameState instance allocated on the specified MemoryStack and initializes all its bits to zero.

public static XrFrameState.Buffer
calloc(int
the buffer capacity
capacity
,
MemoryStack
the stack from which to allocate
stack
)

Returns a new XrFrameState.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.

protected XrFrameState
create(long
the struct memory address
address
,
ByteBuffer
an optional container buffer, to be referenced strongly by the struct instance.
container
)

Implements abstract org.lwjgl.system.Struct.create.

Similar to the constructor, but returns the exact type of the Struct subclass.
public static XrFrameState
create()

Returns a new XrFrameState instance allocated with BufferUtils.

public static XrFrameState
create(long address)

Returns a new XrFrameState instance for the specified memory address.

public static XrFrameState.Buffer
create(int
the buffer capacity
capacity
)

Returns a new XrFrameState.Buffer instance allocated with BufferUtils.

public static XrFrameState.Buffer
create(long
the memory address
address
,
int
the buffer capacity
capacity
)

Create a XrFrameState.Buffer instance at the specified memory.

public static XrFrameState
createSafe(long address)

Like create, but returns null if address is NULL.

public static XrFrameState.Buffer
createSafe(long address, int capacity)

Like create, but returns null if address is NULL.

public static XrFrameState
malloc()

Returns a new XrFrameState instance allocated with memAlloc.

public static XrFrameState.Buffer
malloc(int
the buffer capacity
capacity
)

Returns a new XrFrameState.Buffer instance allocated with memAlloc.

public static XrFrameState
malloc(MemoryStack
the stack from which to allocate
stack
)

Returns a new XrFrameState instance allocated on the specified MemoryStack.

public static XrFrameState.Buffer
malloc(int
the buffer capacity
capacity
,
MemoryStack
the stack from which to allocate
stack
)

Returns a new XrFrameState.Buffer instance allocated on the specified MemoryStack.

public long
next()

NULL or a pointer to the next structure in a structure chain.

public XrFrameState
next(long value)

Sets the specified value to the next field.

public XrFrameState
public static long
nnext(long struct)

Unsafe version of next.

public static void
nnext(long struct, long value)

Unsafe version of next.

public static long
npredictedDisplayPeriod(long struct)

Unsafe version of predictedDisplayPeriod.

public static void
npredictedDisplayPeriod(long struct, long value)

Unsafe version of predictedDisplayPeriod.

public static long
npredictedDisplayTime(long struct)

Unsafe version of predictedDisplayTime.

public static void
npredictedDisplayTime(long struct, long value)

Unsafe version of predictedDisplayTime.

public static int
nshouldRender(long struct)

Unsafe version of shouldRender.

public static void
nshouldRender(long struct, int value)

Unsafe version of shouldRender.

public static int
ntype(long struct)

Unsafe version of type.

public static void
ntype(long struct, int value)

Unsafe version of type.

public long
predictedDisplayPeriod()

the XrDuration of the display period for the next application-generated frame, for use in predicting display times beyond the next one.

public XrFrameState
predictedDisplayPeriod(long value)

Sets the specified value to the predictedDisplayPeriod field.

public long
predictedDisplayTime()

the anticipated display XrTime for the next application-generated frame.

public XrFrameState
predictedDisplayTime(long value)

Sets the specified value to the predictedDisplayTime field.

public XrFrameState
set(int type, long next, long predictedDisplayTime, long predictedDisplayPeriod, boolean shouldRender)

Initializes this struct with the specified values.

public XrFrameState

Returns:

this struct
set
(XrFrameState
the source struct
src
)

Copies the specified struct data to this struct.

public boolean
shouldRender()

TRUE if the application should render its layers as normal and submit them to EndFrame.

public XrFrameState
shouldRender(boolean value)

Sets the specified value to the shouldRender field.

public int
sizeof()

Implements abstract org.lwjgl.system.Struct.sizeof.

Returns sizeof(struct).
public int
type()

the XrStructureType of this structure.

public XrFrameState
type(int value)

Sets the specified value to the type field.

public XrFrameState
type$Default()

Sets the TYPE_FRAME_STATE value to the type field.

Inherited from org.lwjgl.system.Struct:
__array__array__array__checkContainer__checkMalloc__create__getContainer__getContainer__member__member__member__padding__padding__struct__struct__union__unionclearfreeisNullvalidate

Field Detail

ALIGNOFback to summary
public static final int ALIGNOF

The struct alignment in bytes.

NEXTback to summary
public static final int NEXT

The struct member offsets.

PREDICTEDDISPLAYPERIODback to summary
public static final int PREDICTEDDISPLAYPERIOD

The struct member offsets.

PREDICTEDDISPLAYTIMEback to summary
public static final int PREDICTEDDISPLAYTIME

The struct member offsets.

SHOULDRENDERback to summary
public static final int SHOULDRENDER

The struct member offsets.

SIZEOFback to summary
public static final int SIZEOF

The struct size in bytes.

TYPEback to summary
public static final int TYPE

The struct member offsets.

Constructor Detail

XrFrameStateback to summary
protected XrFrameState(long address, ByteBuffer container)
XrFrameStateback to summary
public XrFrameState(ByteBuffer container)

Creates a XrFrameState instance at the current position of the specified ByteBuffer container. Changes to the buffer's content will be visible to the struct instance and vice versa.

The created instance holds a strong reference to the container object.

Method Detail

callocback to summary
public static XrFrameState calloc()

Returns a new XrFrameState instance allocated with memCalloc. The instance must be explicitly freed.

callocback to summary
public static XrFrameState.Buffer calloc(int capacity)

Returns a new XrFrameState.Buffer instance allocated with memCalloc. The instance must be explicitly freed.

Parameters
capacity:int

the buffer capacity

callocback to summary
public static XrFrameState calloc(MemoryStack stack)

Returns a new XrFrameState instance allocated on the specified MemoryStack and initializes all its bits to zero.

Parameters
stack:MemoryStack

the stack from which to allocate

callocback to summary
public static XrFrameState.Buffer calloc(int capacity, MemoryStack stack)

Returns a new XrFrameState.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.

Parameters
capacity:int

the buffer capacity

stack:MemoryStack

the stack from which to allocate

createback to summary
protected XrFrameState create(long address, ByteBuffer container)

Implements abstract org.lwjgl.system.Struct.create.

Doc from org.lwjgl.system.Struct.create.

Similar to the constructor, but returns the exact type of the Struct subclass.

Effectively, every Struct instance is a factory for more instances of the same type. This is used by StructBuffer.

Parameters
address:long

the struct memory address

container:ByteBuffer

an optional container buffer, to be referenced strongly by the struct instance.

Annotations
@Override
createback to summary
public static XrFrameState create()

Returns a new XrFrameState instance allocated with BufferUtils.

createback to summary
public static XrFrameState create(long address)

Returns a new XrFrameState instance for the specified memory address.

createback to summary
public static XrFrameState.Buffer create(int capacity)

Returns a new XrFrameState.Buffer instance allocated with BufferUtils.

Parameters
capacity:int

the buffer capacity

createback to summary
public static XrFrameState.Buffer create(long address, int capacity)

Create a XrFrameState.Buffer instance at the specified memory.

Parameters
address:long

the memory address

capacity:int

the buffer capacity

createSafeback to summary
public static XrFrameState createSafe(long address)

Like create, but returns null if address is NULL.

Annotations
@Nullable
createSafeback to summary
public static XrFrameState.Buffer createSafe(long address, int capacity)

Like create, but returns null if address is NULL.

Annotations
@Nullable
mallocback to summary
public static XrFrameState malloc()

Returns a new XrFrameState instance allocated with memAlloc. The instance must be explicitly freed.

mallocback to summary
public static XrFrameState.Buffer malloc(int capacity)

Returns a new XrFrameState.Buffer instance allocated with memAlloc. The instance must be explicitly freed.

Parameters
capacity:int

the buffer capacity

mallocback to summary
public static XrFrameState malloc(MemoryStack stack)

Returns a new XrFrameState instance allocated on the specified MemoryStack.

Parameters
stack:MemoryStack

the stack from which to allocate

mallocback to summary
public static XrFrameState.Buffer malloc(int capacity, MemoryStack stack)

Returns a new XrFrameState.Buffer instance allocated on the specified MemoryStack.

Parameters
capacity:int

the buffer capacity

stack:MemoryStack

the stack from which to allocate

nextback to summary
public long next()

NULL or a pointer to the next structure in a structure chain. No such structures are defined in core OpenXR.

Annotations
@NativeType:void *
nextback to summary
public XrFrameState next(long value)

Sets the specified value to the next field.

nextback to summary
public XrFrameState next(XrSecondaryViewConfigurationFrameStateMSFT value)

Prepends the specified XrSecondaryViewConfigurationFrameStateMSFT value to the next chain.

nnextback to summary
public static long nnext(long struct)

Unsafe version of next.

nnextback to summary
public static void nnext(long struct, long value)

Unsafe version of next.

npredictedDisplayPeriodback to summary
public static long npredictedDisplayPeriod(long struct)

Unsafe version of predictedDisplayPeriod.

npredictedDisplayPeriodback to summary
public static void npredictedDisplayPeriod(long struct, long value)

Unsafe version of predictedDisplayPeriod.

npredictedDisplayTimeback to summary
public static long npredictedDisplayTime(long struct)

Unsafe version of predictedDisplayTime.

npredictedDisplayTimeback to summary
public static void npredictedDisplayTime(long struct, long value)

Unsafe version of predictedDisplayTime.

nshouldRenderback to summary
public static int nshouldRender(long struct)

Unsafe version of shouldRender.

nshouldRenderback to summary
public static void nshouldRender(long struct, int value)

Unsafe version of shouldRender.

ntypeback to summary
public static int ntype(long struct)

Unsafe version of type.

ntypeback to summary
public static void ntype(long struct, int value)

Unsafe version of type.

predictedDisplayPeriodback to summary
public long predictedDisplayPeriod()

the XrDuration of the display period for the next application-generated frame, for use in predicting display times beyond the next one.

Annotations
@NativeType:XrDuration
predictedDisplayPeriodback to summary
public XrFrameState predictedDisplayPeriod(long value)

Sets the specified value to the predictedDisplayPeriod field.

predictedDisplayTimeback to summary
public long predictedDisplayTime()

the anticipated display XrTime for the next application-generated frame.

Annotations
@NativeType:XrTime
predictedDisplayTimeback to summary
public XrFrameState predictedDisplayTime(long value)

Sets the specified value to the predictedDisplayTime field.

setback to summary
public XrFrameState set(int type, long next, long predictedDisplayTime, long predictedDisplayPeriod, boolean shouldRender)

Initializes this struct with the specified values.

setback to summary
public XrFrameState set(XrFrameState src)

Copies the specified struct data to this struct.

Parameters
src:XrFrameState

the source struct

Returns:XrFrameState

this struct

shouldRenderback to summary
public boolean shouldRender()

TRUE if the application should render its layers as normal and submit them to EndFrame. When this value is FALSE, the application should avoid heavy GPU work where possible, for example by skipping layer rendering and then omitting those layers when calling EndFrame.

Annotations
@NativeType:XrBool32
shouldRenderback to summary
public XrFrameState shouldRender(boolean value)

Sets the specified value to the shouldRender field.

sizeofback to summary
public int sizeof()

Implements abstract org.lwjgl.system.Struct.sizeof.

Doc from org.lwjgl.system.Struct.sizeof.

Returns sizeof(struct).

Annotations
@Override
typeback to summary
public int type()

the XrStructureType of this structure.

Annotations
@NativeType:XrStructureType
typeback to summary
public XrFrameState type(int value)

Sets the specified value to the type field.

type$Defaultback to summary
public XrFrameState type$Default()

Sets the TYPE_FRAME_STATE value to the type field.

org.lwjgl.openxr back to summary

public Class XrFrameState.Buffer

extends StructBuffer<XrFrameState, XrFrameState.Buffer>
implements NativeResource
Class Inheritance
All Implemented Interfaces
org.lwjgl.system.NativeResource, java.lang.AutoCloseable

An array of XrFrameState structs.

Field Summary

Modifier and TypeField and Description
private static final XrFrameState

Constructor Summary

AccessConstructor and Description
public
Buffer(ByteBuffer container)

Creates a new XrFrameState.Buffer instance backed by the specified container.

public
Buffer(long address, int cap)

pack-priv
Buffer(long address, ByteBuffer container, int mark, int pos, int lim, int cap)

Method Summary

Modifier and TypeMethod and Description
protected XrFrameState
public long

Returns:

the value of the XrFrameState#next field.
next
()

public XrFrameState.Buffer
next(long value)

Sets the specified value to the XrFrameState#next field.

public XrFrameState.Buffer
public long
public XrFrameState.Buffer
predictedDisplayPeriod(long value)

Sets the specified value to the XrFrameState#predictedDisplayPeriod field.

public long

Returns:

the value of the XrFrameState#predictedDisplayTime field.
predictedDisplayTime
()

public XrFrameState.Buffer
predictedDisplayTime(long value)

Sets the specified value to the XrFrameState#predictedDisplayTime field.

protected XrFrameState.Buffer
public boolean

Returns:

the value of the XrFrameState#shouldRender field.
shouldRender
()

public XrFrameState.Buffer
shouldRender(boolean value)

Sets the specified value to the XrFrameState#shouldRender field.

public int

Returns:

the value of the XrFrameState#type field.
type
()

public XrFrameState.Buffer
type(int value)

Sets the specified value to the XrFrameState#type field.

public XrFrameState.Buffer
type$Default()

Sets the TYPE_FRAME_STATE value to the XrFrameState#type field.

Inherited from org.lwjgl.system.StructBuffer:
applyapplyforEachgetgetgetgetiteratorparallelStreamputputsizeofspliteratorstream

Field Detail

ELEMENT_FACTORYback to summary
private static final XrFrameState ELEMENT_FACTORY

Constructor Detail

Bufferback to summary
public Buffer(ByteBuffer container)

Creates a new XrFrameState.Buffer instance backed by the specified container.

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 XrFrameState#SIZEOF, and its mark will be undefined.

The created buffer instance holds a strong reference to the container object.

Bufferback to summary
public Buffer(long address, int cap)
Bufferback to summary
pack-priv Buffer(long address, ByteBuffer container, int mark, int pos, int lim, int cap)

Method Detail

getElementFactoryback to summary
protected XrFrameState getElementFactory()

Implements abstract org.lwjgl.system.StructBuffer.getElementFactory.

Annotations
@Override
nextback to summary
public long next()
Returns:long

the value of the XrFrameState#next field.

Annotations
@NativeType:void *
nextback to summary
public XrFrameState.Buffer next(long value)

Sets the specified value to the XrFrameState#next field.

nextback to summary
public XrFrameState.Buffer next(XrSecondaryViewConfigurationFrameStateMSFT value)

Prepends the specified XrSecondaryViewConfigurationFrameStateMSFT value to the next chain.

predictedDisplayPeriodback to summary
public long predictedDisplayPeriod()
Returns:long

the value of the XrFrameState#predictedDisplayPeriod field.

Annotations
@NativeType:XrDuration
predictedDisplayPeriodback to summary
public XrFrameState.Buffer predictedDisplayPeriod(long value)

Sets the specified value to the XrFrameState#predictedDisplayPeriod field.

predictedDisplayTimeback to summary
public long predictedDisplayTime()
Returns:long

the value of the XrFrameState#predictedDisplayTime field.

Annotations
@NativeType:XrTime
predictedDisplayTimeback to summary
public XrFrameState.Buffer predictedDisplayTime(long value)

Sets the specified value to the XrFrameState#predictedDisplayTime field.

selfback to summary
protected XrFrameState.Buffer self()

Implements abstract org.lwjgl.system.CustomBuffer.self.

Annotations
@Override
shouldRenderback to summary
public boolean shouldRender()
Returns:boolean

the value of the XrFrameState#shouldRender field.

Annotations
@NativeType:XrBool32
shouldRenderback to summary
public XrFrameState.Buffer shouldRender(boolean value)

Sets the specified value to the XrFrameState#shouldRender field.

typeback to summary
public int type()
Returns:int

the value of the XrFrameState#type field.

Annotations
@NativeType:XrStructureType
typeback to summary
public XrFrameState.Buffer type(int value)

Sets the specified value to the XrFrameState#type field.

type$Defaultback to summary
public XrFrameState.Buffer type$Default()

Sets the TYPE_FRAME_STATE value to the XrFrameState#type field.