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.NativeResource
Structure specifying a queue submit operation.Description
The order that command buffers appear in
pCommandBuffers
is 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
pCommandBuffers
must not have been allocated withCOMMAND_BUFFER_LEVEL_SECONDARY
- If the geometry shaders feature is not enabled, each element of
pWaitDstStageMask
must not containPIPELINE_STAGE_GEOMETRY_SHADER_BIT
- If the tessellation shaders feature is not enabled, each element of
pWaitDstStageMask
must not containPIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT
orPIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT
- Each element of
pWaitDstStageMask
must not includePIPELINE_STAGE_HOST_BIT
. - If the mesh shaders feature is not enabled, each element of
pWaitDstStageMask
must not containPIPELINE_STAGE_MESH_SHADER_BIT_NV
- If the task shaders feature is not enabled, each element of
pWaitDstStageMask
must not containPIPELINE_STAGE_TASK_SHADER_BIT_NV
Valid Usage (Implicit)
sType
must beSTRUCTURE_TYPE_SUBMIT_INFO
- Each
pNext
member of any structure (including this one) in thepNext
chain must be eitherNULL
or a pointer to a valid instance ofVkD3D12FenceSubmitInfoKHR
,VkDeviceGroupSubmitInfo
,VkProtectedSubmitInfo
,VkWin32KeyedMutexAcquireReleaseInfoKHR
, orVkWin32KeyedMutexAcquireReleaseInfoNV
- Each
sType
member in thepNext
chain must be unique - If
waitSemaphoreCount
is not 0,pWaitSemaphores
must be a valid pointer to an array ofwaitSemaphoreCount
validVkSemaphore
handles - If
waitSemaphoreCount
is not 0,pWaitDstStageMask
must be a valid 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 valid pointer to an array ofcommandBufferCount
validVkCommandBuffer
handles - If
signalSemaphoreCount
is not 0,pSignalSemaphores
must be a valid pointer to an array ofsignalSemaphoreCount
validVkSemaphore
handles - Each of the elements of
pCommandBuffers
, the elements ofpSignalSemaphores
, and the elements ofpWaitSemaphores
that are valid handles must have been created, allocated, or retrieved from the sameVkDevice
See Also
Member documentation
sType
– the type of this structure.pNext
–NULL
or 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 inpCommandBuffers
have 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 class
VkSubmitInfo.Buffer
An array ofVkSubmitInfo
structs.
-
Field Summary
Fields Modifier and Type Field Description static int
ALIGNOF
The struct alignment in bytes.static int
COMMANDBUFFERCOUNT
PCOMMANDBUFFERS
PNEXT
PSIGNALSEMAPHORES
PWAITDSTSTAGEMASK
PWAITSEMAPHORES
SIGNALSEMAPHORECOUNTThe struct member offsets.static int
SIZEOF
The struct size in bytes.static int
STYPE
WAITSEMAPHORECOUNTThe struct member offsets.
-
Constructor Summary
Constructors Constructor 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 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, org.lwjgl.system.MemoryStack stack)
Returns a newVkSubmitInfo.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static VkSubmitInfo
callocStack(org.lwjgl.system.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.static VkSubmitInfo.Buffer
create(long address, int capacity)
Create aVkSubmitInfo.Buffer
instance at the specified memory.static VkSubmitInfo
createSafe(long address)
static VkSubmitInfo.Buffer
createSafe(long address, int capacity)
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, org.lwjgl.system.MemoryStack stack)
Returns a newVkSubmitInfo.Buffer
instance allocated on the specifiedMemoryStack
.static VkSubmitInfo
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkSubmitInfo
instance allocated on the specifiedMemoryStack
.static int
ncommandBufferCount(long struct)
Unsafe version ofcommandBufferCount()
.static void
ncommandBufferCount(long struct, int value)
Sets the specified value to thecommandBufferCount
field of the specifiedstruct
.static org.lwjgl.PointerBuffer
npCommandBuffers(long struct)
Unsafe version ofpCommandBuffers
.static void
npCommandBuffers(long struct, org.lwjgl.PointerBuffer value)
Unsafe version ofpCommandBuffers
.static long
npNext(long struct)
Unsafe version ofpNext()
.static void
npNext(long struct, long value)
Unsafe version ofpNext
.static java.nio.LongBuffer
npSignalSemaphores(long struct)
Unsafe version ofpSignalSemaphores
.static void
npSignalSemaphores(long struct, java.nio.LongBuffer value)
Unsafe version ofpSignalSemaphores
.static java.nio.IntBuffer
npWaitDstStageMask(long struct)
Unsafe version ofpWaitDstStageMask
.static void
npWaitDstStageMask(long struct, java.nio.IntBuffer value)
Unsafe version ofpWaitDstStageMask
.static java.nio.LongBuffer
npWaitSemaphores(long struct)
Unsafe version ofpWaitSemaphores
.static void
npWaitSemaphores(long struct, java.nio.LongBuffer value)
Unsafe version ofpWaitSemaphores
.static int
nsignalSemaphoreCount(long struct)
Unsafe version ofsignalSemaphoreCount()
.static void
nsignalSemaphoreCount(long struct, int value)
Sets the specified value to thesignalSemaphoreCount
field of the specifiedstruct
.static int
nsType(long struct)
Unsafe version ofsType()
.static void
nsType(long struct, int value)
Unsafe version ofsType
.static int
nwaitSemaphoreCount(long struct)
Unsafe version ofwaitSemaphoreCount()
.static void
nwaitSemaphoreCount(long struct, int value)
Sets the specified value to thewaitSemaphoreCount
field of the specifiedstruct
.org.lwjgl.PointerBuffer
pCommandBuffers()
Returns aPointerBuffer
view of the data pointed to by thepCommandBuffers
field.VkSubmitInfo
pCommandBuffers(org.lwjgl.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, org.lwjgl.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()
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)
Callsvalidate(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.
-
-
-
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()
- Specified by:
sizeof
in classorg.lwjgl.system.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
@Nullable public java.nio.LongBuffer pWaitSemaphores()
Returns aLongBuffer
view of the data pointed to by thepWaitSemaphores
field.
-
pWaitDstStageMask
@Nullable 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
@Nullable public org.lwjgl.PointerBuffer pCommandBuffers()
Returns aPointerBuffer
view of the data pointed to by thepCommandBuffers
field.
-
signalSemaphoreCount
public int signalSemaphoreCount()
Returns the value of thesignalSemaphoreCount
field.
-
pSignalSemaphores
@Nullable 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(@Nullable java.nio.LongBuffer value)
Sets the address of the specifiedLongBuffer
to thepWaitSemaphores
field.
-
pWaitDstStageMask
public VkSubmitInfo pWaitDstStageMask(@Nullable java.nio.IntBuffer value)
Sets the address of the specifiedIntBuffer
to thepWaitDstStageMask
field.
-
pCommandBuffers
public VkSubmitInfo pCommandBuffers(@Nullable org.lwjgl.PointerBuffer value)
Sets the address of the specifiedPointerBuffer
to thepCommandBuffers
field.
-
pSignalSemaphores
public VkSubmitInfo pSignalSemaphores(@Nullable java.nio.LongBuffer value)
Sets the address of the specifiedLongBuffer
to thepSignalSemaphores
field.
-
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 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.
-
createSafe
@Nullable public static VkSubmitInfo createSafe(long address)
-
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
-
createSafe
@Nullable public static VkSubmitInfo.Buffer createSafe(long address, int 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(org.lwjgl.system.MemoryStack stack)
Returns a newVkSubmitInfo
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocate
-
callocStack
public static VkSubmitInfo callocStack(org.lwjgl.system.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, org.lwjgl.system.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, org.lwjgl.system.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
-
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 thewaitSemaphoreCount
field 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 thecommandBufferCount
field 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 thesignalSemaphoreCount
field 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
-
-