VK_ARM_format_pack(3)

# VK_ARM_format_pack(3) Manual Page

## Name

VK_ARM_format_pack - device extension

## Registered Extension Number

610

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

## Other Extension Metadata

Last Modified Date

  2025-03-24

Interactions and External Dependencies
Contributors

  - Jan-Harald Fredriksen, Arm

  - Lisa Wu, Arm

  - Oivind Boge, Arm

## Description

This extension adds support for additional 1-, 2- and 4-component formats with 10, 12, or 14 bits of components in 16-bit containers.

## New Structures

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceFormatPackFeaturesARM

## New Enum Constants

- `VK_ARM_FORMAT_PACK_EXTENSION_NAME`

- `VK_ARM_FORMAT_PACK_SPEC_VERSION`

- Extending VkFormat:

  - VK_FORMAT_G14X2_B14X2R14X2_2PLANE_420_UNORM_3PACK16_ARM

  - VK_FORMAT_G14X2_B14X2R14X2_2PLANE_422_UNORM_3PACK16_ARM

  - VK_FORMAT_R10X6G10X6B10X6A10X6_UINT_4PACK16_ARM

  - VK_FORMAT_R10X6G10X6_UINT_2PACK16_ARM

  - VK_FORMAT_R10X6_UINT_PACK16_ARM

  - VK_FORMAT_R12X4G12X4B12X4A12X4_UINT_4PACK16_ARM

  - VK_FORMAT_R12X4G12X4_UINT_2PACK16_ARM

  - VK_FORMAT_R12X4_UINT_PACK16_ARM

  - VK_FORMAT_R14X2G14X2B14X2A14X2_UINT_4PACK16_ARM

  - VK_FORMAT_R14X2G14X2B14X2A14X2_UNORM_4PACK16_ARM

  - VK_FORMAT_R14X2G14X2_UINT_2PACK16_ARM

  - VK_FORMAT_R14X2G14X2_UNORM_2PACK16_ARM

  - VK_FORMAT_R14X2_UINT_PACK16_ARM

  - VK_FORMAT_R14X2_UNORM_PACK16_ARM

- Extending VkStructureType:

  - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FORMAT_PACK_FEATURES_ARM

## Issues

### What do we call this extension?

RESOLVED

Many existing extension have the format in the name, but in this case we want to expose multiple formats.

We will describe this set of formats as a “pack”.

### Compatibility classes

RESOLVED

  Should these additional formats be in the same compatibility class as any other formats? For single-plane formats, we put formats with the same number of bits (but different types) in the same class. Each multi-plane or subsampled format gets its own compatibility class. This is consistent with how existing formats are handled.

### Format feature requirements

RESOLVED

  The format feature queries could be used to determine what is supported on any given implementation, but it may be useful to establish a baseline requirement in the specification. For that purpose, we require a set of format features - sufficient to enable texture operations - to be supported for the added unsigned integer single-plane formats. Other formats and format features are optional.

## Version History

- Revision 1, 2025-03-24

  - Initial revision

## 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-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0