Package org.lwjgl.vulkan
Class VkSubmitInfo
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.vulkan.VkSubmitInfo
-
- All Implemented Interfaces:
- java.lang.AutoCloseable, NativeResource, Pointer
public class VkSubmitInfo extends Struct
Khronos Reference Page
Vulkan SpecificationContains information about a batch of work.
Valid Usage
sType
must beSTRUCTURE_TYPE_SUBMIT_INFO
pNext
must beNULL
- If
waitSemaphoreCount
is not 0,pWaitSemaphores
must be a pointer to an array ofwaitSemaphoreCount
validVkSemaphore
handles - If
waitSemaphoreCount
is not 0,pWaitDstStageMask
must be a pointer to an array ofwaitSemaphoreCount
valid combinations ofVkPipelineStageFlagBits
values - Each element of
pWaitDstStageMask
must not be 0 - If
commandBufferCount
is not 0,pCommandBuffers
must be a pointer to an array ofcommandBufferCount
validVkCommandBuffer
handles - If
signalSemaphoreCount
is not 0,pSignalSemaphores
must be a pointer to an array ofsignalSemaphoreCount
validVkSemaphore
handles - Each of the elements of
pWaitSemaphores
, the elements ofpCommandBuffers
and the elements ofpSignalSemaphores
that are valid handles must have been created, allocated or retrieved from the sameVkDevice
- Any given element of
pSignalSemaphores
must currently be unsignaled - Any given element of
pCommandBuffers
must either have been recorded with theCOMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT
, or not currently be executing on the device - Any given element of
pCommandBuffers
must be in the executable state - If any given element of
pCommandBuffers
contains commands that execute secondary command buffers, those secondary command buffers must have been recorded with theCOMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT
, or not currently be executing on the device - If any given element of
pCommandBuffers
was created withCOMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT
, it must not have been previously submitted without re-recording that command buffer - If any given element of
pCommandBuffers
contains commands that execute secondary command buffers created withCOMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT
, each such secondary command buffer must not have been previously submitted without re-recording that command buffer - Any given element of
pCommandBuffers
must not contain commands that execute a secondary command buffer, if that secondary command buffer has been recorded in another primary command buffer after it was recorded into thisVkCommandBuffer
- Any given element of
pCommandBuffers
must have been created on aVkCommandPool
that was created for the same queue family that the calling command'squeue
belongs to - Any given element of
pCommandBuffers
must not have been created withCOMMAND_BUFFER_LEVEL_SECONDARY
- Any given element of
VkSemaphore
inpWaitSemaphores
must refer to a prior signal of thatVkSemaphore
that won't be consumed by any other wait on that semaphore - If the geometry shaders feature is not enabled, any given element of
pWaitDstStageMask
must not containPIPELINE_STAGE_GEOMETRY_SHADER_BIT
- If the tessellation shaders feature is not enabled, any given element of
pWaitDstStageMask
must not containPIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT
orPIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT
Member documentation
sType
– the type of this structure. Must be:STRUCTURE_TYPE_SUBMIT_INFO
pNext
– reserved for use by extensionswaitSemaphoreCount
– the number of semaphores upon which to wait before executing the command buffers for the batchpWaitSemaphores
– a pointer to an array of semaphores upon which to wait before executing the command buffers in the batchpWaitDstStageMask
– a pointer to an array of pipeline stages at which each corresponding semaphore wait will occurcommandBufferCount
– contains the number of command buffers to execute in the batchpCommandBuffers
– a pointer to an array of command buffers to execute in the batchsignalSemaphoreCount
– the number of semaphores to be signaled once the commands specified inpCommandBuffers
have completed executionpSignalSemaphores
– a pointer to an array of semaphores which will be signaled when the command buffers for this batch have completed execution
Layout
struct VkSubmitInfo { VkStructureType sType; const void * pNext; uint32_t waitSemaphoreCount; const VkSemaphore * pWaitSemaphores; const VkPipelineStageFlags * pWaitDstStageMask; uint32_t commandBufferCount; const VkCommandBuffer * pCommandBuffers; uint32_t signalSemaphoreCount; const VkSemaphore * pSignalSemaphores; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class and Description static class
VkSubmitInfo.Buffer
An array ofVkSubmitInfo
structs.-
Nested classes/interfaces inherited from interface org.lwjgl.system.Pointer
Pointer.Default
-
-
Field Summary
Fields Modifier and Type Field and Description static int
SIZEOF
The struct size in bytes.-
Fields inherited from interface org.lwjgl.system.Pointer
POINTER_SHIFT, POINTER_SIZE
-
-
Constructor Summary
Constructors Constructor and Description VkSubmitInfo(java.nio.ByteBuffer container)
Creates aVkSubmitInfo
instance at the current position of the specifiedByteBuffer
container.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description static VkSubmitInfo
calloc()
Returns a newVkSubmitInfo
instance allocated withmemCalloc
.static VkSubmitInfo.Buffer
calloc(int capacity)
Returns a newVkSubmitInfo.Buffer
instance allocated withmemCalloc
.static VkSubmitInfo
callocStack()
Returns a newVkSubmitInfo
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static VkSubmitInfo.Buffer
callocStack(int capacity)
Returns a newVkSubmitInfo.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static VkSubmitInfo.Buffer
callocStack(int capacity, MemoryStack stack)
Returns a newVkSubmitInfo.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static VkSubmitInfo
callocStack(MemoryStack stack)
Returns a newVkSubmitInfo
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.int
commandBufferCount()
Returns the value of thecommandBufferCount
field.static VkSubmitInfo
create()
Returns a newVkSubmitInfo
instance allocated withBufferUtils
.static VkSubmitInfo.Buffer
create(int capacity)
Returns a newVkSubmitInfo.Buffer
instance allocated withBufferUtils
.static VkSubmitInfo
create(long address)
Returns a newVkSubmitInfo
instance for the specified memory address ornull
if the address isNULL
.static VkSubmitInfo.Buffer
create(long address, int capacity)
Create aVkSubmitInfo.Buffer
instance at the specified memory.static VkSubmitInfo
malloc()
Returns a newVkSubmitInfo
instance allocated withmemAlloc
.static VkSubmitInfo.Buffer
malloc(int capacity)
Returns a newVkSubmitInfo.Buffer
instance allocated withmemAlloc
.static VkSubmitInfo
mallocStack()
Returns a newVkSubmitInfo
instance allocated on the thread-localMemoryStack
.static VkSubmitInfo.Buffer
mallocStack(int capacity)
Returns a newVkSubmitInfo.Buffer
instance allocated on the thread-localMemoryStack
.static VkSubmitInfo.Buffer
mallocStack(int capacity, MemoryStack stack)
Returns a newVkSubmitInfo.Buffer
instance allocated on the specifiedMemoryStack
.static VkSubmitInfo
mallocStack(MemoryStack stack)
Returns a newVkSubmitInfo
instance allocated on the specifiedMemoryStack
.VkSubmitInfo
nset(long struct)
Unsafe version ofset
.PointerBuffer
pCommandBuffers()
Returns aPointerBuffer
view of the data pointed to by thepCommandBuffers
field.VkSubmitInfo
pCommandBuffers(PointerBuffer value)
Sets the address of the specifiedPointerBuffer
to thepCommandBuffers
field.long
pNext()
Returns the value of thepNext
field.VkSubmitInfo
pNext(long value)
Sets the specified value to thepNext
field.java.nio.LongBuffer
pSignalSemaphores()
Returns aLongBuffer
view of the data pointed to by thepSignalSemaphores
field.VkSubmitInfo
pSignalSemaphores(java.nio.LongBuffer value)
Sets the address of the specifiedLongBuffer
to thepSignalSemaphores
field.java.nio.IntBuffer
pWaitDstStageMask()
Returns aIntBuffer
view of the data pointed to by thepWaitDstStageMask
field.VkSubmitInfo
pWaitDstStageMask(java.nio.IntBuffer value)
Sets the address of the specifiedIntBuffer
to thepWaitDstStageMask
field.java.nio.LongBuffer
pWaitSemaphores()
Returns aLongBuffer
view of the data pointed to by thepWaitSemaphores
field.VkSubmitInfo
pWaitSemaphores(java.nio.LongBuffer value)
Sets the address of the specifiedLongBuffer
to thepWaitSemaphores
field.VkSubmitInfo
set(int sType, long pNext, int waitSemaphoreCount, java.nio.LongBuffer pWaitSemaphores, java.nio.IntBuffer pWaitDstStageMask, PointerBuffer pCommandBuffers, java.nio.LongBuffer pSignalSemaphores)
Initializes this struct with the specified values.VkSubmitInfo
set(VkSubmitInfo src)
Copies the specified struct data to this struct.int
signalSemaphoreCount()
Returns the value of thesignalSemaphoreCount
field.int
sizeof()
Returns thesizeof(struct)
.int
sType()
Returns the value of thesType
field.VkSubmitInfo
sType(int value)
Sets the specified value to thesType
field.static void
validate(long struct)
Validates pointer members that should not beNULL
.static void
validate(long array, int count)
CallsVkSubmitInfo.validate(long)
for each struct contained in the specified struct array.int
waitSemaphoreCount()
Returns the value of thewaitSemaphoreCount
field.VkSubmitInfo
waitSemaphoreCount(int value)
Sets the specified value to thewaitSemaphoreCount
field.-
Methods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toString
-
Methods inherited from interface org.lwjgl.system.NativeResource
close
-
-
-
-
Constructor Detail
-
VkSubmitInfo
public VkSubmitInfo(java.nio.ByteBuffer container)
Creates aVkSubmitInfo
instance at the current position of the specifiedByteBuffer
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
-
sizeof
public int sizeof()
Description copied from class:Struct
Returns thesizeof(struct)
.
-
sType
public int sType()
Returns the value of thesType
field.
-
pNext
public long pNext()
Returns the value of thepNext
field.
-
waitSemaphoreCount
public int waitSemaphoreCount()
Returns the value of thewaitSemaphoreCount
field.
-
pWaitSemaphores
public java.nio.LongBuffer pWaitSemaphores()
Returns aLongBuffer
view of the data pointed to by thepWaitSemaphores
field.
-
pWaitDstStageMask
public java.nio.IntBuffer pWaitDstStageMask()
Returns aIntBuffer
view of the data pointed to by thepWaitDstStageMask
field.
-
commandBufferCount
public int commandBufferCount()
Returns the value of thecommandBufferCount
field.
-
pCommandBuffers
public PointerBuffer pCommandBuffers()
Returns aPointerBuffer
view of the data pointed to by thepCommandBuffers
field.
-
signalSemaphoreCount
public int signalSemaphoreCount()
Returns the value of thesignalSemaphoreCount
field.
-
pSignalSemaphores
public java.nio.LongBuffer pSignalSemaphores()
Returns aLongBuffer
view of the data pointed to by thepSignalSemaphores
field.
-
sType
public VkSubmitInfo sType(int value)
Sets the specified value to thesType
field.
-
pNext
public VkSubmitInfo pNext(long value)
Sets the specified value to thepNext
field.
-
waitSemaphoreCount
public VkSubmitInfo waitSemaphoreCount(int value)
Sets the specified value to thewaitSemaphoreCount
field.
-
pWaitSemaphores
public VkSubmitInfo pWaitSemaphores(java.nio.LongBuffer value)
Sets the address of the specifiedLongBuffer
to thepWaitSemaphores
field.
-
pWaitDstStageMask
public VkSubmitInfo pWaitDstStageMask(java.nio.IntBuffer value)
Sets the address of the specifiedIntBuffer
to thepWaitDstStageMask
field.
-
pCommandBuffers
public VkSubmitInfo pCommandBuffers(PointerBuffer value)
Sets the address of the specifiedPointerBuffer
to thepCommandBuffers
field.
-
pSignalSemaphores
public VkSubmitInfo pSignalSemaphores(java.nio.LongBuffer value)
Sets the address of the specifiedLongBuffer
to thepSignalSemaphores
field.
-
set
public VkSubmitInfo set(int sType, long pNext, int waitSemaphoreCount, java.nio.LongBuffer pWaitSemaphores, java.nio.IntBuffer pWaitDstStageMask, PointerBuffer pCommandBuffers, java.nio.LongBuffer pSignalSemaphores)
Initializes this struct with the specified values.
-
nset
public VkSubmitInfo nset(long struct)
Unsafe version ofset
.
-
set
public VkSubmitInfo set(VkSubmitInfo src)
Copies the specified struct data to this struct.- Parameters:
src
- the source struct- Returns:
- this struct
-
malloc
public static VkSubmitInfo malloc()
Returns a newVkSubmitInfo
instance allocated withmemAlloc
. The instance must be explicitly freed.
-
calloc
public static VkSubmitInfo calloc()
Returns a newVkSubmitInfo
instance allocated withmemCalloc
. The instance must be explicitly freed.
-
create
public static VkSubmitInfo create()
Returns a newVkSubmitInfo
instance allocated withBufferUtils
.
-
create
public static VkSubmitInfo create(long address)
Returns a newVkSubmitInfo
instance for the specified memory address ornull
if the address isNULL
.
-
malloc
public static VkSubmitInfo.Buffer malloc(int capacity)
Returns a newVkSubmitInfo.Buffer
instance allocated withmemAlloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
calloc
public static VkSubmitInfo.Buffer calloc(int capacity)
Returns a newVkSubmitInfo.Buffer
instance allocated withmemCalloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
create
public static VkSubmitInfo.Buffer create(int capacity)
Returns a newVkSubmitInfo.Buffer
instance allocated withBufferUtils
.- Parameters:
capacity
- the buffer capacity
-
create
public static VkSubmitInfo.Buffer create(long address, int capacity)
Create aVkSubmitInfo.Buffer
instance at the specified memory.- Parameters:
address
- the memory addresscapacity
- the buffer capacity
-
mallocStack
public static VkSubmitInfo mallocStack()
Returns a newVkSubmitInfo
instance allocated on the thread-localMemoryStack
.
-
callocStack
public static VkSubmitInfo callocStack()
Returns a newVkSubmitInfo
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.
-
mallocStack
public static VkSubmitInfo mallocStack(MemoryStack stack)
Returns a newVkSubmitInfo
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocate
-
callocStack
public static VkSubmitInfo callocStack(MemoryStack stack)
Returns a newVkSubmitInfo
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocate
-
mallocStack
public static VkSubmitInfo.Buffer mallocStack(int capacity)
Returns a newVkSubmitInfo.Buffer
instance allocated on the thread-localMemoryStack
.- Parameters:
capacity
- the buffer capacity
-
callocStack
public static VkSubmitInfo.Buffer callocStack(int capacity)
Returns a newVkSubmitInfo.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.- Parameters:
capacity
- the buffer capacity
-
mallocStack
public static VkSubmitInfo.Buffer mallocStack(int capacity, MemoryStack stack)
Returns a newVkSubmitInfo.Buffer
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocatecapacity
- the buffer capacity
-
callocStack
public static VkSubmitInfo.Buffer callocStack(int capacity, MemoryStack stack)
Returns a newVkSubmitInfo.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocatecapacity
- the buffer capacity
-
validate
public static void validate(long struct)
Validates pointer members that should not beNULL
.- Parameters:
struct
- the struct to validate
-
validate
public static void validate(long array, int count)
CallsVkSubmitInfo.validate(long)
for each struct contained in the specified struct array.- Parameters:
array
- the struct array to validatecount
- the number of structs inarray
-
-