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,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class VkSubmitInfo extends org.lwjgl.system.Struct implements org.lwjgl.system.NativeResourceStructure specifying a queue submit operation.Description
The order that command buffers appear in
pCommandBuffersis used to determine submission order, and thus all the implicit ordering guarantees that respect it. Other than these implicit ordering guarantees and any explicit synchronization primitives, these command buffers may overlap or otherwise execute out of order.Valid Usage
- Each element of
pCommandBuffersmust not have been allocated withCOMMAND_BUFFER_LEVEL_SECONDARY - If the geometry shaders feature is not enabled, each element of
pWaitDstStageMaskmust not containPIPELINE_STAGE_GEOMETRY_SHADER_BIT - If the tessellation shaders feature is not enabled, each element of
pWaitDstStageMaskmust not containPIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BITorPIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT - Each element of
pWaitDstStageMaskmust not includePIPELINE_STAGE_HOST_BIT. - If the mesh shaders feature is not enabled, each element of
pWaitDstStageMaskmust not containPIPELINE_STAGE_MESH_SHADER_BIT_NV - If the task shaders feature is not enabled, each element of
pWaitDstStageMaskmust not containPIPELINE_STAGE_TASK_SHADER_BIT_NV
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_SUBMIT_INFO- Each
pNextmember of any structure (including this one) in thepNextchain must be eitherNULLor a pointer to a valid instance ofVkD3D12FenceSubmitInfoKHR,VkDeviceGroupSubmitInfo,VkProtectedSubmitInfo,VkWin32KeyedMutexAcquireReleaseInfoKHR, orVkWin32KeyedMutexAcquireReleaseInfoNV - Each
sTypemember in thepNextchain must be unique - If
waitSemaphoreCountis not 0,pWaitSemaphoresmust be a valid pointer to an array ofwaitSemaphoreCountvalidVkSemaphorehandles - If
waitSemaphoreCountis not 0,pWaitDstStageMaskmust be a valid pointer to an array ofwaitSemaphoreCountvalid combinations ofVkPipelineStageFlagBitsvalues - Each element of
pWaitDstStageMaskmust not be 0 - If
commandBufferCountis not 0,pCommandBuffersmust be a valid pointer to an array ofcommandBufferCountvalidVkCommandBufferhandles - If
signalSemaphoreCountis not 0,pSignalSemaphoresmust be a valid pointer to an array ofsignalSemaphoreCountvalidVkSemaphorehandles - Each of the elements of
pCommandBuffers, the elements ofpSignalSemaphores, and the elements ofpWaitSemaphoresthat are valid handles must have been created, allocated, or retrieved from the sameVkDevice
See Also
Member documentation
sType– the type of this structure.pNext–NULLor a pointer to an extension-specific structure.waitSemaphoreCount– the number of semaphores upon which to wait before executing the command buffers for the batch.pWaitSemaphores– a pointer to an array of semaphores upon which to wait before the command buffers for this batch begin execution. If semaphores to wait on are provided, they define a semaphore wait operation.pWaitDstStageMask– a pointer to an array of pipeline stages at which each corresponding semaphore wait will occur.commandBufferCount– the number of command buffers to execute in the batch.pCommandBuffers– a pointer to an array of command buffers to execute in the batch.signalSemaphoreCount– the number of semaphores to be signaled once the commands specified inpCommandBuffershave completed execution.pSignalSemaphores– a pointer to an array of semaphores which will be signaled when the command buffers for this batch have completed execution. If semaphores to be signaled are provided, they define a semaphore signal operation.
Layout
struct VkSubmitInfo { VkStructureType sType; void const * pNext; uint32_t waitSemaphoreCount; VkSemaphore const * pWaitSemaphores; VkPipelineStageFlags const * pWaitDstStageMask; uint32_t commandBufferCount; VkCommandBuffer const * pCommandBuffers; uint32_t signalSemaphoreCount; VkSemaphore const * pSignalSemaphores; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classVkSubmitInfo.BufferAn array ofVkSubmitInfostructs.
-
Field Summary
Fields Modifier and Type Field Description static intALIGNOFThe struct alignment in bytes.static intCOMMANDBUFFERCOUNT
PCOMMANDBUFFERS
PNEXT
PSIGNALSEMAPHORES
PWAITDSTSTAGEMASK
PWAITSEMAPHORES
SIGNALSEMAPHORECOUNTThe struct member offsets.static intSIZEOFThe struct size in bytes.static intSTYPE
WAITSEMAPHORECOUNTThe struct member offsets.
-
Constructor Summary
Constructors Constructor Description VkSubmitInfo(java.nio.ByteBuffer container)Creates aVkSubmitInfoinstance at the current position of the specifiedByteBuffercontainer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static VkSubmitInfocalloc()Returns a newVkSubmitInfoinstance allocated withmemCalloc.static VkSubmitInfo.Buffercalloc(int capacity)Returns a newVkSubmitInfo.Bufferinstance allocated withmemCalloc.static VkSubmitInfocallocStack()Returns a newVkSubmitInfoinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkSubmitInfo.BuffercallocStack(int capacity)Returns a newVkSubmitInfo.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkSubmitInfo.BuffercallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkSubmitInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkSubmitInfocallocStack(org.lwjgl.system.MemoryStack stack)Returns a newVkSubmitInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.intcommandBufferCount()Returns the value of thecommandBufferCountfield.static VkSubmitInfocreate()Returns a newVkSubmitInfoinstance allocated withBufferUtils.static VkSubmitInfo.Buffercreate(int capacity)Returns a newVkSubmitInfo.Bufferinstance allocated withBufferUtils.static VkSubmitInfocreate(long address)Returns a newVkSubmitInfoinstance for the specified memory address.static VkSubmitInfo.Buffercreate(long address, int capacity)Create aVkSubmitInfo.Bufferinstance at the specified memory.static VkSubmitInfocreateSafe(long address)static VkSubmitInfo.BuffercreateSafe(long address, int capacity)static VkSubmitInfomalloc()Returns a newVkSubmitInfoinstance allocated withmemAlloc.static VkSubmitInfo.Buffermalloc(int capacity)Returns a newVkSubmitInfo.Bufferinstance allocated withmemAlloc.static VkSubmitInfomallocStack()Returns a newVkSubmitInfoinstance allocated on the thread-localMemoryStack.static VkSubmitInfo.BuffermallocStack(int capacity)Returns a newVkSubmitInfo.Bufferinstance allocated on the thread-localMemoryStack.static VkSubmitInfo.BuffermallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkSubmitInfo.Bufferinstance allocated on the specifiedMemoryStack.static VkSubmitInfomallocStack(org.lwjgl.system.MemoryStack stack)Returns a newVkSubmitInfoinstance allocated on the specifiedMemoryStack.static intncommandBufferCount(long struct)Unsafe version ofcommandBufferCount().static voidncommandBufferCount(long struct, int value)Sets the specified value to thecommandBufferCountfield of the specifiedstruct.static org.lwjgl.PointerBuffernpCommandBuffers(long struct)Unsafe version ofpCommandBuffers.static voidnpCommandBuffers(long struct, org.lwjgl.PointerBuffer value)Unsafe version ofpCommandBuffers.static longnpNext(long struct)Unsafe version ofpNext().static voidnpNext(long struct, long value)Unsafe version ofpNext.static java.nio.LongBuffernpSignalSemaphores(long struct)Unsafe version ofpSignalSemaphores.static voidnpSignalSemaphores(long struct, java.nio.LongBuffer value)Unsafe version ofpSignalSemaphores.static java.nio.IntBuffernpWaitDstStageMask(long struct)Unsafe version ofpWaitDstStageMask.static voidnpWaitDstStageMask(long struct, java.nio.IntBuffer value)Unsafe version ofpWaitDstStageMask.static java.nio.LongBuffernpWaitSemaphores(long struct)Unsafe version ofpWaitSemaphores.static voidnpWaitSemaphores(long struct, java.nio.LongBuffer value)Unsafe version ofpWaitSemaphores.static intnsignalSemaphoreCount(long struct)Unsafe version ofsignalSemaphoreCount().static voidnsignalSemaphoreCount(long struct, int value)Sets the specified value to thesignalSemaphoreCountfield of the specifiedstruct.static intnsType(long struct)Unsafe version ofsType().static voidnsType(long struct, int value)Unsafe version ofsType.static intnwaitSemaphoreCount(long struct)Unsafe version ofwaitSemaphoreCount().static voidnwaitSemaphoreCount(long struct, int value)Sets the specified value to thewaitSemaphoreCountfield of the specifiedstruct.org.lwjgl.PointerBufferpCommandBuffers()Returns aPointerBufferview of the data pointed to by thepCommandBuffersfield.VkSubmitInfopCommandBuffers(org.lwjgl.PointerBuffer value)Sets the address of the specifiedPointerBufferto thepCommandBuffersfield.longpNext()Returns the value of thepNextfield.VkSubmitInfopNext(long value)Sets the specified value to thepNextfield.java.nio.LongBufferpSignalSemaphores()Returns aLongBufferview of the data pointed to by thepSignalSemaphoresfield.VkSubmitInfopSignalSemaphores(java.nio.LongBuffer value)Sets the address of the specifiedLongBufferto thepSignalSemaphoresfield.java.nio.IntBufferpWaitDstStageMask()Returns aIntBufferview of the data pointed to by thepWaitDstStageMaskfield.VkSubmitInfopWaitDstStageMask(java.nio.IntBuffer value)Sets the address of the specifiedIntBufferto thepWaitDstStageMaskfield.java.nio.LongBufferpWaitSemaphores()Returns aLongBufferview of the data pointed to by thepWaitSemaphoresfield.VkSubmitInfopWaitSemaphores(java.nio.LongBuffer value)Sets the address of the specifiedLongBufferto thepWaitSemaphoresfield.VkSubmitInfoset(int sType, long pNext, int waitSemaphoreCount, java.nio.LongBuffer pWaitSemaphores, java.nio.IntBuffer pWaitDstStageMask, org.lwjgl.PointerBuffer pCommandBuffers, java.nio.LongBuffer pSignalSemaphores)Initializes this struct with the specified values.VkSubmitInfoset(VkSubmitInfo src)Copies the specified struct data to this struct.intsignalSemaphoreCount()Returns the value of thesignalSemaphoreCountfield.intsizeof()intsType()Returns the value of thesTypefield.VkSubmitInfosType(int value)Sets the specified value to thesTypefield.static voidvalidate(long struct)Validates pointer members that should not beNULL.static voidvalidate(long array, int count)Callsvalidate(long)for each struct contained in the specified struct array.intwaitSemaphoreCount()Returns the value of thewaitSemaphoreCountfield.VkSubmitInfowaitSemaphoreCount(int value)Sets the specified value to thewaitSemaphoreCountfield.
-
-
-
Constructor Detail
-
VkSubmitInfo
public VkSubmitInfo(java.nio.ByteBuffer container)
Creates aVkSubmitInfoinstance 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 Detail
-
sizeof
public int sizeof()
- Specified by:
sizeofin classorg.lwjgl.system.Struct
-
sType
public int sType()
Returns the value of thesTypefield.
-
pNext
public long pNext()
Returns the value of thepNextfield.
-
waitSemaphoreCount
public int waitSemaphoreCount()
Returns the value of thewaitSemaphoreCountfield.
-
pWaitSemaphores
@Nullable public java.nio.LongBuffer pWaitSemaphores()
Returns aLongBufferview of the data pointed to by thepWaitSemaphoresfield.
-
pWaitDstStageMask
@Nullable public java.nio.IntBuffer pWaitDstStageMask()
Returns aIntBufferview of the data pointed to by thepWaitDstStageMaskfield.
-
commandBufferCount
public int commandBufferCount()
Returns the value of thecommandBufferCountfield.
-
pCommandBuffers
@Nullable public org.lwjgl.PointerBuffer pCommandBuffers()
Returns aPointerBufferview of the data pointed to by thepCommandBuffersfield.
-
signalSemaphoreCount
public int signalSemaphoreCount()
Returns the value of thesignalSemaphoreCountfield.
-
pSignalSemaphores
@Nullable public java.nio.LongBuffer pSignalSemaphores()
Returns aLongBufferview of the data pointed to by thepSignalSemaphoresfield.
-
sType
public VkSubmitInfo sType(int value)
Sets the specified value to thesTypefield.
-
pNext
public VkSubmitInfo pNext(long value)
Sets the specified value to thepNextfield.
-
waitSemaphoreCount
public VkSubmitInfo waitSemaphoreCount(int value)
Sets the specified value to thewaitSemaphoreCountfield.
-
pWaitSemaphores
public VkSubmitInfo pWaitSemaphores(@Nullable java.nio.LongBuffer value)
Sets the address of the specifiedLongBufferto thepWaitSemaphoresfield.
-
pWaitDstStageMask
public VkSubmitInfo pWaitDstStageMask(@Nullable java.nio.IntBuffer value)
Sets the address of the specifiedIntBufferto thepWaitDstStageMaskfield.
-
pCommandBuffers
public VkSubmitInfo pCommandBuffers(@Nullable org.lwjgl.PointerBuffer value)
Sets the address of the specifiedPointerBufferto thepCommandBuffersfield.
-
pSignalSemaphores
public VkSubmitInfo pSignalSemaphores(@Nullable java.nio.LongBuffer value)
Sets the address of the specifiedLongBufferto thepSignalSemaphoresfield.
-
set
public VkSubmitInfo set(int sType, long pNext, int waitSemaphoreCount, @Nullable java.nio.LongBuffer pWaitSemaphores, @Nullable java.nio.IntBuffer pWaitDstStageMask, @Nullable org.lwjgl.PointerBuffer pCommandBuffers, @Nullable java.nio.LongBuffer pSignalSemaphores)
Initializes this struct with the specified values.
-
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 newVkSubmitInfoinstance allocated withmemAlloc. The instance must be explicitly freed.
-
calloc
public static VkSubmitInfo calloc()
Returns a newVkSubmitInfoinstance allocated withmemCalloc. The instance must be explicitly freed.
-
create
public static VkSubmitInfo create()
Returns a newVkSubmitInfoinstance allocated withBufferUtils.
-
create
public static VkSubmitInfo create(long address)
Returns a newVkSubmitInfoinstance for the specified memory address.
-
createSafe
@Nullable public static VkSubmitInfo createSafe(long address)
-
malloc
public static VkSubmitInfo.Buffer malloc(int capacity)
Returns a newVkSubmitInfo.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
public static VkSubmitInfo.Buffer calloc(int capacity)
Returns a newVkSubmitInfo.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
public static VkSubmitInfo.Buffer create(int capacity)
Returns a newVkSubmitInfo.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
public static VkSubmitInfo.Buffer create(long address, int capacity)
Create aVkSubmitInfo.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
@Nullable public static VkSubmitInfo.Buffer createSafe(long address, int capacity)
-
mallocStack
public static VkSubmitInfo mallocStack()
Returns a newVkSubmitInfoinstance allocated on the thread-localMemoryStack.
-
callocStack
public static VkSubmitInfo callocStack()
Returns a newVkSubmitInfoinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.
-
mallocStack
public static VkSubmitInfo mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkSubmitInfoinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
callocStack
public static VkSubmitInfo callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkSubmitInfoinstance allocated on the specifiedMemoryStackand 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.Bufferinstance allocated on the thread-localMemoryStack.- Parameters:
capacity- the buffer capacity
-
callocStack
public static VkSubmitInfo.Buffer callocStack(int capacity)
Returns a newVkSubmitInfo.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacity
-
mallocStack
public static VkSubmitInfo.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkSubmitInfo.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
callocStack
public static VkSubmitInfo.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkSubmitInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
nsType
public static int nsType(long struct)
Unsafe version ofsType().
-
npNext
public static long npNext(long struct)
Unsafe version ofpNext().
-
nwaitSemaphoreCount
public static int nwaitSemaphoreCount(long struct)
Unsafe version ofwaitSemaphoreCount().
-
npWaitSemaphores
@Nullable public static java.nio.LongBuffer npWaitSemaphores(long struct)
Unsafe version ofpWaitSemaphores.
-
npWaitDstStageMask
@Nullable public static java.nio.IntBuffer npWaitDstStageMask(long struct)
Unsafe version ofpWaitDstStageMask.
-
ncommandBufferCount
public static int ncommandBufferCount(long struct)
Unsafe version ofcommandBufferCount().
-
npCommandBuffers
@Nullable public static org.lwjgl.PointerBuffer npCommandBuffers(long struct)
Unsafe version ofpCommandBuffers.
-
nsignalSemaphoreCount
public static int nsignalSemaphoreCount(long struct)
Unsafe version ofsignalSemaphoreCount().
-
npSignalSemaphores
@Nullable public static java.nio.LongBuffer npSignalSemaphores(long struct)
Unsafe version ofpSignalSemaphores.
-
nsType
public static void nsType(long struct, int value)Unsafe version ofsType.
-
npNext
public static void npNext(long struct, long value)Unsafe version ofpNext.
-
nwaitSemaphoreCount
public static void nwaitSemaphoreCount(long struct, int value)Sets the specified value to thewaitSemaphoreCountfield of the specifiedstruct.
-
npWaitSemaphores
public static void npWaitSemaphores(long struct, @Nullable java.nio.LongBuffer value)Unsafe version ofpWaitSemaphores.
-
npWaitDstStageMask
public static void npWaitDstStageMask(long struct, @Nullable java.nio.IntBuffer value)Unsafe version ofpWaitDstStageMask.
-
ncommandBufferCount
public static void ncommandBufferCount(long struct, int value)Sets the specified value to thecommandBufferCountfield of the specifiedstruct.
-
npCommandBuffers
public static void npCommandBuffers(long struct, @Nullable org.lwjgl.PointerBuffer value)Unsafe version ofpCommandBuffers.
-
nsignalSemaphoreCount
public static void nsignalSemaphoreCount(long struct, int value)Sets the specified value to thesignalSemaphoreCountfield of the specifiedstruct.
-
npSignalSemaphores
public static void npSignalSemaphores(long struct, @Nullable java.nio.LongBuffer value)Unsafe version ofpSignalSemaphores.
-
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)Callsvalidate(long)for each struct contained in the specified struct array.- Parameters:
array- the struct array to validatecount- the number of structs inarray
-
-