Class VkImportSemaphoreWin32HandleInfoKHR

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

    public class VkImportSemaphoreWin32HandleInfoKHR
    extends org.lwjgl.system.Struct
    implements org.lwjgl.system.NativeResource
    Structure specifying Windows handle to import to a semaphore.
    Description

    The handle types supported by handleType are:

    Handle Types Supported by VkImportSemaphoreWin32HandleInfoKHR
    Handle TypeTransferencePermanence Supported
    EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BITReferenceTemporary,Permanent
    EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BITReferenceTemporary,Permanent
    EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BITReferenceTemporary,Permanent
    Valid Usage
    Valid Usage (Implicit)
    • sType must be STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR
    • pNext must be NULL
    • semaphore must be a valid VkSemaphore handle
    • flags must be a valid combination of VkSemaphoreImportFlagBits values
    • If handleType is not 0, handleType must be a valid VkExternalSemaphoreHandleTypeFlagBits value
    Host Synchronization
    • Host access to semaphore must be externally synchronized
    See Also

    ImportSemaphoreWin32HandleKHR

    Member documentation

    • sType – the type of this structure.
    • pNextNULL or a pointer to an extension-specific structure.
    • semaphore – the semaphore into which the payload will be imported.
    • flags – a bitmask of VkSemaphoreImportFlagBits specifying additional parameters for the semaphore payload import operation.
    • handleType – specifies the type of handle.
    • handle – the external handle to import, or NULL.
    • name – a NULL-terminated UTF-16 string naming the underlying synchronization primitive to import, or NULL.

    Layout

    
     struct VkImportSemaphoreWin32HandleInfoKHR {
         VkStructureType sType;
         void const * pNext;
         VkSemaphore semaphore;
         VkSemaphoreImportFlags flags;
         VkExternalSemaphoreHandleTypeFlagBits handleType;
         HANDLE handle;
         LPCWSTR name;
     }
    • Field Detail

      • SIZEOF

        The struct size in bytes.
      • ALIGNOF

        The struct alignment in bytes.
      • STYPE, PNEXT, SEMAPHORE, FLAGS, HANDLETYPE, HANDLE, NAME

        The struct member offsets.
    • Constructor Detail

      • VkImportSemaphoreWin32HandleInfoKHR

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

        public long semaphore()
        Returns the value of the semaphore field.
      • flags

        public int flags()
        Returns the value of the flags field.
      • handleType

        public int handleType()
        Returns the value of the handleType field.
      • handle

        public long handle()
        Returns the value of the handle field.
      • name

        public java.nio.ByteBuffer name()
        Returns a ByteBuffer view of the null-terminated string pointed to by the name field.
      • nameString

        public java.lang.String nameString()
        Decodes the null-terminated string pointed to by the name field.
      • set

        public VkImportSemaphoreWin32HandleInfoKHR set​(int sType,
                                                       long pNext,
                                                       long semaphore,
                                                       int flags,
                                                       int handleType,
                                                       long handle,
                                                       java.nio.ByteBuffer name)
        Initializes this struct with the specified values.
      • malloc

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

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

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

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

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

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

        public static VkImportSemaphoreWin32HandleInfoKHR callocStack​(org.lwjgl.system.MemoryStack stack)
        Returns a new VkImportSemaphoreWin32HandleInfoKHR 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().
      • nsemaphore

        public static long nsemaphore​(long struct)
        Unsafe version of semaphore().
      • nflags

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

        public static int nhandleType​(long struct)
        Unsafe version of handleType().
      • nhandle

        public static long nhandle​(long struct)
        Unsafe version of handle().
      • nname

        public static java.nio.ByteBuffer nname​(long struct)
        Unsafe version of name().
      • nnameString

        public static java.lang.String nnameString​(long struct)
        Unsafe version of nameString().
      • 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.
      • nsemaphore

        public static void nsemaphore​(long struct,
                                      long value)
        Unsafe version of semaphore.
      • nflags

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

        public static void nhandleType​(long struct,
                                       int value)
        Unsafe version of handleType.
      • nhandle

        public static void nhandle​(long struct,
                                   long value)
        Unsafe version of handle.
      • nname

        public static void nname​(long struct,
                                 java.nio.ByteBuffer value)
        Unsafe version of name.
      • 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