| Safe Haskell | None |
|---|---|
| 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 {
- layeredApiCount :: Word32
- layeredApis :: Ptr (PhysicalDeviceLayeredApiPropertiesKHR ('[] :: [Type]))
- 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 :: Integral a => a
- type KHR_MAINTENANCE_7_EXTENSION_NAME = "VK_KHR_maintenance7"
- pattern KHR_MAINTENANCE_7_EXTENSION_NAME :: (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. 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
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 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 structure 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
Description
PHYSICAL_DEVICE_LAYERED_API_VULKAN_KHR- the device implements the Vulkan API.
PHYSICAL_DEVICE_LAYERED_API_D3D12_KHR- the device implements the D3D12 API.PHYSICAL_DEVICE_LAYERED_API_METAL_KHR- the device implements the Metal API.PHYSICAL_DEVICE_LAYERED_API_OPENGL_KHR- the device implements the OpenGL API.PHYSICAL_DEVICE_LAYERED_API_OPENGLES_KHR- the device implements the OpenGL ES API.
See Also
Constructors
| PhysicalDeviceLayeredApiKHR Int32 |
Bundled Patterns
Instances
type KHR_MAINTENANCE_7_SPEC_VERSION = 1 Source #
pattern KHR_MAINTENANCE_7_SPEC_VERSION :: Integral a => a Source #
type KHR_MAINTENANCE_7_EXTENSION_NAME = "VK_KHR_maintenance7" Source #
pattern KHR_MAINTENANCE_7_EXTENSION_NAME :: (Eq a, IsString a) => a Source #