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

Vulkan.Extensions.VK_EXT_external_memory_host

Synopsis

Documentation

getMemoryHostPointerPropertiesEXT Source #

Arguments

:: forall io. MonadIO io 
=> Device

device is the logical device that will be importing pHostPointer.

-> ExternalMemoryHandleTypeFlagBits

handleType is the type of the handle pHostPointer.

-> ("hostPointer" ::: Ptr ())

pHostPointer is the host pointer to import from.

-> io MemoryHostPointerPropertiesEXT 

vkGetMemoryHostPointerPropertiesEXT - Get properties of external memory host pointer

Valid Usage

Valid Usage (Implicit)

  • device must be a valid Device handle

Return Codes

Success
Failure

See Also

Device, ExternalMemoryHandleTypeFlagBits, MemoryHostPointerPropertiesEXT

data ImportMemoryHostPointerInfoEXT Source #

VkImportMemoryHostPointerInfoEXT - import memory from a host pointer

Description

Importing memory from a host pointer shares ownership of the memory between the host and the Vulkan implementation. The application can continue to access the memory through the host pointer but it is the application’s responsibility to synchronize device and non-device access to the underlying memory as defined in Host Access to Device Memory Objects.

Applications can import the same underlying memory into multiple instances of Vulkan and multiple times into a given Vulkan instance. However, implementations may fail to import the same underlying memory multiple times into a given physical device due to platform constraints.

Importing memory from a particular host pointer may not be possible due to additional platform-specific restrictions beyond the scope of this specification in which case the implementation must fail the memory import operation with the error code ERROR_INVALID_EXTERNAL_HANDLE_KHR.

The application must ensure that the imported memory range remains valid and accessible for the lifetime of the imported memory object.

Valid Usage

Valid Usage (Implicit)

See Also

ExternalMemoryHandleTypeFlagBits, StructureType

Constructors

ImportMemoryHostPointerInfoEXT 

Fields

Instances

Instances details
Show ImportMemoryHostPointerInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_external_memory_host

Generic ImportMemoryHostPointerInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_external_memory_host

Associated Types

type Rep ImportMemoryHostPointerInfoEXT :: Type -> Type #

Storable ImportMemoryHostPointerInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_external_memory_host

FromCStruct ImportMemoryHostPointerInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_external_memory_host

ToCStruct ImportMemoryHostPointerInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_external_memory_host

Zero ImportMemoryHostPointerInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_external_memory_host

type Rep ImportMemoryHostPointerInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_external_memory_host

type Rep ImportMemoryHostPointerInfoEXT = D1 ('MetaData "ImportMemoryHostPointerInfoEXT" "Vulkan.Extensions.VK_EXT_external_memory_host" "vulkan-3.3.1-inplace" 'False) (C1 ('MetaCons "ImportMemoryHostPointerInfoEXT" 'PrefixI 'True) (S1 ('MetaSel ('Just "handleType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ExternalMemoryHandleTypeFlagBits) :*: S1 ('MetaSel ('Just "hostPointer") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Ptr ()))))

data MemoryHostPointerPropertiesEXT Source #

VkMemoryHostPointerPropertiesEXT - Properties of external memory host pointer

Description

The value returned by memoryTypeBits must only include bits that identify memory types which are host visible.

Valid Usage (Implicit)

See Also

StructureType, getMemoryHostPointerPropertiesEXT

Constructors

MemoryHostPointerPropertiesEXT 

Fields

  • memoryTypeBits :: Word32

    memoryTypeBits is a bitmask containing one bit set for every memory type which the specified host pointer can be imported as.

Instances

Instances details
Eq MemoryHostPointerPropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_external_memory_host

Show MemoryHostPointerPropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_external_memory_host

Generic MemoryHostPointerPropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_external_memory_host

Associated Types

type Rep MemoryHostPointerPropertiesEXT :: Type -> Type #

Storable MemoryHostPointerPropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_external_memory_host

FromCStruct MemoryHostPointerPropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_external_memory_host

ToCStruct MemoryHostPointerPropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_external_memory_host

Zero MemoryHostPointerPropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_external_memory_host

type Rep MemoryHostPointerPropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_external_memory_host

type Rep MemoryHostPointerPropertiesEXT = D1 ('MetaData "MemoryHostPointerPropertiesEXT" "Vulkan.Extensions.VK_EXT_external_memory_host" "vulkan-3.3.1-inplace" 'False) (C1 ('MetaCons "MemoryHostPointerPropertiesEXT" 'PrefixI 'True) (S1 ('MetaSel ('Just "memoryTypeBits") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Word32)))

data PhysicalDeviceExternalMemoryHostPropertiesEXT Source #

VkPhysicalDeviceExternalMemoryHostPropertiesEXT - Structure describing external memory host pointer limits that can be supported by an implementation

Members

The members of the PhysicalDeviceExternalMemoryHostPropertiesEXT structure describe the following implementation-dependent limits:

Description

If the PhysicalDeviceExternalMemoryHostPropertiesEXT structure is included in the pNext chain of PhysicalDeviceProperties2, it is filled with the implementation-dependent limits.

Valid Usage (Implicit)

See Also

DeviceSize, StructureType

Constructors

PhysicalDeviceExternalMemoryHostPropertiesEXT 

Fields

  • minImportedHostPointerAlignment :: DeviceSize

    minImportedHostPointerAlignment is the minimum required alignment, in bytes, for the base address and size of host pointers that can be imported to a Vulkan memory object.

Instances

Instances details
Eq PhysicalDeviceExternalMemoryHostPropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_external_memory_host

Show PhysicalDeviceExternalMemoryHostPropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_external_memory_host

Generic PhysicalDeviceExternalMemoryHostPropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_external_memory_host

Storable PhysicalDeviceExternalMemoryHostPropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_external_memory_host

FromCStruct PhysicalDeviceExternalMemoryHostPropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_external_memory_host

ToCStruct PhysicalDeviceExternalMemoryHostPropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_external_memory_host

Zero PhysicalDeviceExternalMemoryHostPropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_external_memory_host

type Rep PhysicalDeviceExternalMemoryHostPropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_external_memory_host

type Rep PhysicalDeviceExternalMemoryHostPropertiesEXT = D1 ('MetaData "PhysicalDeviceExternalMemoryHostPropertiesEXT" "Vulkan.Extensions.VK_EXT_external_memory_host" "vulkan-3.3.1-inplace" 'False) (C1 ('MetaCons "PhysicalDeviceExternalMemoryHostPropertiesEXT" 'PrefixI 'True) (S1 ('MetaSel ('Just "minImportedHostPointerAlignment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 DeviceSize)))

type EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME = "VK_EXT_external_memory_host" Source #