vulkan-3.26.1: Bindings to the Vulkan graphics API.
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; 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 entry points. The new entry points are functionally identical to the core entry points, except that their parameters are specified using extensible structures that can be used to pass extension-specific information.

New Commands

New Structures

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

MemoryMapInfoKHR, MemoryUnmapFlagsKHR, MemoryUnmapInfoKHR, mapMemory2KHR, unmapMemory2KHR

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 io. MonadIO io 
=> Device

device is the logical device that owns the memory.

device must be a valid Device handle

-> MemoryMapInfoKHR

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

See Also

VK_KHR_map_memory2, Device, MemoryUnmapInfoKHR

data MemoryMapInfoKHR Source #

VkMemoryMapInfoKHR - Structure containing parameters of a memory map operation

Valid Usage

  • memory must not be currently host mapped
  • offset must be less than the size of memory
  • If size is not equal to WHOLE_SIZE, size must be greater than 0
  • If size is not equal to WHOLE_SIZE, size must be less than or equal to the size of the memory minus offset
  • memory must have been created with a memory type that reports MEMORY_PROPERTY_HOST_VISIBLE_BIT
  • memory must not have been allocated with multiple instances

Valid Usage (Implicit)

  • pNext must be NULL
  • flags must be 0
  • memory must be a valid DeviceMemory handle

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
Storable MemoryMapInfoKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

Show MemoryMapInfoKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

Eq MemoryMapInfoKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

FromCStruct MemoryMapInfoKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

ToCStruct MemoryMapInfoKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

Zero MemoryMapInfoKHR 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)

  • pNext must be NULL
  • flags must be 0
  • memory must be a valid DeviceMemory handle

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 MemoryUnmapFlagsKHR Source #

VkMemoryUnmapFlagsKHR - Reserved for future use

Description

VkMemoryMapFlagsKHR is a bitmask type for setting a mask, but is currently reserved for future use.

See Also

VK_KHR_map_memory2, MemoryUnmapInfoKHR

Instances

Instances details
Storable MemoryUnmapFlagsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

Bits MemoryUnmapFlagsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

FiniteBits MemoryUnmapFlagsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

Read MemoryUnmapFlagsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

Show MemoryUnmapFlagsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

Eq MemoryUnmapFlagsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

Ord MemoryUnmapFlagsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_map_memory2

Zero MemoryUnmapFlagsKHR 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 #