Package org.lwjgl.vulkan
Class VkWin32KeyedMutexAcquireReleaseInfoKHR
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.vulkan.VkWin32KeyedMutexAcquireReleaseInfoKHR
-
- All Implemented Interfaces:
java.lang.AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class VkWin32KeyedMutexAcquireReleaseInfoKHR extends org.lwjgl.system.Struct implements org.lwjgl.system.NativeResourceUse the Windows keyed mutex mechanism to synchronize work.Valid Usage
- Each member of
pAcquireSyncsandpReleaseSyncsmust be a device memory object imported by settingVkImportMemoryWin32HandleInfoKHR::handleTypetoEXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BITorEXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT.
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR- If
acquireCountis not 0,pAcquireSyncsmust be a valid pointer to an array ofacquireCountvalidVkDeviceMemoryhandles - If
acquireCountis not 0,pAcquireKeysmust be a valid pointer to an array ofacquireCountuint64_tvalues - If
acquireCountis not 0,pAcquireTimeoutsmust be a valid pointer to an array ofacquireCountuint32_tvalues - If
releaseCountis not 0,pReleaseSyncsmust be a valid pointer to an array ofreleaseCountvalidVkDeviceMemoryhandles - If
releaseCountis not 0,pReleaseKeysmust be a valid pointer to an array ofreleaseCountuint64_tvalues - Both of the elements of
pAcquireSyncs, and the elements ofpReleaseSyncsthat are valid handles must have been created, allocated, or retrieved from the sameVkDevice
Member documentation
acquireCount– the number of entries in thepAcquireSyncs,pAcquireKeys, andpAcquireTimeoutMillisecondsarrays.pAcquireSyncs– a pointer to an array ofVkDeviceMemoryobjects which were imported from Direct3D 11 resources.pAcquireKeys– a pointer to an array of mutex key values to wait for prior to beginning the submitted work. Entries refer to the keyed mutex associated with the corresponding entries inpAcquireSyncs.releaseCount– the number of entries in thepReleaseSyncsandpReleaseKeysarrays.pReleaseSyncs– a pointer to an array ofVkDeviceMemoryobjects which were imported from Direct3D 11 resources.pReleaseKeys– a pointer to an array of mutex key values to set when the submitted work has completed. Entries refer to the keyed mutex associated with the corresponding entries inpReleaseSyncs.
Layout
struct VkWin32KeyedMutexAcquireReleaseInfoKHR { VkStructureType sType; void const * pNext; uint32_t acquireCount; VkDeviceMemory const * pAcquireSyncs; uint64_t const * pAcquireKeys; uint32_t const * pAcquireTimeouts; uint32_t releaseCount; VkDeviceMemory const * pReleaseSyncs; uint64_t const * pReleaseKeys; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classVkWin32KeyedMutexAcquireReleaseInfoKHR.BufferAn array ofVkWin32KeyedMutexAcquireReleaseInfoKHRstructs.
-
Field Summary
Fields Modifier and Type Field Description static intACQUIRECOUNTThe struct member offsets.static intALIGNOFThe struct alignment in bytes.static intPACQUIREKEYS
PACQUIRESYNCS
PACQUIRETIMEOUTS
PNEXT
PRELEASEKEYS
PRELEASESYNCS
RELEASECOUNTThe struct member offsets.static intSIZEOFThe struct size in bytes.static intSTYPEThe struct member offsets.
-
Constructor Summary
Constructors Constructor Description VkWin32KeyedMutexAcquireReleaseInfoKHR(java.nio.ByteBuffer container)Creates aVkWin32KeyedMutexAcquireReleaseInfoKHRinstance at the current position of the specifiedByteBuffercontainer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intacquireCount()Returns the value of theacquireCountfield.VkWin32KeyedMutexAcquireReleaseInfoKHRacquireCount(int value)Sets the specified value to theacquireCountfield.static VkWin32KeyedMutexAcquireReleaseInfoKHRcalloc()Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHRinstance allocated withmemCalloc.static VkWin32KeyedMutexAcquireReleaseInfoKHR.Buffercalloc(int capacity)Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHR.Bufferinstance allocated withmemCalloc.static VkWin32KeyedMutexAcquireReleaseInfoKHRcallocStack()Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHRinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkWin32KeyedMutexAcquireReleaseInfoKHR.BuffercallocStack(int capacity)Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHR.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkWin32KeyedMutexAcquireReleaseInfoKHR.BuffercallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkWin32KeyedMutexAcquireReleaseInfoKHRcallocStack(org.lwjgl.system.MemoryStack stack)Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkWin32KeyedMutexAcquireReleaseInfoKHRcreate()Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHRinstance allocated withBufferUtils.static VkWin32KeyedMutexAcquireReleaseInfoKHR.Buffercreate(int capacity)Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHR.Bufferinstance allocated withBufferUtils.static VkWin32KeyedMutexAcquireReleaseInfoKHRcreate(long address)Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHRinstance for the specified memory address.static VkWin32KeyedMutexAcquireReleaseInfoKHR.Buffercreate(long address, int capacity)Create aVkWin32KeyedMutexAcquireReleaseInfoKHR.Bufferinstance at the specified memory.static VkWin32KeyedMutexAcquireReleaseInfoKHRcreateSafe(long address)static VkWin32KeyedMutexAcquireReleaseInfoKHR.BuffercreateSafe(long address, int capacity)static VkWin32KeyedMutexAcquireReleaseInfoKHRmalloc()Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHRinstance allocated withmemAlloc.static VkWin32KeyedMutexAcquireReleaseInfoKHR.Buffermalloc(int capacity)Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHR.Bufferinstance allocated withmemAlloc.static VkWin32KeyedMutexAcquireReleaseInfoKHRmallocStack()Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHRinstance allocated on the thread-localMemoryStack.static VkWin32KeyedMutexAcquireReleaseInfoKHR.BuffermallocStack(int capacity)Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHR.Bufferinstance allocated on the thread-localMemoryStack.static VkWin32KeyedMutexAcquireReleaseInfoKHR.BuffermallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHR.Bufferinstance allocated on the specifiedMemoryStack.static VkWin32KeyedMutexAcquireReleaseInfoKHRmallocStack(org.lwjgl.system.MemoryStack stack)Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHRinstance allocated on the specifiedMemoryStack.static intnacquireCount(long struct)Unsafe version ofacquireCount().static voidnacquireCount(long struct, int value)Sets the specified value to theacquireCountfield of the specifiedstruct.static java.nio.LongBuffernpAcquireKeys(long struct)Unsafe version ofpAcquireKeys.static voidnpAcquireKeys(long struct, java.nio.LongBuffer value)Unsafe version ofpAcquireKeys.static java.nio.LongBuffernpAcquireSyncs(long struct)Unsafe version ofpAcquireSyncs.static voidnpAcquireSyncs(long struct, java.nio.LongBuffer value)Unsafe version ofpAcquireSyncs.static java.nio.IntBuffernpAcquireTimeouts(long struct)Unsafe version ofpAcquireTimeouts.static voidnpAcquireTimeouts(long struct, java.nio.IntBuffer value)Unsafe version ofpAcquireTimeouts.static longnpNext(long struct)Unsafe version ofpNext().static voidnpNext(long struct, long value)Unsafe version ofpNext.static java.nio.LongBuffernpReleaseKeys(long struct)Unsafe version ofpReleaseKeys.static voidnpReleaseKeys(long struct, java.nio.LongBuffer value)Unsafe version ofpReleaseKeys.static java.nio.LongBuffernpReleaseSyncs(long struct)Unsafe version ofpReleaseSyncs.static voidnpReleaseSyncs(long struct, java.nio.LongBuffer value)Unsafe version ofpReleaseSyncs.static intnreleaseCount(long struct)Unsafe version ofreleaseCount().static voidnreleaseCount(long struct, int value)Sets the specified value to thereleaseCountfield of the specifiedstruct.static intnsType(long struct)Unsafe version ofsType().static voidnsType(long struct, int value)Unsafe version ofsType.java.nio.LongBufferpAcquireKeys()Returns aLongBufferview of the data pointed to by thepAcquireKeysfield.VkWin32KeyedMutexAcquireReleaseInfoKHRpAcquireKeys(java.nio.LongBuffer value)Sets the address of the specifiedLongBufferto thepAcquireKeysfield.java.nio.LongBufferpAcquireSyncs()Returns aLongBufferview of the data pointed to by thepAcquireSyncsfield.VkWin32KeyedMutexAcquireReleaseInfoKHRpAcquireSyncs(java.nio.LongBuffer value)Sets the address of the specifiedLongBufferto thepAcquireSyncsfield.java.nio.IntBufferpAcquireTimeouts()Returns aIntBufferview of the data pointed to by thepAcquireTimeoutsfield.VkWin32KeyedMutexAcquireReleaseInfoKHRpAcquireTimeouts(java.nio.IntBuffer value)Sets the address of the specifiedIntBufferto thepAcquireTimeoutsfield.longpNext()Returns the value of thepNextfield.VkWin32KeyedMutexAcquireReleaseInfoKHRpNext(long value)Sets the specified value to thepNextfield.java.nio.LongBufferpReleaseKeys()Returns aLongBufferview of the data pointed to by thepReleaseKeysfield.VkWin32KeyedMutexAcquireReleaseInfoKHRpReleaseKeys(java.nio.LongBuffer value)Sets the address of the specifiedLongBufferto thepReleaseKeysfield.java.nio.LongBufferpReleaseSyncs()Returns aLongBufferview of the data pointed to by thepReleaseSyncsfield.VkWin32KeyedMutexAcquireReleaseInfoKHRpReleaseSyncs(java.nio.LongBuffer value)Sets the address of the specifiedLongBufferto thepReleaseSyncsfield.intreleaseCount()Returns the value of thereleaseCountfield.VkWin32KeyedMutexAcquireReleaseInfoKHRreleaseCount(int value)Sets the specified value to thereleaseCountfield.VkWin32KeyedMutexAcquireReleaseInfoKHRset(int sType, long pNext, int acquireCount, java.nio.LongBuffer pAcquireSyncs, java.nio.LongBuffer pAcquireKeys, java.nio.IntBuffer pAcquireTimeouts, int releaseCount, java.nio.LongBuffer pReleaseSyncs, java.nio.LongBuffer pReleaseKeys)Initializes this struct with the specified values.VkWin32KeyedMutexAcquireReleaseInfoKHRset(VkWin32KeyedMutexAcquireReleaseInfoKHR src)Copies the specified struct data to this struct.intsizeof()intsType()Returns the value of thesTypefield.VkWin32KeyedMutexAcquireReleaseInfoKHRsType(int value)Sets the specified value to thesTypefield.static voidvalidate(long struct)Validates pointer members that should not beNULL.static voidvalidate(long array, int count)Callsvalidate(long)for each struct contained in the specified struct array.
-
-
-
Constructor Detail
-
VkWin32KeyedMutexAcquireReleaseInfoKHR
public VkWin32KeyedMutexAcquireReleaseInfoKHR(java.nio.ByteBuffer container)
Creates aVkWin32KeyedMutexAcquireReleaseInfoKHRinstance 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 Detail
-
sizeof
public int sizeof()
- Specified by:
sizeofin classorg.lwjgl.system.Struct
-
sType
public int sType()
Returns the value of thesTypefield.
-
pNext
public long pNext()
Returns the value of thepNextfield.
-
acquireCount
public int acquireCount()
Returns the value of theacquireCountfield.
-
pAcquireSyncs
@Nullable public java.nio.LongBuffer pAcquireSyncs()
Returns aLongBufferview of the data pointed to by thepAcquireSyncsfield.
-
pAcquireKeys
@Nullable public java.nio.LongBuffer pAcquireKeys()
Returns aLongBufferview of the data pointed to by thepAcquireKeysfield.
-
pAcquireTimeouts
@Nullable public java.nio.IntBuffer pAcquireTimeouts()
Returns aIntBufferview of the data pointed to by thepAcquireTimeoutsfield.
-
releaseCount
public int releaseCount()
Returns the value of thereleaseCountfield.
-
pReleaseSyncs
@Nullable public java.nio.LongBuffer pReleaseSyncs()
Returns aLongBufferview of the data pointed to by thepReleaseSyncsfield.
-
pReleaseKeys
@Nullable public java.nio.LongBuffer pReleaseKeys()
Returns aLongBufferview of the data pointed to by thepReleaseKeysfield.
-
sType
public VkWin32KeyedMutexAcquireReleaseInfoKHR sType(int value)
Sets the specified value to thesTypefield.
-
pNext
public VkWin32KeyedMutexAcquireReleaseInfoKHR pNext(long value)
Sets the specified value to thepNextfield.
-
acquireCount
public VkWin32KeyedMutexAcquireReleaseInfoKHR acquireCount(int value)
Sets the specified value to theacquireCountfield.
-
pAcquireSyncs
public VkWin32KeyedMutexAcquireReleaseInfoKHR pAcquireSyncs(@Nullable java.nio.LongBuffer value)
Sets the address of the specifiedLongBufferto thepAcquireSyncsfield.
-
pAcquireKeys
public VkWin32KeyedMutexAcquireReleaseInfoKHR pAcquireKeys(@Nullable java.nio.LongBuffer value)
Sets the address of the specifiedLongBufferto thepAcquireKeysfield.
-
pAcquireTimeouts
public VkWin32KeyedMutexAcquireReleaseInfoKHR pAcquireTimeouts(@Nullable java.nio.IntBuffer value)
Sets the address of the specifiedIntBufferto thepAcquireTimeoutsfield.
-
releaseCount
public VkWin32KeyedMutexAcquireReleaseInfoKHR releaseCount(int value)
Sets the specified value to thereleaseCountfield.
-
pReleaseSyncs
public VkWin32KeyedMutexAcquireReleaseInfoKHR pReleaseSyncs(@Nullable java.nio.LongBuffer value)
Sets the address of the specifiedLongBufferto thepReleaseSyncsfield.
-
pReleaseKeys
public VkWin32KeyedMutexAcquireReleaseInfoKHR pReleaseKeys(@Nullable java.nio.LongBuffer value)
Sets the address of the specifiedLongBufferto thepReleaseKeysfield.
-
set
public VkWin32KeyedMutexAcquireReleaseInfoKHR set(int sType, long pNext, int acquireCount, @Nullable java.nio.LongBuffer pAcquireSyncs, @Nullable java.nio.LongBuffer pAcquireKeys, @Nullable java.nio.IntBuffer pAcquireTimeouts, int releaseCount, @Nullable java.nio.LongBuffer pReleaseSyncs, @Nullable java.nio.LongBuffer pReleaseKeys)
Initializes this struct with the specified values.
-
set
public VkWin32KeyedMutexAcquireReleaseInfoKHR set(VkWin32KeyedMutexAcquireReleaseInfoKHR src)
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
public static VkWin32KeyedMutexAcquireReleaseInfoKHR malloc()
Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHRinstance allocated withmemAlloc. The instance must be explicitly freed.
-
calloc
public static VkWin32KeyedMutexAcquireReleaseInfoKHR calloc()
Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHRinstance allocated withmemCalloc. The instance must be explicitly freed.
-
create
public static VkWin32KeyedMutexAcquireReleaseInfoKHR create()
Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHRinstance allocated withBufferUtils.
-
create
public static VkWin32KeyedMutexAcquireReleaseInfoKHR create(long address)
Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHRinstance for the specified memory address.
-
createSafe
@Nullable public static VkWin32KeyedMutexAcquireReleaseInfoKHR createSafe(long address)
-
malloc
public static VkWin32KeyedMutexAcquireReleaseInfoKHR.Buffer malloc(int capacity)
Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHR.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
public static VkWin32KeyedMutexAcquireReleaseInfoKHR.Buffer calloc(int capacity)
Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHR.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
public static VkWin32KeyedMutexAcquireReleaseInfoKHR.Buffer create(int capacity)
Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHR.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
public static VkWin32KeyedMutexAcquireReleaseInfoKHR.Buffer create(long address, int capacity)
Create aVkWin32KeyedMutexAcquireReleaseInfoKHR.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
@Nullable public static VkWin32KeyedMutexAcquireReleaseInfoKHR.Buffer createSafe(long address, int capacity)
-
mallocStack
public static VkWin32KeyedMutexAcquireReleaseInfoKHR mallocStack()
Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHRinstance allocated on the thread-localMemoryStack.
-
callocStack
public static VkWin32KeyedMutexAcquireReleaseInfoKHR callocStack()
Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHRinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.
-
mallocStack
public static VkWin32KeyedMutexAcquireReleaseInfoKHR mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHRinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
callocStack
public static VkWin32KeyedMutexAcquireReleaseInfoKHR callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
mallocStack
public static VkWin32KeyedMutexAcquireReleaseInfoKHR.Buffer mallocStack(int capacity)
Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHR.Bufferinstance allocated on the thread-localMemoryStack.- Parameters:
capacity- the buffer capacity
-
callocStack
public static VkWin32KeyedMutexAcquireReleaseInfoKHR.Buffer callocStack(int capacity)
Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHR.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacity
-
mallocStack
public static VkWin32KeyedMutexAcquireReleaseInfoKHR.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHR.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
callocStack
public static VkWin32KeyedMutexAcquireReleaseInfoKHR.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkWin32KeyedMutexAcquireReleaseInfoKHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
nsType
public static int nsType(long struct)
Unsafe version ofsType().
-
npNext
public static long npNext(long struct)
Unsafe version ofpNext().
-
nacquireCount
public static int nacquireCount(long struct)
Unsafe version ofacquireCount().
-
npAcquireSyncs
@Nullable public static java.nio.LongBuffer npAcquireSyncs(long struct)
Unsafe version ofpAcquireSyncs.
-
npAcquireKeys
@Nullable public static java.nio.LongBuffer npAcquireKeys(long struct)
Unsafe version ofpAcquireKeys.
-
npAcquireTimeouts
@Nullable public static java.nio.IntBuffer npAcquireTimeouts(long struct)
Unsafe version ofpAcquireTimeouts.
-
nreleaseCount
public static int nreleaseCount(long struct)
Unsafe version ofreleaseCount().
-
npReleaseSyncs
@Nullable public static java.nio.LongBuffer npReleaseSyncs(long struct)
Unsafe version ofpReleaseSyncs.
-
npReleaseKeys
@Nullable public static java.nio.LongBuffer npReleaseKeys(long struct)
Unsafe version ofpReleaseKeys.
-
nsType
public static void nsType(long struct, int value)Unsafe version ofsType.
-
npNext
public static void npNext(long struct, long value)Unsafe version ofpNext.
-
nacquireCount
public static void nacquireCount(long struct, int value)Sets the specified value to theacquireCountfield of the specifiedstruct.
-
npAcquireSyncs
public static void npAcquireSyncs(long struct, @Nullable java.nio.LongBuffer value)Unsafe version ofpAcquireSyncs.
-
npAcquireKeys
public static void npAcquireKeys(long struct, @Nullable java.nio.LongBuffer value)Unsafe version ofpAcquireKeys.
-
npAcquireTimeouts
public static void npAcquireTimeouts(long struct, @Nullable java.nio.IntBuffer value)Unsafe version ofpAcquireTimeouts.
-
nreleaseCount
public static void nreleaseCount(long struct, int value)Sets the specified value to thereleaseCountfield of the specifiedstruct.
-
npReleaseSyncs
public static void npReleaseSyncs(long struct, @Nullable java.nio.LongBuffer value)Unsafe version ofpReleaseSyncs.
-
npReleaseKeys
public static void npReleaseKeys(long struct, @Nullable java.nio.LongBuffer value)Unsafe version ofpReleaseKeys.
-
validate
public static void validate(long struct)
Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-
validate
public static void validate(long array, int count)Callsvalidate(long)for each struct contained in the specified struct array.- Parameters:
array- the struct array to validatecount- the number of structs inarray
-
-