Class VkDeviceGroupBindSparseInfo

  • All Implemented Interfaces:
    java.lang.AutoCloseable, org.lwjgl.system.NativeResource, org.lwjgl.system.Pointer
    Direct Known Subclasses:
    VkDeviceGroupBindSparseInfoKHR

    public class VkDeviceGroupBindSparseInfo
    extends org.lwjgl.system.Struct
    implements org.lwjgl.system.NativeResource
    Structure indicating which instances are bound.
    Description

    These device indices apply to all buffer and image memory binds included in the batch that points to this structure. The semaphore waits and signals for the batch are executed only by the physical device specified by the resourceDeviceIndex.

    If this structure is not present, resourceDeviceIndex and memoryDeviceIndex are assumed to be zero.

    Valid Usage
    • resourceDeviceIndex and memoryDeviceIndex must both be valid device indices.
    • Each memory allocation bound in this batch must have allocated an instance for memoryDeviceIndex.
    Valid Usage (Implicit)

    Member documentation

    • sType – the type of this structure.
    • pNextNULL or a pointer to an extension-specific structure.
    • resourceDeviceIndex – a device index indicating which instance of the resource is bound.
    • memoryDeviceIndex – a device index indicating which instance of the memory the resource instance is bound to.

    Layout

    
     struct VkDeviceGroupBindSparseInfo {
         VkStructureType sType;
         void const * pNext;
         uint32_t resourceDeviceIndex;
         uint32_t memoryDeviceIndex;
     }
    • Field Detail

      • SIZEOF

        The struct size in bytes.
      • ALIGNOF

        The struct alignment in bytes.
      • STYPE, PNEXT, RESOURCEDEVICEINDEX, MEMORYDEVICEINDEX

        The struct member offsets.
    • Constructor Detail

      • VkDeviceGroupBindSparseInfo

        public VkDeviceGroupBindSparseInfo​(java.nio.ByteBuffer container)
        Creates a VkDeviceGroupBindSparseInfo 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()
        Specified by:
        sizeof in class org.lwjgl.system.Struct
      • sType

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

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

        public int resourceDeviceIndex()
        Returns the value of the resourceDeviceIndex field.
      • memoryDeviceIndex

        public int memoryDeviceIndex()
        Returns the value of the memoryDeviceIndex field.
      • resourceDeviceIndex

        public VkDeviceGroupBindSparseInfo resourceDeviceIndex​(int value)
        Sets the specified value to the resourceDeviceIndex field.
      • memoryDeviceIndex

        public VkDeviceGroupBindSparseInfo memoryDeviceIndex​(int value)
        Sets the specified value to the memoryDeviceIndex field.
      • set

        public VkDeviceGroupBindSparseInfo set​(int sType,
                                               long pNext,
                                               int resourceDeviceIndex,
                                               int memoryDeviceIndex)
        Initializes this struct with the specified values.
      • malloc

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

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

        public static VkDeviceGroupBindSparseInfo create()
        Returns a new VkDeviceGroupBindSparseInfo instance allocated with BufferUtils.
      • create

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

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

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

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

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

        public static VkDeviceGroupBindSparseInfo.Buffer callocStack​(int capacity,
                                                                     org.lwjgl.system.MemoryStack stack)
        Returns a new VkDeviceGroupBindSparseInfo.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().
      • nresourceDeviceIndex

        public static int nresourceDeviceIndex​(long struct)
        Unsafe version of resourceDeviceIndex().
      • nmemoryDeviceIndex

        public static int nmemoryDeviceIndex​(long struct)
        Unsafe version of memoryDeviceIndex().
      • 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.
      • nresourceDeviceIndex

        public static void nresourceDeviceIndex​(long struct,
                                                int value)
        Unsafe version of resourceDeviceIndex.
      • nmemoryDeviceIndex

        public static void nmemoryDeviceIndex​(long struct,
                                              int value)
        Unsafe version of memoryDeviceIndex.