| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
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 newPhysicalDeviceLayeredApiPropertiesKHRstructure can be used to gather information regarding layers underneath the top-level physical device. - Promote
RENDERING_CONTENTS_INLINE_BIT_EXTandSUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_EXTto 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
Extending
PhysicalDeviceFeatures2,DeviceCreateInfo:Extending
PhysicalDeviceLayeredApiPropertiesKHR:Extending
PhysicalDeviceProperties2:
New Enums
New Enum Constants
KHR_MAINTENANCE_7_SPEC_VERSIONExtending
RenderingFlagBits:Extending
StructureType:Extending
SubpassContents:
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
- data PhysicalDeviceMaintenance7FeaturesKHR = PhysicalDeviceMaintenance7FeaturesKHR {
- maintenance7 :: Bool
- data PhysicalDeviceMaintenance7PropertiesKHR = PhysicalDeviceMaintenance7PropertiesKHR {
- robustFragmentShadingRateAttachmentAccess :: Bool
- separateDepthStencilAttachmentAccess :: Bool
- maxDescriptorSetTotalUniformBuffersDynamic :: Word32
- maxDescriptorSetTotalStorageBuffersDynamic :: Word32
- maxDescriptorSetTotalBuffersDynamic :: Word32
- maxDescriptorSetUpdateAfterBindTotalUniformBuffersDynamic :: Word32
- maxDescriptorSetUpdateAfterBindTotalStorageBuffersDynamic :: Word32
- maxDescriptorSetUpdateAfterBindTotalBuffersDynamic :: Word32
- data PhysicalDeviceLayeredApiPropertiesListKHR = PhysicalDeviceLayeredApiPropertiesListKHR {}
- data PhysicalDeviceLayeredApiPropertiesKHR (es :: [Type]) = PhysicalDeviceLayeredApiPropertiesKHR {}
- data PhysicalDeviceLayeredApiVulkanPropertiesKHR = PhysicalDeviceLayeredApiVulkanPropertiesKHR {}
- newtype PhysicalDeviceLayeredApiKHR where
- PhysicalDeviceLayeredApiKHR Int32
- pattern PHYSICAL_DEVICE_LAYERED_API_VULKAN_KHR :: PhysicalDeviceLayeredApiKHR
- pattern PHYSICAL_DEVICE_LAYERED_API_D3D12_KHR :: PhysicalDeviceLayeredApiKHR
- pattern PHYSICAL_DEVICE_LAYERED_API_METAL_KHR :: PhysicalDeviceLayeredApiKHR
- pattern PHYSICAL_DEVICE_LAYERED_API_OPENGL_KHR :: PhysicalDeviceLayeredApiKHR
- pattern PHYSICAL_DEVICE_LAYERED_API_OPENGLES_KHR :: PhysicalDeviceLayeredApiKHR
- type KHR_MAINTENANCE_7_SPEC_VERSION = 1
- pattern KHR_MAINTENANCE_7_SPEC_VERSION :: forall a. Integral a => a
- type KHR_MAINTENANCE_7_EXTENSION_NAME = "VK_KHR_maintenance7"
- pattern KHR_MAINTENANCE_7_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
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. PhysicalDeviceMaintenance7FeaturesKHR can also be used in
the pNext chain of DeviceCreateInfo to
selectively enable these features.
Valid Usage (Implicit)
See Also
Constructors
| PhysicalDeviceMaintenance7FeaturesKHR | |
Fields
| |
Instances
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
Constructors
| PhysicalDeviceMaintenance7PropertiesKHR | |
Fields
| |
Instances
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 the variable 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)
-
If
layeredApiCountis not0, andpLayeredApisis notNULL,pLayeredApismust be a valid pointer to an array oflayeredApiCountPhysicalDeviceLayeredApiPropertiesKHRstructures
See Also
VK_KHR_maintenance7,
PhysicalDeviceLayeredApiPropertiesKHR,
StructureType
Constructors
| PhysicalDeviceLayeredApiPropertiesListKHR | |
Fields
| |
Instances
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)
-
pNextmust beNULLor a pointer to a valid instance ofPhysicalDeviceLayeredApiVulkanPropertiesKHR - The
sTypevalue of each struct in thepNextchain must be unique
See Also
VK_KHR_maintenance7,
PhysicalDeviceLayeredApiKHR,
PhysicalDeviceLayeredApiPropertiesListKHR,
StructureType
Constructors
| PhysicalDeviceLayeredApiPropertiesKHR | |
Fields
| |
Instances
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
-
Only
PhysicalDeviceDriverPropertiesandPhysicalDeviceIDPropertiesare allowed in thepNextchain ofproperties
Valid Usage (Implicit)
See Also
VK_KHR_maintenance7,
PhysicalDeviceProperties2,
StructureType
Constructors
| PhysicalDeviceLayeredApiVulkanPropertiesKHR | |
Fields
| |
Instances
newtype PhysicalDeviceLayeredApiKHR Source #
VkPhysicalDeviceLayeredApiKHR - API implemented by the layered implementation
See Also
Constructors
| PhysicalDeviceLayeredApiKHR Int32 |
Bundled Patterns
| pattern PHYSICAL_DEVICE_LAYERED_API_VULKAN_KHR :: PhysicalDeviceLayeredApiKHR |
|
| pattern PHYSICAL_DEVICE_LAYERED_API_D3D12_KHR :: PhysicalDeviceLayeredApiKHR |
|
| pattern PHYSICAL_DEVICE_LAYERED_API_METAL_KHR :: PhysicalDeviceLayeredApiKHR |
|
| pattern PHYSICAL_DEVICE_LAYERED_API_OPENGL_KHR :: PhysicalDeviceLayeredApiKHR |
|
| pattern PHYSICAL_DEVICE_LAYERED_API_OPENGLES_KHR :: PhysicalDeviceLayeredApiKHR |
|
Instances
type KHR_MAINTENANCE_7_SPEC_VERSION = 1 Source #
pattern KHR_MAINTENANCE_7_SPEC_VERSION :: forall a. Integral a => a Source #
type KHR_MAINTENANCE_7_EXTENSION_NAME = "VK_KHR_maintenance7" Source #
pattern KHR_MAINTENANCE_7_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #