VkPhysicalDeviceMaintenance10PropertiesKHR(3)

# VkPhysicalDeviceMaintenance10PropertiesKHR(3) Manual Page

## Name

VkPhysicalDeviceMaintenance10PropertiesKHR - Structure describing various implementation-defined properties introduced with VK_KHR_maintenance10

## C Specification

The `VkPhysicalDeviceMaintenance10PropertiesKHR` structure is defined as:

    // Provided by VK_KHR_maintenance10
    typedef struct VkPhysicalDeviceMaintenance10PropertiesKHR {
        VkStructureType    sType;
        void*              pNext;
        VkBool32           rgba4OpaqueBlackSwizzled;
        VkBool32           resolveSrgbFormatAppliesTransferFunction;
        VkBool32           resolveSrgbFormatSupportsTransferFunctionControl;
    } VkPhysicalDeviceMaintenance10PropertiesKHR;

## Members

- `sType` is a VkStructureType value identifying this structure.

- `pNext` is `NULL` or a pointer to a structure extending this structure.

- `rgba4OpaqueBlackSwizzled` indicates whether correct swizzling is applied to the opaque black border color when using either the VK_FORMAT_B4G4R4A4_UNORM_PACK16 or VK_FORMAT_R4G4B4A4_UNORM_PACK16 format. If it is VK_TRUE, the implementation will correctly produce an opaque black border color with these formats. If it is VK_FALSE, the implementation may swap the first channel with the alpha channel for the border color when sampling.

- `resolveSrgbFormatAppliesTransferFunction` indicates whether resolving a multi-sampled sRGB format to single-sampled sRGB by a weighted average converts the samples to linear before averaging. This applies to both attachment resolves in a render pass and standalone resolve commands. If VK_TRUE, implementation always converts to linear before averaging unless overridden. If VK_FALSE, implementation never converts to linear before averaging unless overridden.

- `resolveSrgbFormatSupportsTransferFunctionControl` indicates whether the implementation supports overriding the default behavior in `resolveSrgbFormatAppliesTransferFunction` in render passes and vkCmdResolveImage2.

## Description

Implementations supporting `maintenance10` should set `resolveSrgbFormatAppliesTransferFunction` to VK_TRUE.

If the `VkPhysicalDeviceMaintenance10PropertiesKHR` structure is included in the `pNext` chain of the VkPhysicalDeviceProperties2 structure passed to vkGetPhysicalDeviceProperties2, it is filled in with each corresponding implementation-dependent property.

Valid Usage (Implicit)

- VUID-VkPhysicalDeviceMaintenance10PropertiesKHR-sType-sType
  `sType` must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_PROPERTIES_KHR

Structure Chaining

Extends the structure

  - VkPhysicalDeviceProperties2

## See Also

VK_KHR_maintenance10, VkBool32, VkStructureType

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

SPDX-License-Identifier: CC-BY-4.0