VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT(3)

# VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT(3) Manual Page

## Name

VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT - Structure describing whether the mutable descriptor type is supported

## C Specification

The `VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT` structure is defined as:

Warning | This functionality is superseded by VK_EXT_descriptor_heap. See Legacy Functionality for more information.

    // Provided by VK_EXT_mutable_descriptor_type
    typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT {
        VkStructureType    sType;
        void*              pNext;
        VkBool32           mutableDescriptorType;
    } VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT;

    // Provided by VK_VALVE_mutable_descriptor_type
    // Equivalent to VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT
    typedef VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE;

## Members

This structure describes the following feature:

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

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

- `mutableDescriptorType` indicates that the implementation must support using the VkDescriptorType of VK_DESCRIPTOR_TYPE_MUTABLE_EXT with at least the following descriptor types, where any combination of the types must be supported:

  - VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE

  - VK_DESCRIPTOR_TYPE_STORAGE_IMAGE

  - VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER

  - VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER

  - VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER

  - VK_DESCRIPTOR_TYPE_STORAGE_BUFFER

## Description

- Additionally, `mutableDescriptorType` indicates that:

  - Non-uniform descriptor indexing must be supported if all descriptor types in a VkMutableDescriptorTypeListEXT for VK_DESCRIPTOR_TYPE_MUTABLE_EXT have the corresponding non-uniform indexing features enabled in VkPhysicalDeviceDescriptorIndexingFeatures.

  - VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT with `descriptorType` of VK_DESCRIPTOR_TYPE_MUTABLE_EXT relaxes the list of required descriptor types to the descriptor types which have the corresponding update-after-bind feature enabled in VkPhysicalDeviceDescriptorIndexingFeatures.

  - Dynamically uniform descriptor indexing must be supported if all descriptor types in a VkMutableDescriptorTypeListEXT for VK_DESCRIPTOR_TYPE_MUTABLE_EXT have the corresponding dynamic indexing features enabled.

  - VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT must be supported.

  - VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT must be supported.

If the `VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT` structure is included in the `pNext` chain of the VkPhysicalDeviceFeatures2 structure passed to vkGetPhysicalDeviceFeatures2, it is filled in to indicate whether each corresponding feature is supported. If the application wishes to use a VkDevice with any features described by `VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT`, it must add an instance of the structure, with the desired feature members set to VK_TRUE, to the `pNext` chain of VkDeviceCreateInfo when creating the VkDevice.

Valid Usage (Implicit)

- VUID-VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT-sType-sType
  `sType` must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT

Structure Chaining

Extends the structures

  - VkDeviceCreateInfo

  - VkPhysicalDeviceFeatures2

## See Also

VK_EXT_mutable_descriptor_type, VK_VALVE_mutable_descriptor_type, 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