VkMemoryMapPlacedInfoEXT(3)

# VkMemoryMapPlacedInfoEXT(3) Manual Page

## Name

VkMemoryMapPlacedInfoEXT - Structure containing memory map placement parameters

Loading… please wait.

## C Specification

If `VK_MEMORY_MAP_PLACED_BIT_EXT` is set in `VkMemoryMapInfo`::`flags` and the `pNext` chain of VkMemoryMapInfo 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 application 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 `vkMapMemory2` will return `VK_SUCCESS`. If it cannot place the map at the requested address for any reason, the memory object is left unmapped and `vkMapMemory2` 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 `VkMemoryMapInfo`::`flags` does not contain `VK_MEMORY_MAP_PLACED_BIT_EXT`, this value is ignored.

## Description

Valid Usage

- VUID-VkMemoryMapPlacedInfoEXT-flags-09576
  If `VkMemoryMapInfo`::`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 `VkMemoryMapInfo`::`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

VK_EXT_map_memory_placed, VkStructureType

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

Copyright 2014-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0