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
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_NAMEVK_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_QCOMVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_MEMORY_HEAP_PROPERTIES_QCOMVK_STRUCTURE_TYPE_TILE_MEMORY_BIND_INFO_QCOMVK_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