Function Prototype

vkCmdDecompressMemoryNV

Decompress data between memory regions
primary / secondary
outside
graphics / compute
action

To decompress data between one or more memory regions call:

void vkCmdDecompressMemoryNV(
    VkCommandBuffer commandBuffer,
    uint32_t decompressRegionCount,
    const VkDecompressMemoryRegionNV* pDecompressMemoryRegions);
  • commandBuffer is the command buffer into which the command will be recorded.
  • decompressRegionCount is the number of memory regions to decompress.
  • pDecompressMemoryRegions is a pointer to an array of decompressRegionCount VkDecompressMemoryRegionNV structures specifying decompression parameters.

Each region specified in pDecompressMemoryRegions is decompressed from the source to destination region based on the specified decompression method.

Valid Usage

Valid Usage (Implicit)

VUID-vkCmdDecompressMemoryNV-pDecompressMemoryRegions-parameter

pDecompressMemoryRegions must be a valid pointer to an array of decompressRegionCount valid VkDecompressMemoryRegionNV structures

VUID-vkCmdDecompressMemoryNV-commandBuffer-cmdpool

The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations

VUID-vkCmdDecompressMemoryNV-renderpass

This command must only be called outside of a render pass instance

VUID-vkCmdDecompressMemoryNV-videocoding

This command must only be called outside of a video coding scope

VUID-vkCmdDecompressMemoryNV-decompressRegionCount-arraylength

decompressRegionCount must be greater than 0

Host Synchronization

  • Host access to commandBuffer must be externally synchronized
  • Host access to the VkCommandPool that commandBuffer was allocated from must be externally synchronized ::