vulkan-3.6.4: Bindings to the Vulkan graphics API.
Safe HaskellNone
LanguageHaskell2010

Vulkan.Extensions.VK_NV_win32_keyed_mutex

Synopsis

Documentation

data Win32KeyedMutexAcquireReleaseInfoNV Source #

VkWin32KeyedMutexAcquireReleaseInfoNV - use Windows keyex mutex mechanism to synchronize work

Valid Usage (Implicit)

  • If acquireCount is not 0, pAcquireSyncs must be a valid pointer to an array of acquireCount valid DeviceMemory handles
  • If acquireCount is not 0, pAcquireKeys must be a valid pointer to an array of acquireCount uint64_t values
  • If acquireCount is not 0, pAcquireTimeoutMilliseconds must be a valid pointer to an array of acquireCount uint32_t values
  • If releaseCount is not 0, pReleaseSyncs must be a valid pointer to an array of releaseCount valid DeviceMemory handles
  • If releaseCount is not 0, pReleaseKeys must be a valid pointer to an array of releaseCount uint64_t values
  • Both of the elements of pAcquireSyncs, and the elements of pReleaseSyncs that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same Device

See Also

DeviceMemory, StructureType

Constructors

Win32KeyedMutexAcquireReleaseInfoNV 

Fields

  • acquireSyncs :: Vector DeviceMemory

    pAcquireSyncs is a pointer to an array of DeviceMemory objects which were imported from Direct3D 11 resources.

  • acquireKeys :: Vector Word64

    pAcquireKeys is 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 in pAcquireSyncs.

  • acquireTimeoutMilliseconds :: Vector Word32

    pAcquireTimeoutMilliseconds is a pointer to an array of timeout values, in millisecond units, for each acquire specified in pAcquireKeys.

  • releaseSyncs :: Vector DeviceMemory

    pReleaseSyncs is a pointer to an array of DeviceMemory objects which were imported from Direct3D 11 resources.

  • releaseKeys :: Vector Word64

    pReleaseKeys is 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 in pReleaseSyncs.

Instances

Instances details
Show Win32KeyedMutexAcquireReleaseInfoNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_win32_keyed_mutex

Generic Win32KeyedMutexAcquireReleaseInfoNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_win32_keyed_mutex

FromCStruct Win32KeyedMutexAcquireReleaseInfoNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_win32_keyed_mutex

ToCStruct Win32KeyedMutexAcquireReleaseInfoNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_win32_keyed_mutex

Zero Win32KeyedMutexAcquireReleaseInfoNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_win32_keyed_mutex

type Rep Win32KeyedMutexAcquireReleaseInfoNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_win32_keyed_mutex

type Rep Win32KeyedMutexAcquireReleaseInfoNV = D1 ('MetaData "Win32KeyedMutexAcquireReleaseInfoNV" "Vulkan.Extensions.VK_NV_win32_keyed_mutex" "vulkan-3.6.4-inplace" 'False) (C1 ('MetaCons "Win32KeyedMutexAcquireReleaseInfoNV" 'PrefixI 'True) ((S1 ('MetaSel ('Just "acquireSyncs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Vector DeviceMemory)) :*: S1 ('MetaSel ('Just "acquireKeys") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Vector Word64))) :*: (S1 ('MetaSel ('Just "acquireTimeoutMilliseconds") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Vector Word32)) :*: (S1 ('MetaSel ('Just "releaseSyncs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Vector DeviceMemory)) :*: S1 ('MetaSel ('Just "releaseKeys") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Vector Word64))))))

type NV_WIN32_KEYED_MUTEX_EXTENSION_NAME = "VK_NV_win32_keyed_mutex" Source #

pattern NV_WIN32_KEYED_MUTEX_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #