VK_QCOM_tile_memory_heap

Other Extension Metadata

Last Modified Date

2025-05-05

Interactions and External Dependencies
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

New Structures

If VK_QCOM_tile_properties is supported:

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:

Version History

  • Revision 1, 2025-03-26 (Patrick Boyle)
    • Initial version