vulkan
Safe HaskellNone
LanguageHaskell2010

Vulkan.Extensions.VK_KHR_maintenance7

Description

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.

Synopsis

Documentation

data PhysicalDeviceMaintenance7FeaturesKHR Source #

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.

Valid Usage (Implicit)

See Also

VK_KHR_maintenance7, Bool32, StructureType

Constructors

PhysicalDeviceMaintenance7FeaturesKHR 

Fields

  • 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

Instances

Instances details
Eq PhysicalDeviceMaintenance7FeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance7

Storable PhysicalDeviceMaintenance7FeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance7

Show PhysicalDeviceMaintenance7FeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance7

FromCStruct PhysicalDeviceMaintenance7FeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance7

ToCStruct PhysicalDeviceMaintenance7FeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance7

Zero PhysicalDeviceMaintenance7FeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance7

data PhysicalDeviceMaintenance7PropertiesKHR Source #

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.

Valid Usage (Implicit)

See Also

VK_KHR_maintenance7, Bool32, StructureType

Constructors

PhysicalDeviceMaintenance7PropertiesKHR 

Fields

Instances

Instances details
Eq PhysicalDeviceMaintenance7PropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance7

Storable PhysicalDeviceMaintenance7PropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance7

Show PhysicalDeviceMaintenance7PropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance7

FromCStruct PhysicalDeviceMaintenance7PropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance7

ToCStruct PhysicalDeviceMaintenance7PropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance7

Zero PhysicalDeviceMaintenance7PropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance7

data PhysicalDeviceLayeredApiPropertiesListKHR Source #

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)

See Also

VK_KHR_maintenance7, PhysicalDeviceLayeredApiPropertiesKHR, StructureType

Constructors

PhysicalDeviceLayeredApiPropertiesListKHR 

Fields

Instances

Instances details
Eq PhysicalDeviceLayeredApiPropertiesListKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance7

Storable PhysicalDeviceLayeredApiPropertiesListKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance7

Show PhysicalDeviceLayeredApiPropertiesListKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance7

FromCStruct PhysicalDeviceLayeredApiPropertiesListKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance7

ToCStruct PhysicalDeviceLayeredApiPropertiesListKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance7

Zero PhysicalDeviceLayeredApiPropertiesListKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance7

data PhysicalDeviceLayeredApiPropertiesKHR (es :: [Type]) Source #

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

PhysicalDeviceLayeredApiPropertiesKHR 

Fields

Instances

Instances details
Extensible PhysicalDeviceLayeredApiPropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance7

Show (Chain es) => Show (PhysicalDeviceLayeredApiPropertiesKHR es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance7

(Extendss PhysicalDeviceLayeredApiPropertiesKHR es, PeekChain es) => FromCStruct (PhysicalDeviceLayeredApiPropertiesKHR es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance7

(Extendss PhysicalDeviceLayeredApiPropertiesKHR es, PokeChain es) => ToCStruct (PhysicalDeviceLayeredApiPropertiesKHR es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance7

es ~ ('[] :: [Type]) => Zero (PhysicalDeviceLayeredApiPropertiesKHR es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance7

data PhysicalDeviceLayeredApiVulkanPropertiesKHR Source #

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)

See Also

VK_KHR_maintenance7, PhysicalDeviceProperties2, StructureType

Constructors

PhysicalDeviceLayeredApiVulkanPropertiesKHR 

Fields

newtype PhysicalDeviceLayeredApiKHR Source #

VkPhysicalDeviceLayeredApiKHR - API implemented by the layered implementation

Description

See Also

VK_KHR_maintenance7, PhysicalDeviceLayeredApiPropertiesKHR

Instances

Instances details
Eq PhysicalDeviceLayeredApiKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance7

Ord PhysicalDeviceLayeredApiKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance7

Storable PhysicalDeviceLayeredApiKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance7

Read PhysicalDeviceLayeredApiKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance7

Show PhysicalDeviceLayeredApiKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance7

Zero PhysicalDeviceLayeredApiKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_maintenance7

type KHR_MAINTENANCE_7_EXTENSION_NAME = "VK_KHR_maintenance7" Source #