| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
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
KHR_MAP_MEMORY_2_SPEC_VERSIONExtending
StructureType:
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
- mapMemory2KHR :: forall a io. (Extendss MemoryMapInfoKHR a, PokeChain a, MonadIO io) => Device -> MemoryMapInfoKHR a -> io ("data" ::: Ptr ())
- unmapMemory2KHR :: forall io. MonadIO io => Device -> MemoryUnmapInfoKHR -> io ()
- data MemoryMapInfoKHR (es :: [Type]) = MemoryMapInfoKHR {
- next :: Chain es
- flags :: MemoryMapFlags
- memory :: DeviceMemory
- offset :: DeviceSize
- size :: DeviceSize
- data MemoryUnmapInfoKHR = MemoryUnmapInfoKHR {}
- type MemoryUnmapFlagsKHR = MemoryUnmapFlagBitsKHR
- newtype MemoryUnmapFlagBitsKHR where
- type KHR_MAP_MEMORY_2_SPEC_VERSION = 1
- pattern KHR_MAP_MEMORY_2_SPEC_VERSION :: forall a. Integral a => a
- type KHR_MAP_MEMORY_2_EXTENSION_NAME = "VK_KHR_map_memory2"
- pattern KHR_MAP_MEMORY_2_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
Documentation
Arguments
| :: forall a io. (Extendss MemoryMapInfoKHR a, PokeChain a, MonadIO io) | |
| => Device |
|
| -> MemoryMapInfoKHR a |
|
| -> 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
See Also
Arguments
| :: forall io. MonadIO io | |
| => Device |
|
| -> MemoryUnmapInfoKHR |
|
| -> 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
See Also
data MemoryMapInfoKHR (es :: [Type]) Source #
VkMemoryMapInfoKHR - Structure containing parameters of a memory map operation
Valid Usage
-
offsetmust be less than the size ofmemory - If
sizeis not equal toWHOLE_SIZE,sizemust be greater than0 - If
sizeis not equal toWHOLE_SIZE,sizemust be less than or equal to the size of thememoryminusoffset -
memorymust have been created with a memory type that reportsMEMORY_PROPERTY_HOST_VISIBLE_BIT -
memorymust not have been allocated with multiple instances - If
MEMORY_MAP_PLACED_BIT_EXTis set inflags, the memoryMapPlaced feature must be enabled - If
MEMORY_MAP_PLACED_BIT_EXTis set inflags, thepNextchain must include aMemoryMapPlacedInfoEXTstructure andMemoryMapPlacedInfoEXT::pPlacedAddressmust not beNULL - If
MEMORY_MAP_PLACED_BIT_EXTis set inflagsand the memoryMapRangePlaced feature is not enabled,offsetmust be zero - If
MEMORY_MAP_PLACED_BIT_EXTis set inflagsand the memoryMapRangePlaced feature is not enabled,sizemust beWHOLE_SIZEorMemoryAllocateInfo::allocationSize - If
MEMORY_MAP_PLACED_BIT_EXTis set inflagsand the memoryMapRangePlaced feature is enabled,offsetmust be aligned to an integer multiple ofPhysicalDeviceMapMemoryPlacedPropertiesEXT::minPlacedMemoryMapAlignment - If
MEMORY_MAP_PLACED_BIT_EXTis set inflagsandsizeis notWHOLE_SIZE,sizemust be aligned to an integer multiple ofPhysicalDeviceMapMemoryPlacedPropertiesEXT::minPlacedMemoryMapAlignment - If
MEMORY_MAP_PLACED_BIT_EXTis set inflagsandsizeisWHOLE_SIZE,MemoryAllocateInfo::allocationSizemust be aligned to an integer multiple ofPhysicalDeviceMapMemoryPlacedPropertiesEXT::minPlacedMemoryMapAlignment - If
MEMORY_MAP_PLACED_BIT_EXTis set inflags, the memory object must not have been imported from a handle type ofEXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXTorEXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT
Valid Usage (Implicit)
-
sTypemust beSTRUCTURE_TYPE_MEMORY_MAP_INFO_KHR
-
pNextmust beNULLor a pointer to a valid instance ofMemoryMapPlacedInfoEXT - The
sTypevalue of each struct in thepNextchain must be unique -
flagsmust be a valid combination ofMemoryMapFlagBitsvalues -
memorymust be a validDeviceMemoryhandle
Host Synchronization
- Host access to
memorymust be externally synchronized
See Also
VK_KHR_map_memory2,
DeviceMemory,
DeviceSize,
MemoryMapFlags,
StructureType, mapMemory2KHR
Constructors
| MemoryMapInfoKHR | |
Fields
| |
Instances
data MemoryUnmapInfoKHR Source #
VkMemoryUnmapInfoKHR - Structure containing parameters of a memory unmap operation
Valid Usage
- If
MEMORY_UNMAP_RESERVE_BIT_EXTis set inflags, the memoryUnmapReserve must be enabled - If
MEMORY_UNMAP_RESERVE_BIT_EXTis set inflags, the memory object must not have been imported from a handle type ofEXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXTorEXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT
Valid Usage (Implicit)
-
sTypemust beSTRUCTURE_TYPE_MEMORY_UNMAP_INFO_KHR
-
pNextmust beNULL -
flagsmust be a valid combination ofMemoryUnmapFlagBitsKHRvalues -
memorymust be a validDeviceMemoryhandle
Host Synchronization
- Host access to
memorymust be externally synchronized
See Also
VK_KHR_map_memory2,
DeviceMemory, MemoryUnmapFlagsKHR,
StructureType, unmapMemory2KHR
Constructors
| MemoryUnmapInfoKHR | |
Fields
| |
Instances
newtype MemoryUnmapFlagBitsKHR Source #
VkMemoryUnmapFlagBitsKHR - Bitmask specifying additional parameters of a memory unmap
See Also
Constructors
| MemoryUnmapFlagBitsKHR Flags |
Bundled Patterns
| pattern MEMORY_UNMAP_RESERVE_BIT_EXT :: MemoryUnmapFlagBitsKHR |
|
Instances
type KHR_MAP_MEMORY_2_SPEC_VERSION = 1 Source #
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 #