vulkan
Safe HaskellSafe-Inferred
LanguageHaskell2010

Vulkan.Extensions.VK_KHR_map_memory2

Description

Name

VK_KHR_map_memory2 - device extension

VK_KHR_map_memory2

Name String
VK_KHR_map_memory2
Extension Type
Device extension
Registered Extension Number
272
Revision
1
Ratification Status
Ratified
Extension and Version Dependencies
None
Contact
Extension Proposal
VK_KHR_map_memory2

Other Extension Metadata

Last Modified Date
2023-03-14
Interactions and External Dependencies
  • None
Contributors
  • Faith Ekstrand, Collabora
  • Tobias Hector, AMD

Description

This extension provides extensible versions of the Vulkan memory map and unmap commands. The new commands are functionally identical to the core commands, except that their parameters are specified using extensible structures that can be used to pass extension-specific information.

New Commands

New Structures

New Enums

New Bitmasks

New Enum Constants

Version History

  • Revision 0, 2022-08-03 (Faith Ekstrand)

    • Internal revisions
  • Revision 1, 2023-03-14

    • Public release

See Also

No cross-references are available

Document Notes

For more information, see the Vulkan Specification

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

Synopsis

Documentation

mapMemory2KHR Source #

Arguments

:: forall a io. (Extendss MemoryMapInfoKHR a, PokeChain a, MonadIO io) 
=> Device

device is the logical device that owns the memory.

device must be a valid Device handle

-> MemoryMapInfoKHR a

pMemoryMapInfo is a pointer to a MemoryMapInfoKHR structure describing parameters of the map.

pMemoryMapInfo must be a valid pointer to a valid MemoryMapInfoKHR structure

-> io ("data" ::: Ptr ()) 

vkMapMemory2KHR - Map a memory object into application address space

Description

This function behaves identically to mapMemory except that it gets its parameters via an extensible structure pointer rather than directly as function arguments.

Return Codes

Success
Failure

See Also

VK_KHR_map_memory2, Device, MemoryMapInfoKHR

unmapMemory2KHR Source #

Arguments

:: forall io. MonadIO io 
=> Device

device is the logical device that owns the memory.

device must be a valid Device handle

-> MemoryUnmapInfoKHR

pMemoryUnmapInfo is a pointer to a MemoryUnmapInfoKHR structure describing parameters of the unmap.

pMemoryUnmapInfo must be a valid pointer to a valid MemoryUnmapInfoKHR structure

-> io () 

vkUnmapMemory2KHR - Unmap a previously mapped memory object

Description

This function behaves identically to unmapMemory except that it gets its parameters via an extensible structure pointer rather than directly as function arguments.

Return Codes

Success
Failure

See Also

VK_KHR_map_memory2, Device, MemoryUnmapInfoKHR

data MemoryMapInfoKHR (es :: [Type]) Source #

VkMemoryMapInfoKHR - Structure containing parameters of a memory map operation

Valid Usage

  • memory must not be currently host mapped

Valid Usage (Implicit)

Host Synchronization

  • Host access to memory must be externally synchronized

See Also

VK_KHR_map_memory2, DeviceMemory, DeviceSize, MemoryMapFlags, StructureType, mapMemory2KHR

Constructors

MemoryMapInfoKHR 

Fields

Instances

Instances details
Extensible MemoryMapInfoKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

Methods

extensibleTypeName :: String Source #

getNext :: forall (es :: [Type]). MemoryMapInfoKHR es -> Chain es Source #

setNext :: forall (ds :: [Type]) (es :: [Type]). MemoryMapInfoKHR ds -> Chain es -> MemoryMapInfoKHR es Source #

extends :: forall e b proxy. Typeable e => proxy e -> (Extends MemoryMapInfoKHR e => b) -> Maybe b Source #

Show (Chain es) => Show (MemoryMapInfoKHR es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

(Extendss MemoryMapInfoKHR es, PeekChain es) => FromCStruct (MemoryMapInfoKHR es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

(Extendss MemoryMapInfoKHR es, PokeChain es) => ToCStruct (MemoryMapInfoKHR es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

es ~ ('[] :: [Type]) => Zero (MemoryMapInfoKHR es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

data MemoryUnmapInfoKHR Source #

VkMemoryUnmapInfoKHR - Structure containing parameters of a memory unmap operation

Valid Usage

  • memory must be currently host mapped

Valid Usage (Implicit)

Host Synchronization

  • Host access to memory must be externally synchronized

See Also

VK_KHR_map_memory2, DeviceMemory, MemoryUnmapFlagsKHR, StructureType, unmapMemory2KHR

Constructors

MemoryUnmapInfoKHR 

Fields

Instances

Instances details
Storable MemoryUnmapInfoKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

Show MemoryUnmapInfoKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

Eq MemoryUnmapInfoKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

FromCStruct MemoryUnmapInfoKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

ToCStruct MemoryUnmapInfoKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

Zero MemoryUnmapInfoKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

newtype MemoryUnmapFlagBitsKHR Source #

VkMemoryUnmapFlagBitsKHR - Bitmask specifying additional parameters of a memory unmap

See Also

VK_KHR_map_memory2, MemoryUnmapFlagsKHR

Bundled Patterns

pattern MEMORY_UNMAP_RESERVE_BIT_EXT :: MemoryUnmapFlagBitsKHR

MEMORY_UNMAP_RESERVE_BIT_EXT requests that virtual address range currently occupied by the memory map remain reserved after the unmapMemory2KHR call completes. Future system memory map operations or calls to mapMemory or mapMemory2KHR will not return addresses in that range unless the range has since been unreserved by the application or the mapping is explicitly placed in that range by calling mapMemory2KHR with MEMORY_MAP_PLACED_BIT_EXT, or doing the system memory map equivalent. When MEMORY_UNMAP_RESERVE_BIT_EXT is set, the memory unmap operation may fail, in which case the memory object will remain host mapped and unmapMemory2KHR will return ERROR_MEMORY_MAP_FAILED.

Instances

Instances details
Storable MemoryUnmapFlagBitsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

Bits MemoryUnmapFlagBitsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

FiniteBits MemoryUnmapFlagBitsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

Read MemoryUnmapFlagBitsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

Show MemoryUnmapFlagBitsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

Eq MemoryUnmapFlagBitsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

Ord MemoryUnmapFlagBitsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

Zero MemoryUnmapFlagBitsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

pattern KHR_MAP_MEMORY_2_SPEC_VERSION :: forall a. Integral a => a Source #

type KHR_MAP_MEMORY_2_EXTENSION_NAME = "VK_KHR_map_memory2" Source #

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