VK_QCOM_tile_memory_heap(3)

# VK_QCOM_tile_memory_heap(3) Manual Page

## Name

VK_QCOM_tile_memory_heap - device extension

Loading… please wait.

## Registered Extension Number

548

## Revision

1

## Ratification Status

Not ratified

## Extension and Version Dependencies

VK_KHR_get_memory_requirements2
and
VK_KHR_get_physical_device_properties2
or
Vulkan Version 1.1

## API Interactions

- Interacts with VK_QCOM_tile_properties

## Contact

- Patrick Boyle [GitHub]pboyleQCOM

## Extension Proposal

VK_QCOM_tile_memory_heap

## Other Extension Metadata

Last Modified Date

  2025-05-05

Interactions and External Dependencies

  - Interacts with `VK_QCOM_tile_properties`

  - Interacts with `VK_QCOM_tile_shading`

Contributors

  - Patrick Boyle, Qualcomm Technologies, Inc.

  - Matthew Netsch, Qualcomm Technologies, Inc.

  - Srihari Babu Alla, Qualcomm Technologies, Inc.

  - Kevin Matlage, Qualcomm Technologies, Inc.

## Description

This extension adds a new memory heap which allows applications to allocate and manage tile memory. A tile memory heap is denoted by the new `VK_MEMORY_HEAP_TILE_MEMORY_BIT_QCOM` property. Memory contents within this heap behave differently than other heaps and only persist its memory contents within a command buffer submission batch boundary. This boundary may be extended to a queue submit boundary by querying `queueSubmitBoundary` in the new `VkPhysicalDeviceTileMemoryHeapPropertiesQCOM` structure.

Tile memory from this heap can be bound to VkImages or VkBuffers. The following new usage flags `VK_IMAGE_USAGE_TILE_MEMORY_BIT_QCOM`, `VK_BUFFER_USAGE_TILE_MEMORY_BIT_QCOM`, `VK_BUFFER_USAGE_2_TILE_MEMORY_BIT_QCOM` were added for this. A new extended structure is added to get memory requirements for tile memory `VkTileMemoryRequirementsQCOM`.

A new command is added to bind tile memory to a command buffer in order to access and persist tile memory contents while executing commands vkCmdBindTileMemoryQCOM.

This extension can be used in combination with VK_QCOM_tile_properties with the new structure VkTileMemorySizeInfoQCOM.

## Issues

None.

## New Commands

- vkCmdBindTileMemoryQCOM

## New Structures

- Extending VkCommandBufferInheritanceInfo:

  - VkTileMemoryBindInfoQCOM

- Extending VkMemoryRequirements2:

  - VkTileMemoryRequirementsQCOM

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceTileMemoryHeapFeaturesQCOM

- Extending VkPhysicalDeviceProperties2:

  - VkPhysicalDeviceTileMemoryHeapPropertiesQCOM

If VK_QCOM_tile_properties is supported:

- Extending VkRenderPassCreateInfo, VkRenderPassCreateInfo2, VkRenderingInfo:

  - VkTileMemorySizeInfoQCOM

## New Enum Constants

- `VK_QCOM_TILE_MEMORY_HEAP_EXTENSION_NAME`

- `VK_QCOM_TILE_MEMORY_HEAP_SPEC_VERSION`

- Extending VkBufferUsageFlagBits:

  - `VK_BUFFER_USAGE_TILE_MEMORY_BIT_QCOM`

- Extending VkBufferUsageFlagBits2:

  - `VK_BUFFER_USAGE_2_TILE_MEMORY_BIT_QCOM`

- Extending VkImageUsageFlagBits:

  - `VK_IMAGE_USAGE_TILE_MEMORY_BIT_QCOM`

- Extending VkMemoryHeapFlagBits:

  - `VK_MEMORY_HEAP_TILE_MEMORY_BIT_QCOM`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_MEMORY_HEAP_FEATURES_QCOM`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_MEMORY_HEAP_PROPERTIES_QCOM`

  - `VK_STRUCTURE_TYPE_TILE_MEMORY_BIND_INFO_QCOM`

  - `VK_STRUCTURE_TYPE_TILE_MEMORY_REQUIREMENTS_QCOM`

If VK_QCOM_tile_properties is supported:

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_TILE_MEMORY_SIZE_INFO_QCOM`

## Version History

- Revision 1, 2025-03-26 (Patrick Boyle)

  - Initial version

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

## Copyright

Copyright 2014-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0