Class VkSemaphoreWaitInfo

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

    public class VkSemaphoreWaitInfo
    extends org.lwjgl.system.Struct
    implements org.lwjgl.system.NativeResource
    Structure containing information about the semaphore wait condition.
    Valid Usage
    • All of the elements of pSemaphores must reference a semaphore that was created with a VkSemaphoreType of SEMAPHORE_TYPE_TIMELINE
    Valid Usage (Implicit)
    • sType must be STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO
    • pNext must be NULL
    • flags must be a valid combination of VkSemaphoreWaitFlagBits values
    • pSemaphores must be a valid pointer to an array of semaphoreCount valid VkSemaphore handles
    • pValues must be a valid pointer to an array of semaphoreCount uint64_t values
    • semaphoreCount must be greater than 0
    See Also

    WaitSemaphores, WaitSemaphoresKHR

    Layout

    
     struct VkSemaphoreWaitInfo {
         VkStructureType sType();
         void const * pNext();
         VkSemaphoreWaitFlags flags();
         uint32_t semaphoreCount();
         VkSemaphore const * pSemaphores();
         uint64_t const * pValues();
     }
    • Field Detail

      • SIZEOF

        The struct size in bytes.
      • ALIGNOF

        The struct alignment in bytes.
      • STYPE, PNEXT, FLAGS, SEMAPHORECOUNT, PSEMAPHORES, PVALUES

        The struct member offsets.
    • Constructor Detail

      • VkSemaphoreWaitInfo

        public VkSemaphoreWaitInfo​(java.nio.ByteBuffer container)
        Creates a VkSemaphoreWaitInfo 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()
        the type of this structure.
      • pNext

        public long pNext()
        NULL or a pointer to a structure extending this structure.
      • flags

        public int flags()
        a bitmask of VkSemaphoreWaitFlagBits specifying additional parameters for the semaphore wait operation.
      • semaphoreCount

        public int semaphoreCount()
        the number of semaphores to wait on.
      • pSemaphores

        public java.nio.LongBuffer pSemaphores()
        a pointer to an array of semaphoreCount semaphore handles to wait on.
      • pValues

        public java.nio.LongBuffer pValues()
        a pointer to an array of semaphoreCount timeline semaphore values.
      • pValues

        public VkSemaphoreWaitInfo pValues​(java.nio.LongBuffer value)
        Sets the address of the specified LongBuffer to the pValues() field.
      • set

        public VkSemaphoreWaitInfo set​(int sType,
                                       long pNext,
                                       int flags,
                                       int semaphoreCount,
                                       java.nio.LongBuffer pSemaphores,
                                       java.nio.LongBuffer pValues)
        Initializes this struct with the specified values.
      • malloc

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

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

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

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

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

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

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

        public static VkSemaphoreWaitInfo.Buffer malloc​(int capacity,
                                                        org.lwjgl.system.MemoryStack stack)
        Returns a new VkSemaphoreWaitInfo.Buffer instance allocated on the specified MemoryStack.
        Parameters:
        stack - the stack from which to allocate
        capacity - the buffer capacity
      • calloc

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

        public static int nflags​(long struct)
        Unsafe version of flags().
      • nsemaphoreCount

        public static int nsemaphoreCount​(long struct)
        Unsafe version of semaphoreCount().
      • npSemaphores

        public static java.nio.LongBuffer npSemaphores​(long struct)
        Unsafe version of pSemaphores.
      • npValues

        public static java.nio.LongBuffer npValues​(long struct)
        Unsafe version of pValues.
      • 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.
      • nflags

        public static void nflags​(long struct,
                                  int value)
        Unsafe version of flags.
      • nsemaphoreCount

        public static void nsemaphoreCount​(long struct,
                                           int value)
        Sets the specified value to the semaphoreCount field of the specified struct.
      • npSemaphores

        public static void npSemaphores​(long struct,
                                        java.nio.LongBuffer value)
        Unsafe version of pSemaphores.
      • npValues

        public static void npValues​(long struct,
                                    java.nio.LongBuffer value)
        Unsafe version of pValues.
      • validate

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