C Specification

If VK_MEMORY_MAP_PLACED_BIT_EXT is set in VkMemoryMapInfoKHR::flags and the pNext chain of VkMemoryMapInfoKHR includes a VkMemoryMapPlacedInfoEXT structure, then that structure specifies the placement address of the memory map. The implementation will place the memory map at the specified address, replacing any existing maps in the specified memory range. Replacing memory maps in this way does not implicitly unmap Vulkan memory objects. Instead, the client must ensure no other Vulkan memory objects are mapped anywhere in the specified virtual address range. If successful, ppData will be set to the same value as VkMemoryMapPlacedInfoEXT::pPlacedAddress and vkMapMemory2KHR will return VK_SUCCESS. If it cannot place the map at the requested address for any reason, the memory object is left unmapped and vkMapMemory2KHR will return VK_ERROR_MEMORY_MAP_FAILED.

The VkMemoryMapPlacedInfoEXT structure is defined as:

// Provided by VK_EXT_map_memory_placed
typedef struct VkMemoryMapPlacedInfoEXT {
    VkStructureType    sType;
    const void*        pNext;
    void*              pPlacedAddress;
} VkMemoryMapPlacedInfoEXT;

Members

  • sType is a VkStructureType value identifying this structure.

  • pNext is NULL or a pointer to a structure extending this structure.

  • pPlacedAddress is the virtual address at which to place the address. If VkMemoryMapInfoKHR::flags does not contain VK_MEMORY_MAP_PLACED_BIT_EXT, this value is ignored.

Description

Valid Usage
  • VUID-VkMemoryMapPlacedInfoEXT-flags-09576
    If VkMemoryMapInfoKHR::flags contains VK_MEMORY_MAP_PLACED_BIT_EXT, pPlacedAddress must not be NULL

  • VUID-VkMemoryMapPlacedInfoEXT-pPlacedAddress-09577
    pPlacedAddress must be aligned to an integer multiple of VkPhysicalDeviceMapMemoryPlacedPropertiesEXT::minPlacedMemoryMapAlignment

  • VUID-VkMemoryMapPlacedInfoEXT-pPlacedAddress-09578
    The address range specified by pPlacedAddress and VkMemoryMapInfoKHR::size must not overlap any existing Vulkan memory object mapping

Valid Usage (Implicit)
  • VUID-VkMemoryMapPlacedInfoEXT-sType-sType
    sType must be VK_STRUCTURE_TYPE_MEMORY_MAP_PLACED_INFO_EXT

See Also

Document Notes

For more information, see the Vulkan Specification

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

Copyright 2014-2024 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0