Class VkImportSemaphoreFdInfoKHR
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
Description
The handle types supported by handleType are:
Handle Types Supported by VkImportSemaphoreFdInfoKHR
| Handle Type | Transference | Permanence Supported |
|---|---|---|
EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT | Reference | Temporary,Permanent |
EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT | Copy | Temporary |
Valid Usage
handleTypemust be a value included in the Handle Types Supported byVkImportSemaphoreFdInfoKHRtablefdmust obey any requirements listed forhandleTypein external semaphore handle types compatibility- If
handleTypeisEXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT, theVkSemaphoreCreateInfo::flagsfield must match that of the semaphore from whichfdwas exported - If
handleTyperefers to a handle type with copy payload transference semantics,flagsmust containSEMAPHORE_IMPORT_TEMPORARY_BIT - If
handleTypeisEXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT, theVkSemaphoreTypeCreateInfo::semaphoreTypefield must match that of the semaphore from whichfdwas exported - If
flagscontainsSEMAPHORE_IMPORT_TEMPORARY_BIT, theVkSemaphoreTypeCreateInfo::semaphoreTypefield of the semaphore from whichfdwas exported must not beSEMAPHORE_TYPE_TIMELINE
If handleType is EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT, the special value -1 for fd is treated like a valid sync file descriptor referring to an object that has already signaled. The import operation will succeed and the VkSemaphore will have a temporarily imported payload as if a valid file descriptor had been provided.
Note
This special behavior for importing an invalid sync file descriptor allows easier interoperability with other system APIs which use the convention that an invalid sync file descriptor represents work that has already completed and does not need to be waited for. It is consistent with the option for implementations to return a -1 file descriptor when exporting a EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT from a VkSemaphore which is signaled.
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHRpNextmust beNULLsemaphoremust be a validVkSemaphorehandleflagsmust be a valid combination ofVkSemaphoreImportFlagBitsvalueshandleTypemust be a validVkExternalSemaphoreHandleTypeFlagBitsvalue
Host Synchronization
- Host access to
semaphoremust be externally synchronized
See Also
Layout
struct VkImportSemaphoreFdInfoKHR {
VkStructureType sType();
void const * pNext();
VkSemaphore semaphore();
VkSemaphoreImportFlags flags();
VkExternalSemaphoreHandleTypeFlagBits handleType();
int fd();
}-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.lwjgl.system.Struct
org.lwjgl.system.Struct.StructValidationNested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe struct alignment in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct size in bytes.static final intThe struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionVkImportSemaphoreFdInfoKHR(ByteBuffer container) Creates aVkImportSemaphoreFdInfoKHRinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionstatic VkImportSemaphoreFdInfoKHRcalloc()Returns a newVkImportSemaphoreFdInfoKHRinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkImportSemaphoreFdInfoKHR.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkImportSemaphoreFdInfoKHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkImportSemaphoreFdInfoKHRcalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkImportSemaphoreFdInfoKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkImportSemaphoreFdInfoKHRDeprecated.callocStack(int capacity) Deprecated.callocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.static VkImportSemaphoreFdInfoKHRcallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.static VkImportSemaphoreFdInfoKHRcreate()Returns a newVkImportSemaphoreFdInfoKHRinstance allocated withBufferUtils.create(int capacity) Returns a newVkImportSemaphoreFdInfoKHR.Bufferinstance allocated withBufferUtils.static VkImportSemaphoreFdInfoKHRcreate(long address) Returns a newVkImportSemaphoreFdInfoKHRinstance for the specified memory address.create(long address, int capacity) Create aVkImportSemaphoreFdInfoKHR.Bufferinstance at the specified memory.static @Nullable VkImportSemaphoreFdInfoKHRcreateSafe(long address) static @Nullable VkImportSemaphoreFdInfoKHR.BuffercreateSafe(long address, int capacity) intfd()the external handle to import.fd(int value) Sets the specified value to thefd()field.intflags()a bitmask ofVkSemaphoreImportFlagBitsspecifying additional parameters for the semaphore payload import operation.flags(int value) Sets the specified value to theflags()field.intaVkExternalSemaphoreHandleTypeFlagBitsvalue specifying the type offd.handleType(int value) Sets the specified value to thehandleType()field.static VkImportSemaphoreFdInfoKHRmalloc()Returns a newVkImportSemaphoreFdInfoKHRinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkImportSemaphoreFdInfoKHR.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkImportSemaphoreFdInfoKHR.Bufferinstance allocated on the specifiedMemoryStack.static VkImportSemaphoreFdInfoKHRmalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkImportSemaphoreFdInfoKHRinstance allocated on the specifiedMemoryStack.static VkImportSemaphoreFdInfoKHRDeprecated.mallocStack(int capacity) Deprecated.mallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.static VkImportSemaphoreFdInfoKHRmallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.static intnfd(long struct) Unsafe version offd().static voidnfd(long struct, int value) Unsafe version offd.static intnflags(long struct) Unsafe version offlags().static voidnflags(long struct, int value) Unsafe version offlags.static intnhandleType(long struct) Unsafe version ofhandleType().static voidnhandleType(long struct, int value) Unsafe version ofhandleType.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static longnsemaphore(long struct) Unsafe version ofsemaphore().static voidnsemaphore(long struct, long value) Unsafe version ofsemaphore.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.longthe semaphore into which the payload will be imported.semaphore(long value) Sets the specified value to thesemaphore()field.set(int sType, long pNext, long semaphore, int flags, int handleType, int fd) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()intsType()aVkStructureTypevalue identifying this structure.sType(int value) Sets the specified value to thesType()field.Sets theSTRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHRvalue to thesType()field.Methods inherited from class org.lwjgl.system.Struct
clear, free, isNull, validate, validateMethods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toStringMethods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
STYPE
public static final int STYPEThe struct member offsets. -
PNEXT
public static final int PNEXTThe struct member offsets. -
SEMAPHORE
public static final int SEMAPHOREThe struct member offsets. -
FLAGS
public static final int FLAGSThe struct member offsets. -
HANDLETYPE
public static final int HANDLETYPEThe struct member offsets. -
FD
public static final int FDThe struct member offsets.
-
-
Constructor Details
-
VkImportSemaphoreFdInfoKHR
Creates aVkImportSemaphoreFdInfoKHRinstance at the current position of the specifiedByteBuffercontainer. 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 Details
-
sizeof
public int sizeof()- Specified by:
sizeofin classorg.lwjgl.system.Struct<VkImportSemaphoreFdInfoKHR>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
semaphore
public long semaphore()the semaphore into which the payload will be imported. -
flags
public int flags()a bitmask ofVkSemaphoreImportFlagBitsspecifying additional parameters for the semaphore payload import operation. -
handleType
public int handleType()aVkExternalSemaphoreHandleTypeFlagBitsvalue specifying the type offd. -
fd
public int fd()the external handle to import. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHRvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
semaphore
Sets the specified value to thesemaphore()field. -
flags
Sets the specified value to theflags()field. -
handleType
Sets the specified value to thehandleType()field. -
fd
Sets the specified value to thefd()field. -
set
public VkImportSemaphoreFdInfoKHR set(int sType, long pNext, long semaphore, int flags, int handleType, int fd) Initializes this struct with the specified values. -
set
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
Returns a newVkImportSemaphoreFdInfoKHRinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkImportSemaphoreFdInfoKHRinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkImportSemaphoreFdInfoKHRinstance allocated withBufferUtils. -
create
Returns a newVkImportSemaphoreFdInfoKHRinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkImportSemaphoreFdInfoKHR.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkImportSemaphoreFdInfoKHR.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkImportSemaphoreFdInfoKHR.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkImportSemaphoreFdInfoKHR.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead. -
mallocStack
@Deprecated public static VkImportSemaphoreFdInfoKHR mallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead. -
callocStack
@Deprecated public static VkImportSemaphoreFdInfoKHR callocStack(org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead. -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead. -
mallocStack
@Deprecated public static VkImportSemaphoreFdInfoKHR.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead. -
callocStack
@Deprecated public static VkImportSemaphoreFdInfoKHR.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead. -
malloc
Returns a newVkImportSemaphoreFdInfoKHRinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkImportSemaphoreFdInfoKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkImportSemaphoreFdInfoKHR.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkImportSemaphoreFdInfoKHR.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkImportSemaphoreFdInfoKHR.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkImportSemaphoreFdInfoKHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
nsType
public static int nsType(long struct) Unsafe version ofsType(). -
npNext
public static long npNext(long struct) Unsafe version ofpNext(). -
nsemaphore
public static long nsemaphore(long struct) Unsafe version ofsemaphore(). -
nflags
public static int nflags(long struct) Unsafe version offlags(). -
nhandleType
public static int nhandleType(long struct) Unsafe version ofhandleType(). -
nfd
public static int nfd(long struct) Unsafe version offd(). -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
nsemaphore
public static void nsemaphore(long struct, long value) Unsafe version ofsemaphore. -
nflags
public static void nflags(long struct, int value) Unsafe version offlags. -
nhandleType
public static void nhandleType(long struct, int value) Unsafe version ofhandleType. -
nfd
public static void nfd(long struct, int value) Unsafe version offd.
-