Contact
- 
Patrick Boyle [GitHub]pboyleQCOM 
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.
New Structures
- 
Extending VkCommandBufferInheritanceInfo: 
- 
Extending VkMemoryRequirements2: 
- 
Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo: 
- 
Extending VkPhysicalDeviceProperties2: 
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:
- 
Extending VkStructureType: - 
VK_STRUCTURE_TYPE_TILE_MEMORY_SIZE_INFO_QCOM
 
- 
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.