vulkan-3.24.4: Bindings to the Vulkan graphics API.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Vulkan.Extensions.VK_VALVE_mutable_descriptor_type

Description

Name

VK_VALVE_mutable_descriptor_type - device extension

VK_VALVE_mutable_descriptor_type

Name String
VK_VALVE_mutable_descriptor_type
Extension Type
Device extension
Registered Extension Number
352
Revision
1
Extension and Version Dependencies
  • Requires support for Vulkan 1.0
  • Requires VK_KHR_maintenance3 to be enabled for any device-level functionality
Deprecation state
  • Promoted to VK_EXT_mutable_descriptor_type extension
Special Use
Contact

Other Extension Metadata

Last Modified Date
2020-12-02
IP Status
No known IP claims.
Contributors
  • Joshua Ashton, Valve
  • Hans-Kristian Arntzen, Valve

Description

This extension allows applications to reduce descriptor memory footprint by allowing a descriptor to be able to mutate to a given list of descriptor types depending on which descriptor types are written into, or copied into a descriptor set.

The main use case this extension intends to address is descriptor indexing with DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT where the descriptor types are completely generic, as this means applications can allocate one large descriptor set, rather than having one large descriptor set per descriptor type, which significantly bloats descriptor memory usage and causes performance issues.

This extension also adds a mechanism to declare that a descriptor pool, and therefore the descriptor sets that are allocated from it, reside only in host memory; as such these descriptors can only be updated/copied, but not bound.

These features together allow much more efficient emulation of the raw D3D12 binding model. This extension is primarily intended to be useful for API layering efforts.

New Structures

New Enum Constants

Version History

  • Revision 1, 2020-12-01 (Joshua Ashton, Hans-Kristian Arntzen)

    • Initial specification, squashed from public draft.

See Also

MutableDescriptorTypeCreateInfoVALVE, MutableDescriptorTypeListVALVE, PhysicalDeviceMutableDescriptorTypeFeaturesVALVE

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.

Synopsis

Documentation

type VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME = "VK_VALVE_mutable_descriptor_type" Source #

data PhysicalDeviceMutableDescriptorTypeFeaturesEXT Source #

VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT - Structure describing whether the mutable descriptor type is supported

Members

This structure describes the following feature:

Description

  • sType is the type of this structure.

If the PhysicalDeviceMutableDescriptorTypeFeaturesEXT structure is included in the pNext chain of the PhysicalDeviceFeatures2 structure passed to getPhysicalDeviceFeatures2, it is filled in to indicate whether each corresponding feature is supported. PhysicalDeviceMutableDescriptorTypeFeaturesEXT can also be used in the pNext chain of DeviceCreateInfo to selectively enable these features.

Valid Usage (Implicit)

See Also

VK_EXT_mutable_descriptor_type, VK_VALVE_mutable_descriptor_type, Bool32, StructureType

Instances

Instances details
Storable PhysicalDeviceMutableDescriptorTypeFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_mutable_descriptor_type

Show PhysicalDeviceMutableDescriptorTypeFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_mutable_descriptor_type

Eq PhysicalDeviceMutableDescriptorTypeFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_mutable_descriptor_type

FromCStruct PhysicalDeviceMutableDescriptorTypeFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_mutable_descriptor_type

ToCStruct PhysicalDeviceMutableDescriptorTypeFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_mutable_descriptor_type

Zero PhysicalDeviceMutableDescriptorTypeFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_mutable_descriptor_type

data MutableDescriptorTypeListEXT Source #

VkMutableDescriptorTypeListEXT - Structure describing descriptor types that a given descriptor may mutate to

Valid Usage

Valid Usage (Implicit)

  • If descriptorTypeCount is not 0, pDescriptorTypes must be a valid pointer to an array of descriptorTypeCount valid DescriptorType values

See Also

VK_EXT_mutable_descriptor_type, VK_VALVE_mutable_descriptor_type, DescriptorType, MutableDescriptorTypeCreateInfoEXT

Constructors

MutableDescriptorTypeListEXT 

Fields

data MutableDescriptorTypeCreateInfoEXT Source #

VkMutableDescriptorTypeCreateInfoEXT - Structure describing the list of possible active descriptor types for mutable type descriptors

Description

If mutableDescriptorTypeListCount is zero or if this structure is not included in the pNext chain, the MutableDescriptorTypeListEXT for each element is considered to be zero or NULL for each member. Otherwise, the descriptor set layout binding at DescriptorSetLayoutCreateInfo::pBindings[i] uses the descriptor type lists in MutableDescriptorTypeCreateInfoEXT::pMutableDescriptorTypeLists[i].

Valid Usage (Implicit)

  • If mutableDescriptorTypeListCount is not 0, pMutableDescriptorTypeLists must be a valid pointer to an array of mutableDescriptorTypeListCount valid MutableDescriptorTypeListEXT structures

See Also

VK_EXT_mutable_descriptor_type, VK_VALVE_mutable_descriptor_type, MutableDescriptorTypeListEXT, StructureType

Constructors

MutableDescriptorTypeCreateInfoEXT 

Fields