Class VkSubmitInfo

  • All Implemented Interfaces:
    java.lang.AutoCloseable, NativeResource, Pointer

    public class VkSubmitInfo
    extends Struct
    implements 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
    Valid Usage (Implicit)
    • sType must be STRUCTURE_TYPE_SUBMIT_INFO
    • Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkD3D12FenceSubmitInfoKHR, VkDeviceGroupSubmitInfo, VkProtectedSubmitInfo, VkWin32KeyedMutexAcquireReleaseInfoKHR, or VkWin32KeyedMutexAcquireReleaseInfoNV
    • Each sType member in the pNext chain must be unique
    • If waitSemaphoreCount is not 0, pWaitSemaphores must be a valid pointer to an array of waitSemaphoreCount valid VkSemaphore handles
    • If waitSemaphoreCount is not 0, pWaitDstStageMask must be a valid pointer to an array of waitSemaphoreCount valid combinations of VkPipelineStageFlagBits values
    • Each element of pWaitDstStageMask must not be 0
    • If commandBufferCount is not 0, pCommandBuffers must be a valid pointer to an array of commandBufferCount valid VkCommandBuffer handles
    • If signalSemaphoreCount is not 0, pSignalSemaphores must be a valid pointer to an array of signalSemaphoreCount valid VkSemaphore handles
    • Each of the elements of pCommandBuffers, the elements of pSignalSemaphores, and the elements of pWaitSemaphores that are valid handles must have been created, allocated, or retrieved from the same VkDevice
    See Also

    QueueSubmit

    Member documentation

    • sType – the type of this structure.
    • pNextNULL 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 in pCommandBuffers 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;
     }
    • Field Detail

      • SIZEOF

        The struct size in bytes.
      • ALIGNOF

        The struct alignment in bytes.
      • STYPE, PNEXT, WAITSEMAPHORECOUNT, PWAITSEMAPHORES, PWAITDSTSTAGEMASK, COMMANDBUFFERCOUNT, PCOMMANDBUFFERS, SIGNALSEMAPHORECOUNT, PSIGNALSEMAPHORES

        The struct member offsets.
    • Constructor Detail

      • VkSubmitInfo

        public VkSubmitInfo​(java.nio.ByteBuffer container)
        Creates a VkSubmitInfo 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

      • sizeof

        public int sizeof()
        Description copied from class: Struct
        Returns sizeof(struct).
        Specified by:
        sizeof in class Struct
      • sType

        public int sType()
        Returns the value of the sType field.
      • pNext

        public long pNext()
        Returns the value of the pNext field.
      • waitSemaphoreCount

        public int waitSemaphoreCount()
        Returns the value of the waitSemaphoreCount field.
      • pWaitSemaphores

        @Nullable
        public java.nio.LongBuffer pWaitSemaphores()
        Returns a LongBuffer view of the data pointed to by the pWaitSemaphores field.
      • pWaitDstStageMask

        @Nullable
        public java.nio.IntBuffer pWaitDstStageMask()
        Returns a IntBuffer view of the data pointed to by the pWaitDstStageMask field.
      • commandBufferCount

        public int commandBufferCount()
        Returns the value of the commandBufferCount field.
      • pCommandBuffers

        @Nullable
        public PointerBuffer pCommandBuffers()
        Returns a PointerBuffer view of the data pointed to by the pCommandBuffers field.
      • signalSemaphoreCount

        public int signalSemaphoreCount()
        Returns the value of the signalSemaphoreCount field.
      • pSignalSemaphores

        @Nullable
        public java.nio.LongBuffer pSignalSemaphores()
        Returns a LongBuffer view of the data pointed to by the pSignalSemaphores field.
      • sType

        public VkSubmitInfo sType​(int value)
        Sets the specified value to the sType field.
      • pNext

        public VkSubmitInfo pNext​(long value)
        Sets the specified value to the pNext field.
      • waitSemaphoreCount

        public VkSubmitInfo waitSemaphoreCount​(int value)
        Sets the specified value to the waitSemaphoreCount field.
      • pWaitSemaphores

        public VkSubmitInfo pWaitSemaphores​(@Nullable
                                            java.nio.LongBuffer value)
        Sets the address of the specified LongBuffer to the pWaitSemaphores field.
      • pWaitDstStageMask

        public VkSubmitInfo pWaitDstStageMask​(@Nullable
                                              java.nio.IntBuffer value)
        Sets the address of the specified IntBuffer to the pWaitDstStageMask field.
      • pSignalSemaphores

        public VkSubmitInfo pSignalSemaphores​(@Nullable
                                              java.nio.LongBuffer value)
        Sets the address of the specified LongBuffer to the pSignalSemaphores field.
      • set

        public VkSubmitInfo set​(int sType,
                                long pNext,
                                int waitSemaphoreCount,
                                @Nullable
                                java.nio.LongBuffer pWaitSemaphores,
                                @Nullable
                                java.nio.IntBuffer pWaitDstStageMask,
                                @Nullable
                                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
      • create

        public static VkSubmitInfo create​(long address)
        Returns a new VkSubmitInfo instance for the specified memory address.
      • createSafe

        @Nullable
        public static VkSubmitInfo createSafe​(long address)
        Like create, but returns null if address is NULL.
      • create

        public static VkSubmitInfo.Buffer create​(long address,
                                                 int capacity)
        Create a VkSubmitInfo.Buffer instance at the specified memory.
        Parameters:
        address - the memory address
        capacity - the buffer capacity
      • createSafe

        @Nullable
        public static VkSubmitInfo.Buffer createSafe​(long address,
                                                     int capacity)
        Like create, but returns null if address is NULL.
      • callocStack

        public static VkSubmitInfo callocStack​(MemoryStack stack)
        Returns a new VkSubmitInfo instance allocated on the specified MemoryStack and initializes all its bits to zero.
        Parameters:
        stack - the stack from which to allocate
      • callocStack

        public static VkSubmitInfo.Buffer callocStack​(int capacity)
        Returns a new VkSubmitInfo.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero.
        Parameters:
        capacity - the buffer capacity
      • callocStack

        public static VkSubmitInfo.Buffer callocStack​(int capacity,
                                                      MemoryStack stack)
        Returns a new VkSubmitInfo.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.
        Parameters:
        stack - the stack from which to allocate
        capacity - the buffer capacity
      • nsType

        public static int nsType​(long struct)
        Unsafe version of sType().
      • npNext

        public static long npNext​(long struct)
        Unsafe version of pNext().
      • nwaitSemaphoreCount

        public static int nwaitSemaphoreCount​(long struct)
        Unsafe version of waitSemaphoreCount().
      • npWaitSemaphores

        @Nullable
        public static java.nio.LongBuffer npWaitSemaphores​(long struct)
        Unsafe version of pWaitSemaphores.
      • npWaitDstStageMask

        @Nullable
        public static java.nio.IntBuffer npWaitDstStageMask​(long struct)
        Unsafe version of pWaitDstStageMask.
      • ncommandBufferCount

        public static int ncommandBufferCount​(long struct)
        Unsafe version of commandBufferCount().
      • nsignalSemaphoreCount

        public static int nsignalSemaphoreCount​(long struct)
        Unsafe version of signalSemaphoreCount().
      • npSignalSemaphores

        @Nullable
        public static java.nio.LongBuffer npSignalSemaphores​(long struct)
        Unsafe version of pSignalSemaphores.
      • nsType

        public static void nsType​(long struct,
                                  int value)
        Unsafe version of sType.
      • npNext

        public static void npNext​(long struct,
                                  long value)
        Unsafe version of pNext.
      • nwaitSemaphoreCount

        public static void nwaitSemaphoreCount​(long struct,
                                               int value)
        Sets the specified value to the waitSemaphoreCount field of the specified struct.
      • npWaitSemaphores

        public static void npWaitSemaphores​(long struct,
                                            @Nullable
                                            java.nio.LongBuffer value)
        Unsafe version of pWaitSemaphores.
      • npWaitDstStageMask

        public static void npWaitDstStageMask​(long struct,
                                              @Nullable
                                              java.nio.IntBuffer value)
        Unsafe version of pWaitDstStageMask.
      • ncommandBufferCount

        public static void ncommandBufferCount​(long struct,
                                               int value)
        Sets the specified value to the commandBufferCount field of the specified struct.
      • npCommandBuffers

        public static void npCommandBuffers​(long struct,
                                            @Nullable
                                            PointerBuffer value)
        Unsafe version of pCommandBuffers.
      • nsignalSemaphoreCount

        public static void nsignalSemaphoreCount​(long struct,
                                                 int value)
        Sets the specified value to the signalSemaphoreCount field of the specified struct.
      • npSignalSemaphores

        public static void npSignalSemaphores​(long struct,
                                              @Nullable
                                              java.nio.LongBuffer value)
        Unsafe version of pSignalSemaphores.
      • validate

        public static void validate​(long struct)
        Validates pointer members that should not be NULL.
        Parameters:
        struct - the struct to validate
      • validate

        public static void validate​(long array,
                                    int count)
        Calls validate(long) for each struct contained in the specified struct array.
        Parameters:
        array - the struct array to validate
        count - the number of structs in array