Class VkBindSparseInfo

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

    public class VkBindSparseInfo
    extends Struct
    implements NativeResource
    Structure specifying a sparse binding operation.
    Valid Usage (Implicit)
    • sType must be STRUCTURE_TYPE_BIND_SPARSE_INFO
    • pNext must be NULL or a pointer to a valid instance of VkDeviceGroupBindSparseInfo
    • If waitSemaphoreCount is not 0, pWaitSemaphores must be a valid pointer to an array of waitSemaphoreCount valid VkSemaphore handles
    • If bufferBindCount is not 0, pBufferBinds must be a valid pointer to an array of bufferBindCount valid VkSparseBufferMemoryBindInfo structures
    • If imageOpaqueBindCount is not 0, pImageOpaqueBinds must be a valid pointer to an array of imageOpaqueBindCount valid VkSparseImageOpaqueMemoryBindInfo structures
    • If imageBindCount is not 0, pImageBinds must be a valid pointer to an array of imageBindCount valid VkSparseImageMemoryBindInfo structures
    • If signalSemaphoreCount is not 0, pSignalSemaphores must be a valid pointer to an array of signalSemaphoreCount valid VkSemaphore handles
    • Both of 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

    VkSparseBufferMemoryBindInfo, VkSparseImageMemoryBindInfo, VkSparseImageOpaqueMemoryBindInfo, QueueBindSparse

    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 sparse binding operations for the batch.
    • pWaitSemaphores – a pointer to an array of semaphores upon which to wait on before the sparse binding operations for this batch begin execution. If semaphores to wait on are provided, they define a semaphore wait operation.
    • bufferBindCount – the number of sparse buffer bindings to perform in the batch.
    • pBufferBinds – a pointer to an array of VkSparseBufferMemoryBindInfo structures.
    • imageOpaqueBindCount – the number of opaque sparse image bindings to perform.
    • pImageOpaqueBinds – a pointer to an array of VkSparseImageOpaqueMemoryBindInfo structures, indicating opaque sparse image bindings to perform.
    • imageBindCount – the number of sparse image bindings to perform.
    • pImageBinds – a pointer to an array of VkSparseImageMemoryBindInfo structures, indicating sparse image bindings to perform.
    • signalSemaphoreCount – the number of semaphores to be signaled once the sparse binding operations specified by the structure have completed execution.
    • pSignalSemaphores – a pointer to an array of semaphores which will be signaled when the sparse binding operations for this batch have completed execution. If semaphores to be signaled are provided, they define a semaphore signal operation.

    Layout

    
     struct VkBindSparseInfo {
         VkStructureType sType;
         void const * pNext;
         uint32_t waitSemaphoreCount;
         VkSemaphore const * pWaitSemaphores;
         uint32_t bufferBindCount;
         VkSparseBufferMemoryBindInfo const * pBufferBinds;
         uint32_t imageOpaqueBindCount;
         VkSparseImageOpaqueMemoryBindInfo const * pImageOpaqueBinds;
         uint32_t imageBindCount;
         VkSparseImageMemoryBindInfo const * pImageBinds;
         uint32_t signalSemaphoreCount;
         VkSemaphore const * pSignalSemaphores;
     }
    • Field Detail

      • SIZEOF

        The struct size in bytes.
      • ALIGNOF

        The struct alignment in bytes.
      • STYPE, PNEXT, WAITSEMAPHORECOUNT, PWAITSEMAPHORES, BUFFERBINDCOUNT, PBUFFERBINDS, IMAGEOPAQUEBINDCOUNT, PIMAGEOPAQUEBINDS, IMAGEBINDCOUNT, PIMAGEBINDS, SIGNALSEMAPHORECOUNT, PSIGNALSEMAPHORES

        The struct member offsets.
    • Constructor Detail

      • VkBindSparseInfo

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

        public int bufferBindCount()
        Returns the value of the bufferBindCount field.
      • imageOpaqueBindCount

        public int imageOpaqueBindCount()
        Returns the value of the imageOpaqueBindCount field.
      • imageBindCount

        public int imageBindCount()
        Returns the value of the imageBindCount 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 VkBindSparseInfo sType​(int value)
        Sets the specified value to the sType field.
      • pNext

        public VkBindSparseInfo pNext​(long value)
        Sets the specified value to the pNext field.
      • pWaitSemaphores

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

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

        public VkBindSparseInfo set​(VkBindSparseInfo src)
        Copies the specified struct data to this struct.
        Parameters:
        src - the source struct
        Returns:
        this struct
      • malloc

        public static VkBindSparseInfo malloc()
        Returns a new VkBindSparseInfo instance allocated with memAlloc. The instance must be explicitly freed.
      • calloc

        public static VkBindSparseInfo calloc()
        Returns a new VkBindSparseInfo instance allocated with memCalloc. The instance must be explicitly freed.
      • create

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

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

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

        public static VkBindSparseInfo mallocStack()
        Returns a new VkBindSparseInfo instance allocated on the thread-local MemoryStack.
      • callocStack

        public static VkBindSparseInfo callocStack()
        Returns a new VkBindSparseInfo instance allocated on the thread-local MemoryStack and initializes all its bits to zero.
      • mallocStack

        public static VkBindSparseInfo mallocStack​(MemoryStack stack)
        Returns a new VkBindSparseInfo instance allocated on the specified MemoryStack.
        Parameters:
        stack - the stack from which to allocate
      • callocStack

        public static VkBindSparseInfo callocStack​(MemoryStack stack)
        Returns a new VkBindSparseInfo instance allocated on the specified MemoryStack and initializes all its bits to zero.
        Parameters:
        stack - the stack from which to allocate
      • 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.
      • nbufferBindCount

        public static int nbufferBindCount​(long struct)
        Unsafe version of bufferBindCount().
      • nimageOpaqueBindCount

        public static int nimageOpaqueBindCount​(long struct)
        Unsafe version of imageOpaqueBindCount().
      • nimageBindCount

        public static int nimageBindCount​(long struct)
        Unsafe version of imageBindCount().
      • 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.
      • nbufferBindCount

        public static void nbufferBindCount​(long struct,
                                            int value)
        Sets the specified value to the bufferBindCount field of the specified struct.
      • nimageOpaqueBindCount

        public static void nimageOpaqueBindCount​(long struct,
                                                 int value)
        Sets the specified value to the imageOpaqueBindCount field of the specified struct.
      • nimageBindCount

        public static void nimageBindCount​(long struct,
                                           int value)
        Sets the specified value to the imageBindCount field of the specified struct.
      • 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