Top Description Inners Fields Constructors Methods
org.lwjgl.vulkan

public Class VkPastPresentationTimingGOOGLE

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

Structure containing timing information about a previously-presented image.
Description

The results for a given swapchain and presentID are only returned once from vkGetPastPresentationTimingGOOGLE.

The application can use the VkPastPresentationTimingGOOGLE values to occasionally adjust its timing. For example, if actualPresentTime is later than expected (e.g. one refreshDuration late), the application may increase its target IPD to a higher multiple of refreshDuration (e.g. decrease its frame rate from 60Hz to 30Hz). If actualPresentTime and earliestPresentTime are consistently different, and if presentMargin is consistently large enough, the application may decrease its target IPD to a smaller multiple of refreshDuration (e.g. increase its frame rate from 30Hz to 60Hz). If actualPresentTime and earliestPresentTime are same, and if presentMargin is consistently high, the application may delay the start of its input-render-present loop in order to decrease the latency between user input and the corresponding present (always leaving some margin in case a new image takes longer to render than the previous image). An application that desires its target IPD to always be the same as refreshDuration, can also adjust features until actualPresentTime is never late and presentMargin is satisfactory.

See Also

GetPastPresentationTimingGOOGLE

Layout


struct VkPastPresentationTimingGOOGLE {
    uint32_t presentID;
    uint64_t desiredPresentTime;
    uint64_t actualPresentTime;
    uint64_t earliestPresentTime;
    uint64_t presentMargin;
}

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class

Field Summary

Modifier and TypeField and Description
public static final int
ACTUALPRESENTTIME

The struct member offsets.

public static final int
ALIGNOF

The struct alignment in bytes.

public static final int
DESIREDPRESENTTIME

The struct member offsets.

public static final int
EARLIESTPRESENTTIME

The struct member offsets.

public static final int
PRESENTID

The struct member offsets.

public static final int
PRESENTMARGIN

The struct member offsets.

public static final int
SIZEOF

The struct size in bytes.

Inherited from org.lwjgl.system.Struct:
containerDEFAULT_ALIGN_ASDEFAULT_PACK_ALIGNMENT

Constructor Summary

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

public
VkPastPresentationTimingGOOGLE(ByteBuffer container)

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

Method Summary

Modifier and TypeMethod and Description
public long
actualPresentTime()

the time when the image of the swapchain was actually displayed.

public static VkPastPresentationTimingGOOGLE
calloc()

Returns a new VkPastPresentationTimingGOOGLE instance allocated with memCalloc.

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

Returns a new VkPastPresentationTimingGOOGLE.Buffer instance allocated with memCalloc.

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

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

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

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

public static VkPastPresentationTimingGOOGLE
callocStack()

Deprecated
Deprecated for removal in 3.4.0.
public static VkPastPresentationTimingGOOGLE
callocStack(MemoryStack stack)

Deprecated
Deprecated for removal in 3.4.0.
public static VkPastPresentationTimingGOOGLE.Buffer
callocStack(int capacity)

Deprecated
Deprecated for removal in 3.4.0.
public static VkPastPresentationTimingGOOGLE.Buffer
callocStack(int capacity, MemoryStack stack)

Deprecated
Deprecated for removal in 3.4.0.
protected VkPastPresentationTimingGOOGLE
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 VkPastPresentationTimingGOOGLE
create()

Returns a new VkPastPresentationTimingGOOGLE instance allocated with BufferUtils.

public static VkPastPresentationTimingGOOGLE
create(long address)

Returns a new VkPastPresentationTimingGOOGLE instance for the specified memory address.

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

Returns a new VkPastPresentationTimingGOOGLE.Buffer instance allocated with BufferUtils.

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

Create a VkPastPresentationTimingGOOGLE.Buffer instance at the specified memory.

public static VkPastPresentationTimingGOOGLE
createSafe(long address)

Like create, but returns null if address is NULL.

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

Like create, but returns null if address is NULL.

public long
desiredPresentTime()

an application-provided value that was given to a previous QueuePresentKHR command via VkPresentTimeGOOGLE::desiredPresentTime.

public long
earliestPresentTime()

the time when the image of the swapchain could have been displayed.

public static VkPastPresentationTimingGOOGLE
malloc()

Returns a new VkPastPresentationTimingGOOGLE instance allocated with memAlloc.

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

Returns a new VkPastPresentationTimingGOOGLE.Buffer instance allocated with memAlloc.

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

Returns a new VkPastPresentationTimingGOOGLE instance allocated on the specified MemoryStack.

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

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

public static VkPastPresentationTimingGOOGLE
mallocStack()

Deprecated
Deprecated for removal in 3.4.0.
public static VkPastPresentationTimingGOOGLE
mallocStack(MemoryStack stack)

Deprecated
Deprecated for removal in 3.4.0.
public static VkPastPresentationTimingGOOGLE.Buffer
mallocStack(int capacity)

Deprecated
Deprecated for removal in 3.4.0.
public static VkPastPresentationTimingGOOGLE.Buffer
mallocStack(int capacity, MemoryStack stack)

Deprecated
Deprecated for removal in 3.4.0.
public static long
nactualPresentTime(long struct)

Unsafe version of actualPresentTime.

public static long
ndesiredPresentTime(long struct)

Unsafe version of desiredPresentTime.

public static long
nearliestPresentTime(long struct)

Unsafe version of earliestPresentTime.

public static int
npresentID(long struct)

Unsafe version of presentID.

public static long
npresentMargin(long struct)

Unsafe version of presentMargin.

public int
presentID()

an application-provided value that was given to a previous vkQueuePresentKHR command via VkPresentTimeGOOGLE::presentID (see below).

public long
presentMargin()

an indication of how early the vkQueuePresentKHR command was processed compared to how soon it needed to be processed, and still be presented at earliestPresentTime.

public int
sizeof()

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

Returns sizeof(struct).
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

ACTUALPRESENTTIMEback to summary
public static final int ACTUALPRESENTTIME

The struct member offsets.

ALIGNOFback to summary
public static final int ALIGNOF

The struct alignment in bytes.

DESIREDPRESENTTIMEback to summary
public static final int DESIREDPRESENTTIME

The struct member offsets.

EARLIESTPRESENTTIMEback to summary
public static final int EARLIESTPRESENTTIME

The struct member offsets.

PRESENTIDback to summary
public static final int PRESENTID

The struct member offsets.

PRESENTMARGINback to summary
public static final int PRESENTMARGIN

The struct member offsets.

SIZEOFback to summary
public static final int SIZEOF

The struct size in bytes.

Constructor Detail

VkPastPresentationTimingGOOGLEback to summary
protected VkPastPresentationTimingGOOGLE(long address, ByteBuffer container)
VkPastPresentationTimingGOOGLEback to summary
public VkPastPresentationTimingGOOGLE(ByteBuffer container)

Creates a VkPastPresentationTimingGOOGLE 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

actualPresentTimeback to summary
public long actualPresentTime()

the time when the image of the swapchain was actually displayed.

Annotations
@NativeType:uint64_t
callocback to summary
public static VkPastPresentationTimingGOOGLE calloc()

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

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

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

Parameters
capacity:int

the buffer capacity

callocback to summary
public static VkPastPresentationTimingGOOGLE calloc(MemoryStack stack)

Returns a new VkPastPresentationTimingGOOGLE 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 VkPastPresentationTimingGOOGLE.Buffer calloc(int capacity, MemoryStack stack)

Returns a new VkPastPresentationTimingGOOGLE.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

callocStackback to summary
public static VkPastPresentationTimingGOOGLE callocStack()

Deprecated

Deprecated for removal in 3.4.0. Use calloc(MemoryStack) instead.

Annotations
@Deprecated
callocStackback to summary
public static VkPastPresentationTimingGOOGLE callocStack(MemoryStack stack)

Deprecated

Deprecated for removal in 3.4.0. Use calloc(MemoryStack) instead.

Annotations
@Deprecated
callocStackback to summary
public static VkPastPresentationTimingGOOGLE.Buffer callocStack(int capacity)

Deprecated

Deprecated for removal in 3.4.0. Use calloc(int, MemoryStack) instead.

Annotations
@Deprecated
callocStackback to summary
public static VkPastPresentationTimingGOOGLE.Buffer callocStack(int capacity, MemoryStack stack)

Deprecated

Deprecated for removal in 3.4.0. Use calloc(int, MemoryStack) instead.

Annotations
@Deprecated
createback to summary
protected VkPastPresentationTimingGOOGLE 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 VkPastPresentationTimingGOOGLE create()

Returns a new VkPastPresentationTimingGOOGLE instance allocated with BufferUtils.

createback to summary
public static VkPastPresentationTimingGOOGLE create(long address)

Returns a new VkPastPresentationTimingGOOGLE instance for the specified memory address.

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

Returns a new VkPastPresentationTimingGOOGLE.Buffer instance allocated with BufferUtils.

Parameters
capacity:int

the buffer capacity

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

Create a VkPastPresentationTimingGOOGLE.Buffer instance at the specified memory.

Parameters
address:long

the memory address

capacity:int

the buffer capacity

createSafeback to summary
public static VkPastPresentationTimingGOOGLE createSafe(long address)

Like create, but returns null if address is NULL.

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

Like create, but returns null if address is NULL.

Annotations
@Nullable
desiredPresentTimeback to summary
public long desiredPresentTime()

an application-provided value that was given to a previous QueuePresentKHR command via VkPresentTimeGOOGLE::desiredPresentTime. If non-zero, it was used by the application to indicate that an image not be presented any sooner than desiredPresentTime.

Annotations
@NativeType:uint64_t
earliestPresentTimeback to summary
public long earliestPresentTime()

the time when the image of the swapchain could have been displayed. This may differ from actualPresentTime if the application requested that the image be presented no sooner than VkPresentTimeGOOGLE::desiredPresentTime.

Annotations
@NativeType:uint64_t
mallocback to summary
public static VkPastPresentationTimingGOOGLE malloc()

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

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

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

Parameters
capacity:int

the buffer capacity

mallocback to summary
public static VkPastPresentationTimingGOOGLE malloc(MemoryStack stack)

Returns a new VkPastPresentationTimingGOOGLE instance allocated on the specified MemoryStack.

Parameters
stack:MemoryStack

the stack from which to allocate

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

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

Parameters
capacity:int

the buffer capacity

stack:MemoryStack

the stack from which to allocate

mallocStackback to summary
public static VkPastPresentationTimingGOOGLE mallocStack()

Deprecated

Deprecated for removal in 3.4.0. Use malloc(MemoryStack) instead.

Annotations
@Deprecated
mallocStackback to summary
public static VkPastPresentationTimingGOOGLE mallocStack(MemoryStack stack)

Deprecated

Deprecated for removal in 3.4.0. Use malloc(MemoryStack) instead.

Annotations
@Deprecated
mallocStackback to summary
public static VkPastPresentationTimingGOOGLE.Buffer mallocStack(int capacity)

Deprecated

Deprecated for removal in 3.4.0. Use malloc(int, MemoryStack) instead.

Annotations
@Deprecated
mallocStackback to summary
public static VkPastPresentationTimingGOOGLE.Buffer mallocStack(int capacity, MemoryStack stack)

Deprecated

Deprecated for removal in 3.4.0. Use malloc(int, MemoryStack) instead.

Annotations
@Deprecated
nactualPresentTimeback to summary
public static long nactualPresentTime(long struct)

Unsafe version of actualPresentTime.

ndesiredPresentTimeback to summary
public static long ndesiredPresentTime(long struct)

Unsafe version of desiredPresentTime.

nearliestPresentTimeback to summary
public static long nearliestPresentTime(long struct)

Unsafe version of earliestPresentTime.

npresentIDback to summary
public static int npresentID(long struct)

Unsafe version of presentID.

npresentMarginback to summary
public static long npresentMargin(long struct)

Unsafe version of presentMargin.

presentIDback to summary
public int presentID()

an application-provided value that was given to a previous vkQueuePresentKHR command via VkPresentTimeGOOGLE::presentID (see below). It can be used to uniquely identify a previous present with the QueuePresentKHR command.

Annotations
@NativeType:uint32_t
presentMarginback to summary
public long presentMargin()

an indication of how early the vkQueuePresentKHR command was processed compared to how soon it needed to be processed, and still be presented at earliestPresentTime.

Annotations
@NativeType:uint64_t
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
org.lwjgl.vulkan back to summary

public Class VkPastPresentationTimingGOOGLE.Buffer

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

An array of VkPastPresentationTimingGOOGLE structs.

Field Summary

Modifier and TypeField and Description
private static final VkPastPresentationTimingGOOGLE

Constructor Summary

AccessConstructor and Description
public
Buffer(ByteBuffer container)

Creates a new VkPastPresentationTimingGOOGLE.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
public long
public long
public long
protected VkPastPresentationTimingGOOGLE
public int

Returns:

the value of the VkPastPresentationTimingGOOGLE#presentID field.
presentID
()

public long
protected VkPastPresentationTimingGOOGLE.Buffer
Inherited from org.lwjgl.system.StructBuffer:
applyapplyforEachgetgetgetgetiteratorparallelStreamputputsizeofspliteratorstream

Field Detail

ELEMENT_FACTORYback to summary
private static final VkPastPresentationTimingGOOGLE ELEMENT_FACTORY

Constructor Detail

Bufferback to summary
public Buffer(ByteBuffer container)

Creates a new VkPastPresentationTimingGOOGLE.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 VkPastPresentationTimingGOOGLE#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

actualPresentTimeback to summary
public long actualPresentTime()
Returns:long

the value of the VkPastPresentationTimingGOOGLE#actualPresentTime field.

Annotations
@NativeType:uint64_t
desiredPresentTimeback to summary
public long desiredPresentTime()
Returns:long

the value of the VkPastPresentationTimingGOOGLE#desiredPresentTime field.

Annotations
@NativeType:uint64_t
earliestPresentTimeback to summary
public long earliestPresentTime()
Returns:long

the value of the VkPastPresentationTimingGOOGLE#earliestPresentTime field.

Annotations
@NativeType:uint64_t
getElementFactoryback to summary
protected VkPastPresentationTimingGOOGLE getElementFactory()

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

Annotations
@Override
presentIDback to summary
public int presentID()
Returns:int

the value of the VkPastPresentationTimingGOOGLE#presentID field.

Annotations
@NativeType:uint32_t
presentMarginback to summary
public long presentMargin()
Returns:long

the value of the VkPastPresentationTimingGOOGLE#presentMargin field.

Annotations
@NativeType:uint64_t
selfback to summary
protected VkPastPresentationTimingGOOGLE.Buffer self()

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

Annotations
@Override