# VkDecompressMemoryRegionNV(3) Manual Page

## Name

VkDecompressMemoryRegionNV - Structure specifying decompression parameters

Loading… please wait.

## C Specification

The `VkDecompressMemoryRegionNV` structure is defined as:

    // Provided by VK_NV_memory_decompression
    typedef struct VkDecompressMemoryRegionNV {
        VkDeviceAddress                       srcAddress;
        VkDeviceAddress                       dstAddress;
        VkDeviceSize                          compressedSize;
        VkDeviceSize                          decompressedSize;
        VkMemoryDecompressionMethodFlagsNV    decompressionMethod;
    } VkDecompressMemoryRegionNV;

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

- `decompressionMethod` is a bitmask of `VkMemoryDecompressionMethodFlagBitsNV` with a single bit set specifying the method used to decompress data.

## Description

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)

- VUID-VkDecompressMemoryRegionNV-decompressionMethod-parameter
  `decompressionMethod` must be a valid combination of VkMemoryDecompressionMethodFlagBitsNV values

- VUID-VkDecompressMemoryRegionNV-decompressionMethod-requiredbitmask
  `decompressionMethod` must not be `0`

## See Also

VK_NV_memory_decompression, VkDeviceAddress, VkDeviceSize, VkMemoryDecompressionMethodFlagsNV, vkCmdDecompressMemoryNV

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

## Copyright

Copyright 2014-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0