# VK_EXT_image_compression_control(3) Manual Page

## Name

VK_EXT_image_compression_control - device extension

Loading… please wait.

## Registered Extension Number

339

## Revision

1

## Ratification Status

Not ratified

## Extension and Version Dependencies

VK_KHR_get_physical_device_properties2
or
Vulkan Version 1.1

## Contact

- Jan-Harald Fredriksen [GitHub]janharaldfredriksen-arm

## Extension Proposal

VK_EXT_image_compression_control

## Other Extension Metadata

Last Modified Date

  2022-05-02

IP Status

  No known IP claims.

Contributors

  - Jan-Harald Fredriksen, Arm

  - Graeme Leese, Broadcom

  - Andrew Garrard, Imagination

  - Lisa Wu, Arm

  - Peter Kohaut, Arm

## Description

This extension enables fixed-rate image compression and adds the ability to control when this kind of compression can be applied. Many implementations support some form of framebuffer compression. This is typically transparent to applications as lossless compression schemes are used. With fixed-rate compression, the compression is done at a defined bitrate. Such compression algorithms generally produce results that are visually lossless, but the results are typically not bit-exact when compared to a non-compressed result. The implementation may not be able to use the requested compression rate in all cases. This extension adds a query that can be used to determine the compression scheme and rate that was applied to an image.

## New Commands

- vkGetImageSubresourceLayout2EXT

## New Structures

- VkImageSubresource2EXT

- VkSubresourceLayout2EXT

- Extending VkImageCreateInfo, VkSwapchainCreateInfoKHR, VkPhysicalDeviceImageFormatInfo2:

  - VkImageCompressionControlEXT

- Extending VkImageFormatProperties2, VkSurfaceFormat2KHR, VkSubresourceLayout2:

  - VkImageCompressionPropertiesEXT

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceImageCompressionControlFeaturesEXT

## New Enums

- VkImageCompressionFixedRateFlagBitsEXT

- VkImageCompressionFlagBitsEXT

## New Bitmasks

- VkImageCompressionFixedRateFlagsEXT

- VkImageCompressionFlagsEXT

## New Enum Constants

- `VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME`

- `VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION`

- Extending VkResult:

  - `VK_ERROR_COMPRESSION_EXHAUSTED_EXT`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT`

  - `VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT`

  - `VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT`

  - `VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT`

## Version History

- Revision 1, 2022-05-02 (Jan-Harald Fredriksen)

  - Initial draft

## See Also

No cross-references are available

## Document Notes

For more information, see the Vulkan Specification

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

## Copyright

Copyright 2014-2024 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0