Structures

VkDecompressMemoryRegionNV

Structure specifying decompression parameters

The VkDecompressMemoryRegionNV structure is defined as:

typedef struct VkDecompressMemoryRegionNV {
    VkDeviceAddress srcAddress;
    VkDeviceAddress dstAddress;
    VkDeviceSize compressedSize;
    VkDeviceSize decompressedSize;
    VkMemoryDecompressionMethodFlagsNV decompressionMethod;
} VkDecompressMemoryRegionNV;
  • 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.
  • decompressionMethod is a bitmask of VkMemoryDecompressionMethodFlagBitsNV with a single bit set specifying the method used to decompress data.

Valid Usage

VUID-VkDecompressMemoryRegionNV-srcAddress-07685

The srcAddress must be 4 byte aligned

VUID-VkDecompressMemoryRegionNV-srcAddress-07686

The memory in range srcAddress and srcAddress + compressedSize must be valid and bound to a VkDeviceMemory object

VUID-VkDecompressMemoryRegionNV-dstAddress-07687

The dstAddress must be 4 byte aligned

VUID-VkDecompressMemoryRegionNV-decompressionMethod-09395

If decompressionMethod is VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV, then decompressedSize must be less than or equal to 65536 bytes

VUID-VkDecompressMemoryRegionNV-dstAddress-07688

The memory in range dstAddress and dstAddress + decompressedSize must be valid and bound to a VkDeviceMemory object

VUID-VkDecompressMemoryRegionNV-decompressedSize-07689

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

VUID-VkDecompressMemoryRegionNV-decompressionMethod-07690

The decompressionMethod must have a single bit set

VUID-VkDecompressMemoryRegionNV-srcAddress-07691

The srcAddress to srcAddress + compressedSize region must not overlap with the dstAddress and dstAddress + decompressedSize region

Valid Usage (Implicit)