vulkan
Safe HaskellNone
LanguageHaskell2010

Vulkan.Extensions.VK_KHR_maintenance9

Description

Name

VK_KHR_maintenance9 - device extension

VK_KHR_maintenance9

Name String
VK_KHR_maintenance9
Extension Type
Device extension
Registered Extension Number
585
Revision
1
Ratification Status
Ratified
Extension and Version Dependencies
VK_KHR_get_physical_device_properties2 or Vulkan Version 1.1
Contact
Extension Proposal
VK_KHR_maintenance9

Other Extension Metadata

Last Modified Date
2025-05-29
Interactions and External Dependencies; Contributors
  • Mike Blumenkrantz, Valve
  • Shahbaz Youssefi, Google
  • Hans-Kristian Arntzen, Valve
  • Piers Daniell, NVIDIA
  • Daniel Story, Nintendo
  • Jeff Bolz, NVIDIA

Description

VK_KHR_maintenance9 adds a collection of minor features, none of which would warrant an entire extension of their own.

The new features are as follows:

  • Support VkDevice with no queues. These can be used as effectively an offline compiler to prepopulate pipeline caches, without expensive queue creation or internal memory allocations.
  • Allow cmdSetEvent2 to not provide a dependency, providing cmdSetEvent-style usage using enums from VK_KHR_synchronization2
  • Add a QueryPoolCreateFlagBits::QUERY_POOL_CREATE_RESET_BIT_KHR flag to create a query pool with all queries initialized to the reset state.
  • Allow any integer bit width for specific bit-wise operations.
  • Add a property to enable sparse support with VK_EXT_image_2d_view_of_3d.
  • Add a property to indicate the implementation will return (0,0,0,0) or (0,0,0,1) to vertex shaders that read unassigned attributes.
  • The effects of image memory barriers and image layout transitions on 3D images created with VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT are scoped to the slices specified by the user-provided VkImageSubresourceRange.
  • Queue family ownership transfers are no longer required for buffers and linear images, and a new physical device queue family property is exposed to indicate whether queue family ownership transfers are required for optimal images.

New Structures

New Enums

New Enum Constants

Issues

None.

Version History

  • Revision 1, 2025-05-29 (Contributors)

    • Internal revisions

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.

Synopsis

Documentation

data PhysicalDeviceMaintenance9FeaturesKHR Source #

VkPhysicalDeviceMaintenance9FeaturesKHR - Structure describing whether the implementation supports maintenance9 functionality

Members

This structure describes the following feature:

Description

If the PhysicalDeviceMaintenance9FeaturesKHR 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. If the application wishes to use a Device with any features described by PhysicalDeviceMaintenance9FeaturesKHR, it must add an instance of the structure, with the desired feature members set to TRUE, to the pNext chain of DeviceCreateInfo when creating the Device.

Valid Usage (Implicit)

See Also

VK_KHR_maintenance9, Bool32, StructureType

Constructors

PhysicalDeviceMaintenance9FeaturesKHR 

Fields

  • maintenance9 :: Bool

    maintenance9 indicates that the implementation supports the following:

    • The restriction that certain bitfield SPIR-V instructions only operate on 32-bit integers is relaxed.
    • The value returned when a vertex shader reads an unbound vertex attribute is defined by way of the defaultVertexAttributeValue property.
    • A new QueryPoolCreateFlagBits::QUERY_POOL_CREATE_RESET_BIT_KHR flag can be used to initialize all queries in query pool to the reset state on creation.
    • cmdSetEvent2 may not provide a dependency other than the event src stage mask.
    • The effects of image memory barriers and image layout transitions on 3D images created with IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT are limited to only those slices specified in ImageSubresourceRange
    • A device can be created with no queues. This can be used for compiling pipelines or shaders for the purpose of filling pipeline caches.
    • Queue family ownership transfers are no longer required for buffers and linear images. For optimally tiled images, a new physical device query is added to check if resources created with SHARING_MODE_EXCLUSIVE can automatically transfer ownership between two queue families.
    • image2DViewOf3DSparse enables 2D views of 3D sparse images.

Instances

Instances details
Eq PhysicalDeviceMaintenance9FeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance9

Storable PhysicalDeviceMaintenance9FeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance9

Show PhysicalDeviceMaintenance9FeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance9

FromCStruct PhysicalDeviceMaintenance9FeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance9

ToCStruct PhysicalDeviceMaintenance9FeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance9

Zero PhysicalDeviceMaintenance9FeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance9

data PhysicalDeviceMaintenance9PropertiesKHR Source #

VkPhysicalDeviceMaintenance9PropertiesKHR - Structure describing various implementation-defined properties introduced with VK_KHR_maintenance9

Members

  • pNext is NULL or a pointer to a structure extending this structure.
  • If the image2DViewOf3D feature is enabled, image2DViewOf3DSparse indicates whether the implementation supports binding a slice of a sparse 3D image to a 2D image view.
  • defaultVertexAttributeValue is a DefaultVertexAttributeValueKHR that indicates what value the implementation will return when the vertex shader reads unbound vertex attributes. Unbound attributes are those that have no corresponding VertexInputAttributeDescription::location defined in the bound graphics pipeline or no corresponding VertexInputAttributeDescription2EXT::location set by the most recent call to cmdSetVertexInputEXT when the state is dynamic .

Description

If the PhysicalDeviceMaintenance9PropertiesKHR structure is included in the pNext chain of the PhysicalDeviceProperties2 structure passed to getPhysicalDeviceProperties2, it is filled in with each corresponding implementation-dependent property.

Valid Usage (Implicit)

See Also

VK_KHR_maintenance9, Bool32, DefaultVertexAttributeValueKHR, StructureType

Instances

Instances details
Eq PhysicalDeviceMaintenance9PropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance9

Storable PhysicalDeviceMaintenance9PropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance9

Show PhysicalDeviceMaintenance9PropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance9

FromCStruct PhysicalDeviceMaintenance9PropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance9

ToCStruct PhysicalDeviceMaintenance9PropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance9

Zero PhysicalDeviceMaintenance9PropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance9

data QueueFamilyOwnershipTransferPropertiesKHR Source #

VkQueueFamilyOwnershipTransferPropertiesKHR - Structure describing queue family ownership transfer properties

Description

If this structure is included in the pNext chain of the QueueFamilyProperties2 structure passed to getPhysicalDeviceQueueFamilyProperties2, then it is filled with the queue family ownership properties for the specified queue family.

Valid Usage (Implicit)

See Also

VK_KHR_maintenance9, StructureType

Constructors

QueueFamilyOwnershipTransferPropertiesKHR 

Fields

  • optimalImageTransferToQueueFamilies :: Word32

    optimalImageTransferToQueueFamilies is a bitmask of queue family indices that indicates which queue families belonging to the same logical device support implicitly acquiring optimal image resources owned by this queue family, without the resources' contents becoming undefined.

Instances

Instances details
Eq QueueFamilyOwnershipTransferPropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance9

Storable QueueFamilyOwnershipTransferPropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance9

Show QueueFamilyOwnershipTransferPropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance9

FromCStruct QueueFamilyOwnershipTransferPropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance9

ToCStruct QueueFamilyOwnershipTransferPropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance9

Zero QueueFamilyOwnershipTransferPropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance9

newtype DefaultVertexAttributeValueKHR Source #

VkDefaultVertexAttributeValueKHR - Values returned for unbound vertex attributes

Description

See Also

VK_KHR_maintenance9, PhysicalDeviceMaintenance9PropertiesKHR

Instances

Instances details
Eq DefaultVertexAttributeValueKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance9

Ord DefaultVertexAttributeValueKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance9

Storable DefaultVertexAttributeValueKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance9

Read DefaultVertexAttributeValueKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance9

Show DefaultVertexAttributeValueKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance9

Zero DefaultVertexAttributeValueKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance9

type KHR_MAINTENANCE_9_EXTENSION_NAME = "VK_KHR_maintenance9" Source #