HORIZON HASKELLDocslts/ghc-9.14.x45dd5372026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 9.14.1 · lts/ghc-9.14.x · 45dd537 · 2026-10-11

Modulevulkan-3.27GHC2021

Vulkan.Extensions.VK_KHR_maintenance7

Name

VK_KHR_maintenance7 - device extension

VK_KHR_maintenance7

Name String

VK_KHR_maintenance7

Extension Type

Device extension

Registered Extension Number

563

Revision

1

Ratification Status

Ratified

Extension and Version Dependencies

Vulkan Version 1.1

Contact
Extension Proposal

VK_KHR_maintenance7

Other Extension Metadata

Last Modified Date

2024-01-30

Interactions and External Dependencies; Contributors
  • Mike Blumenkrantz, Valve

  • Hans-Kristian Arntzen, Valve

  • Pan Gao, Huawei

  • Tobias Hector, AMD

  • Jon Leech, Khronos

  • Daniel Story, Nintendo

  • Shahbaz Youssefi, Google

  • Yiwei Zhang, Google

  • Matthew Netsch, Qualcomm

Description

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

The proposed new features are as follows:

  • Add a property query to determine if a framebuffer writes to depth or stencil aspect does not trigger a write access in the sibling aspect. For example, this allows sampling stencil aspect as a texture while rendering to the sibling depth attachment and vice-versa given appropriate image layouts.

  • Add a way to query information regarding the underlying devices in environments where the Vulkan implementation is provided through layered implementations. For example, running on Mesa/Venus, driver ID is returned as DRIVER_ID_MESA_VENUS, but it can be necessary to know what the real driver under the hood is. The new PhysicalDeviceLayeredApiPropertiesKHR structure can be used to gather information regarding layers underneath the top-level physical device.

  • Promote RENDERING_CONTENTS_INLINE_BIT_EXT and SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_EXT to KHR

  • Add a limit to report the maximum total count of dynamic uniform buffers and dynamic storage buffers that can be included in a pipeline layout.

  • Require that for an unsigned integer query, the 32-bit result value must be equal to the 32 least significant bits of the equivalent 64-bit result value.

  • Add query for robust access support when using fragment shading rate attachments

New Structures

New Enums

New Enum Constants

Issues

None.

Version History

  • Revision 1, 2024-01-30 (Jon Leech)

    • 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.

  • 8 types
  • Packagevulkan-3.27
  • Exports15
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceVK_KHR_maintenance7.hs

VkPhysicalDeviceMaintenance7FeaturesKHR - Structure describing whether the implementation supports maintenance7 functionality

Members

This structure describes the following feature:

Description

If the PhysicalDeviceMaintenance7FeaturesKHR 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 PhysicalDeviceMaintenance7FeaturesKHR, 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.

Structure Chaining

Extends the structures

See Also

VK_KHR_maintenance7, Bool32, StructureType

Constructors

  • PhysicalDeviceMaintenance7FeaturesKHR
    • maintenance7 :: Bool

      maintenance7 indicates that the implementation supports the following:

      • The RENDERING_CONTENTS_INLINE_BIT_KHR and SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_KHR flags can be used to record commands in render pass instances both inline and in secondary command buffers executed with cmdExecuteCommands for dynamic rendering and legacy render passes respectively.

      • Querying information regarding the underlying devices in environments where the Vulkan implementation is provided through layered implementations. This is done by chaining PhysicalDeviceLayeredApiPropertiesListKHR to PhysicalDeviceProperties2.

      • New limits which indicate the maximum total count of dynamic uniform buffers and dynamic storage buffers that can be included in a pipeline layout.

      • 32-bit timestamp queries must wrap on overflow

      • A property that indicates whether a fragment shading rate attachment can have a size that is too small to cover a specified render area.

      • A property that indicates support for writing to one aspect of a depth/stencil attachment without performing a read-modify-write operation on the other aspect

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero

VkPhysicalDeviceMaintenance7PropertiesKHR - Structure describing various implementation-defined properties introduced with VK_KHR_maintenance7

Description

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

Structure Chaining

Extends the structure

See Also

VK_KHR_maintenance7, Bool32, StructureType

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero

VkPhysicalDeviceLayeredApiPropertiesListKHR - Structure describing layered implementations underneath the Vulkan physical device

Description

If pLayeredApis is NULL, then the number of layered implementations that are underneath the top-most Vulkan physical device (i.e. the one returned by getPhysicalDeviceProperties2) is returned in layeredApiCount. Otherwise, layeredApiCount must be set by the application to the number of elements in the pLayeredApis array, and on return is overwritten with the number of values actually written to pLayeredApis. If the value of layeredApiCount is less than the number of layered implementations underneath the Vulkan physical device, at most layeredApiCount values will be written to pLayeredApis. An implementation that is not a layer will return 0 in layeredApiCount.

In the presence of multiple layered implementations, each element of pLayeredApis corresponds to an API implementation that is implemented on top of the API at the previous index. If there are layered implementations underneath a non-Vulkan implementation, they may not be visible in this query as the corresponding APIs may lack such a query.

If the PhysicalDeviceLayeredApiPropertiesListKHR 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)

Structure Chaining

Extends the structure

See Also

VK_KHR_maintenance7, PhysicalDeviceLayeredApiPropertiesKHR, StructureType

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero

VkPhysicalDeviceLayeredApiPropertiesKHR - Structure describing a single layered implementation underneath the Vulkan physical device

Description

If layeredAPI is PHYSICAL_DEVICE_LAYERED_API_VULKAN_KHR, additional Vulkan-specific information can be queried by including the PhysicalDeviceLayeredApiVulkanPropertiesKHR structure in the pNext chain. Otherwise if such a structure is included in the pNext chain, it is ignored.

Valid Usage (Implicit)

See Also

VK_KHR_maintenance7, PhysicalDeviceLayeredApiKHR, PhysicalDeviceLayeredApiPropertiesListKHR, StructureType

Constructors

Instances5Extensible, Show, FromCStruct, ToCStruct, Zero

VkPhysicalDeviceLayeredApiVulkanPropertiesKHR - Structure describing physical device properties of a layered Vulkan implementation underneath the Vulkan physical device

Description

The implementation must zero-fill the contents of properties.properties.limits and properties.properties.sparseProperties.

Valid Usage

Valid Usage (Implicit)

Structure Chaining

Extends the structure

See Also

VK_KHR_maintenance7, PhysicalDeviceProperties2, StructureType

Constructors

Instances4Show, FromCStruct, ToCStruct, Zero
newtypenewtype PhysicalDeviceLayeredApiKHR
#

VkPhysicalDeviceLayeredApiKHR - API implemented by the layered implementation

Description

See Also

VK_KHR_maintenance7, PhysicalDeviceLayeredApiPropertiesKHR

Instances6Eq, Ord, Read, Show, Storable, Zero