vulkan-3.1.0.0: Bindings to the Vulkan graphics API.

Safe HaskellNone
LanguageHaskell2010

Graphics.Vulkan.Extensions.VK_KHR_external_memory_fd

Synopsis

Documentation

getMemoryFdKHR :: forall io. MonadIO io => Device -> MemoryGetFdInfoKHR -> io ("fd" ::: Int32) Source #

vkGetMemoryFdKHR - Get a POSIX file descriptor for a memory object

Parameters

  • device is the logical device that created the device memory being exported.
  • pGetFdInfo is a pointer to a MemoryGetFdInfoKHR structure containing parameters of the export operation.
  • pFd will return a file descriptor representing the underlying resources of the device memory object.

Description

Each call to getMemoryFdKHR must create a new file descriptor and transfer ownership of it to the application. To avoid leaking resources, the application must release ownership of the file descriptor using the close system call when it is no longer needed, or by importing a Vulkan memory object from it. Where supported by the operating system, the implementation must set the file descriptor to be closed automatically when an execve system call is made.

Return Codes

Success
Failure

See Also

Device, MemoryGetFdInfoKHR

getMemoryFdPropertiesKHR :: forall io. MonadIO io => Device -> ExternalMemoryHandleTypeFlagBits -> ("fd" ::: Int32) -> io MemoryFdPropertiesKHR Source #

vkGetMemoryFdPropertiesKHR - Get Properties of External Memory File Descriptors

Parameters

  • device is the logical device that will be importing fd.
  • handleType is the type of the handle fd.
  • fd is the handle which will be imported.
  • pMemoryFdProperties is a pointer to a MemoryFdPropertiesKHR structure in which the properties of the handle fd are returned.

Return Codes

Success
Failure

See Also

Device, ExternalMemoryHandleTypeFlagBits, MemoryFdPropertiesKHR

data ImportMemoryFdInfoKHR Source #

VkImportMemoryFdInfoKHR - import memory created on the same physical device from a file descriptor

Description

Importing memory from a file descriptor transfers ownership of the file descriptor from the application to the Vulkan implementation. The application must not perform any operations on the file descriptor after a successful import.

Applications can import the same underlying memory into multiple instances of Vulkan, into the same instance from which it was exported, and multiple times into a given Vulkan instance. In all cases, each import operation must create a distinct DeviceMemory object.

Valid Usage

Valid Usage (Implicit)

See Also

ExternalMemoryHandleTypeFlagBits, StructureType

Constructors

ImportMemoryFdInfoKHR 

Fields

Instances
Show ImportMemoryFdInfoKHR Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_KHR_external_memory_fd

Storable ImportMemoryFdInfoKHR Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_KHR_external_memory_fd

FromCStruct ImportMemoryFdInfoKHR Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_KHR_external_memory_fd

ToCStruct ImportMemoryFdInfoKHR Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_KHR_external_memory_fd

Zero ImportMemoryFdInfoKHR Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_KHR_external_memory_fd

data MemoryFdPropertiesKHR Source #

VkMemoryFdPropertiesKHR - Properties of External Memory File Descriptors

Valid Usage (Implicit)

See Also

StructureType, getMemoryFdPropertiesKHR

Constructors

MemoryFdPropertiesKHR 

Fields

  • memoryTypeBits :: Word32

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

Instances
Show MemoryFdPropertiesKHR Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_KHR_external_memory_fd

Storable MemoryFdPropertiesKHR Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_KHR_external_memory_fd

FromCStruct MemoryFdPropertiesKHR Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_KHR_external_memory_fd

ToCStruct MemoryFdPropertiesKHR Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_KHR_external_memory_fd

Zero MemoryFdPropertiesKHR Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_KHR_external_memory_fd

data MemoryGetFdInfoKHR Source #

VkMemoryGetFdInfoKHR - Structure describing a POSIX FD semaphore export operation

Description

The properties of the file descriptor exported depend on the value of handleType. See ExternalMemoryHandleTypeFlagBits for a description of the properties of the defined external memory handle types.

Note

The size of the exported file may be larger than the size requested by MemoryAllocateInfo::allocationSize. If handleType is EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT, then the application can query the file’s actual size with lseek(2).

Valid Usage (Implicit)

See Also

DeviceMemory, ExternalMemoryHandleTypeFlagBits, StructureType, getMemoryFdKHR

Constructors

MemoryGetFdInfoKHR 

Fields

Instances
Show MemoryGetFdInfoKHR Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_KHR_external_memory_fd

Storable MemoryGetFdInfoKHR Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_KHR_external_memory_fd

FromCStruct MemoryGetFdInfoKHR Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_KHR_external_memory_fd

ToCStruct MemoryGetFdInfoKHR Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_KHR_external_memory_fd

Zero MemoryGetFdInfoKHR Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_KHR_external_memory_fd

type KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME = "VK_KHR_external_memory_fd" Source #

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