Structures

VkDecompressMemoryRegionEXT

Structure specifying decompression region

The VkDecompressMemoryRegionEXT structure is defined as:

typedef struct VkDecompressMemoryRegionEXT {
    VkDeviceAddress srcAddress;
    VkDeviceAddress dstAddress;
    VkDeviceSize compressedSize;
    VkDeviceSize decompressedSize;
} VkDecompressMemoryRegionEXT;
  • srcAddress is the address where compressed data is stored.
  • dstAddress is the destination address where decompressed data will be written.
  • compressedSize is the size of compressed data in bytes.
  • decompressedSize is the size of decompressed data in bytes.

Accesses to compressed and decompressed data specified in srcAddress and dstAddress must be synchronized with the VK_PIPELINE_STAGE_2_MEMORY_DECOMPRESSION_BIT_EXT

pipeline stage with access type of VK_ACCESS_2_MEMORY_DECOMPRESSION_READ_BIT_EXT or VK_ACCESS_2_MEMORY_DECOMPRESSION_WRITE_BIT_EXT.

Valid Usage

VUID-VkDecompressMemoryRegionEXT-srcAddress-07685

srcAddress must be 4 byte aligned

VUID-VkDecompressMemoryRegionEXT-srcAddress-07686

The memory range defined by srcAddress and compressedSizemust be contained within the size of the buffer bound to srcAddress, minus the offset of srcAddress from the base address of that buffer

VUID-VkDecompressMemoryRegionEXT-dstAddress-07687

dstAddress must be 4 byte aligned

VUID-VkDecompressMemoryRegionEXT-dstAddress-07688

The memory range defined by dstAddress and decompressedSizemust be contained within the size of the buffer bound to dstAddress, minus the offset of dstAddress from the base address of that buffer

VUID-VkDecompressMemoryRegionEXT-decompressedSize-07689

decompressedSize must be large enough to hold the decompressed data based on the decompressionMethod

VUID-VkDecompressMemoryRegionEXT-srcAddress-07691

The memory range defined by srcAddress and compressedSizemust not overlap the memory range defined by dstAddress and decompressedSize

VUID-VkDecompressMemoryRegionEXT-srcAddress-11764

srcAddress must be a device address allocated to the application from a buffer created with the VK_BUFFER_USAGE_2_MEMORY_DECOMPRESSION_BIT_EXT usage flag set

VUID-VkDecompressMemoryRegionEXT-dstAddress-11765

dstAddress must be a device address allocated to the application from a buffer created with the VK_BUFFER_USAGE_2_MEMORY_DECOMPRESSION_BIT_EXT usage flag set