Class XrFrameState
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
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)
typemust beTYPE_FRAME_STATEnextmust beNULLor a valid pointer to the next structure in a structure chain. See also:XrSecondaryViewConfigurationFrameStateMSFT
See Also
Layout
struct XrFrameState {
XrStructureType type();
void * next();
XrTime predictedDisplayTime();
XrDuration predictedDisplayPeriod();
XrBool32 shouldRender();
}-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.lwjgl.system.Struct
org.lwjgl.system.Struct.StructValidationNested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe struct alignment in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct size in bytes.static final intThe struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionXrFrameState(ByteBuffer container) Creates aXrFrameStateinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionstatic XrFrameStatecalloc()Returns a newXrFrameStateinstance allocated withmemCalloc.static XrFrameState.Buffercalloc(int capacity) Returns a newXrFrameState.Bufferinstance allocated withmemCalloc.static XrFrameState.Buffercalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrFrameState.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static XrFrameStatecalloc(org.lwjgl.system.MemoryStack stack) Returns a newXrFrameStateinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static XrFrameStatecreate()Returns a newXrFrameStateinstance allocated withBufferUtils.static XrFrameState.Buffercreate(int capacity) Returns a newXrFrameState.Bufferinstance allocated withBufferUtils.static XrFrameStatecreate(long address) Returns a newXrFrameStateinstance for the specified memory address.static XrFrameState.Buffercreate(long address, int capacity) Create aXrFrameState.Bufferinstance at the specified memory.static @Nullable XrFrameStatecreateSafe(long address) static @Nullable XrFrameState.BuffercreateSafe(long address, int capacity) static XrFrameStatemalloc()Returns a newXrFrameStateinstance allocated withmemAlloc.static XrFrameState.Buffermalloc(int capacity) Returns a newXrFrameState.Bufferinstance allocated withmemAlloc.static XrFrameState.Buffermalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrFrameState.Bufferinstance allocated on the specifiedMemoryStack.static XrFrameStatemalloc(org.lwjgl.system.MemoryStack stack) Returns a newXrFrameStateinstance allocated on the specifiedMemoryStack.longnext()NULLor a pointer to the next structure in a structure chain.next(long value) Sets the specified value to thenext()field.Prepends the specifiedXrSecondaryViewConfigurationFrameStateMSFTvalue to thenextchain.static longnnext(long struct) Unsafe version ofnext().static voidnnext(long struct, long value) Unsafe version ofnext.static longnpredictedDisplayPeriod(long struct) Unsafe version ofpredictedDisplayPeriod().static voidnpredictedDisplayPeriod(long struct, long value) Unsafe version ofpredictedDisplayPeriod.static longnpredictedDisplayTime(long struct) Unsafe version ofpredictedDisplayTime().static voidnpredictedDisplayTime(long struct, long value) Unsafe version ofpredictedDisplayTime.static intnshouldRender(long struct) Unsafe version ofshouldRender().static voidnshouldRender(long struct, int value) Unsafe version ofshouldRender.static intntype(long struct) Unsafe version oftype().static voidntype(long struct, int value) Unsafe version oftype.longtheXrDurationof the display period for the next application-generated frame, for use in predicting display times beyond the next one.predictedDisplayPeriod(long value) Sets the specified value to thepredictedDisplayPeriod()field.longthe anticipated displayXrTimefor the next application-generated frame.predictedDisplayTime(long value) Sets the specified value to thepredictedDisplayTime()field.set(int type, long next, long predictedDisplayTime, long predictedDisplayPeriod, boolean shouldRender) Initializes this struct with the specified values.set(XrFrameState src) Copies the specified struct data to this struct.booleanshouldRender(boolean value) Sets the specified value to theshouldRender()field.intsizeof()inttype()theXrStructureTypeof this structure.type(int value) Sets the specified value to thetype()field.Sets theTYPE_FRAME_STATEvalue to thetype()field.Methods inherited from class org.lwjgl.system.Struct
clear, free, isNull, validate, validateMethods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toStringMethods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
TYPE
public static final int TYPEThe struct member offsets. -
NEXT
public static final int NEXTThe struct member offsets. -
PREDICTEDDISPLAYTIME
public static final int PREDICTEDDISPLAYTIMEThe struct member offsets. -
PREDICTEDDISPLAYPERIOD
public static final int PREDICTEDDISPLAYPERIODThe struct member offsets. -
SHOULDRENDER
public static final int SHOULDRENDERThe struct member offsets.
-
-
Constructor Details
-
XrFrameState
Creates aXrFrameStateinstance at the current position of the specifiedByteBuffercontainer. 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 Details
-
sizeof
public int sizeof()- Specified by:
sizeofin classorg.lwjgl.system.Struct<XrFrameState>
-
type
public int type()theXrStructureTypeof this structure. -
next
public long next()NULLor a pointer to the next structure in a structure chain. No such structures are defined in core OpenXR. -
predictedDisplayTime
public long predictedDisplayTime()the anticipated displayXrTimefor the next application-generated frame. -
predictedDisplayPeriod
public long predictedDisplayPeriod()theXrDurationof the display period for the next application-generated frame, for use in predicting display times beyond the next one. -
shouldRender
public boolean shouldRender() -
type
Sets the specified value to thetype()field. -
type$Default
Sets theTYPE_FRAME_STATEvalue to thetype()field. -
next
Sets the specified value to thenext()field. -
next
Prepends the specifiedXrSecondaryViewConfigurationFrameStateMSFTvalue to thenextchain. -
predictedDisplayTime
Sets the specified value to thepredictedDisplayTime()field. -
predictedDisplayPeriod
Sets the specified value to thepredictedDisplayPeriod()field. -
shouldRender
Sets the specified value to theshouldRender()field. -
set
public XrFrameState set(int type, long next, long predictedDisplayTime, long predictedDisplayPeriod, boolean shouldRender) Initializes this struct with the specified values. -
set
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
Returns a newXrFrameStateinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newXrFrameStateinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newXrFrameStateinstance allocated withBufferUtils. -
create
Returns a newXrFrameStateinstance for the specified memory address. -
createSafe
-
malloc
Returns a newXrFrameState.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newXrFrameState.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newXrFrameState.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aXrFrameState.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
malloc
Returns a newXrFrameStateinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newXrFrameStateinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
Returns a newXrFrameState.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
Returns a newXrFrameState.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
ntype
public static int ntype(long struct) Unsafe version oftype(). -
nnext
public static long nnext(long struct) Unsafe version ofnext(). -
npredictedDisplayTime
public static long npredictedDisplayTime(long struct) Unsafe version ofpredictedDisplayTime(). -
npredictedDisplayPeriod
public static long npredictedDisplayPeriod(long struct) Unsafe version ofpredictedDisplayPeriod(). -
nshouldRender
public static int nshouldRender(long struct) Unsafe version ofshouldRender(). -
ntype
public static void ntype(long struct, int value) Unsafe version oftype. -
nnext
public static void nnext(long struct, long value) Unsafe version ofnext. -
npredictedDisplayTime
public static void npredictedDisplayTime(long struct, long value) Unsafe version ofpredictedDisplayTime. -
npredictedDisplayPeriod
public static void npredictedDisplayPeriod(long struct, long value) Unsafe version ofpredictedDisplayPeriod. -
nshouldRender
public static void nshouldRender(long struct, int value) Unsafe version ofshouldRender.
-