VkDecompressMemoryRegionEXT(3)

Name

VkDecompressMemoryRegionEXT - Structure specifying decompression region

C Specification

The VkDecompressMemoryRegionEXT structure is defined as:

// Provided by VK_EXT_memory_decompression
typedef struct VkDecompressMemoryRegionEXT {
    VkDeviceAddress    srcAddress;
    VkDeviceAddress    dstAddress;
    VkDeviceSize       compressedSize;
    VkDeviceSize       decompressedSize;
} VkDecompressMemoryRegionEXT;

Members

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

Description

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 compressedSize must 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 decompressedSize must 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-compressedSize-11795
    compressedSize must not be zero

  • VUID-VkDecompressMemoryRegionEXT-decompressedSize-11796
    decompressedSize must not be zero

  • VUID-VkDecompressMemoryRegionEXT-srcAddress-07691
    The memory range defined by srcAddress and compressedSize must not overlap the memory range defined by dstAddress and decompressedSize

  • VUID-VkDecompressMemoryRegionEXT-srcAddress-11764
    The underlying buffer for srcAddress must have the VK_BUFFER_USAGE_2_MEMORY_DECOMPRESSION_BIT_EXT bit set in its usage flag

  • VUID-VkDecompressMemoryRegionEXT-dstAddress-11765
    The underlying buffer for dstAddress must have the VK_BUFFER_USAGE_2_MEMORY_DECOMPRESSION_BIT_EXT bit set in its usage flag

Valid Usage (Implicit)
  • VUID-VkDecompressMemoryRegionEXT-srcAddress-parameter
    srcAddress must be a valid VkDeviceAddress value

  • VUID-VkDecompressMemoryRegionEXT-dstAddress-parameter
    dstAddress must be a valid VkDeviceAddress value

See Also

VK_EXT_memory_decompression, VkDecompressMemoryInfoEXT, VkDeviceAddress, VkDeviceSize

Document Notes

For more information, see the Vulkan Specification.

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.