| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Vulkan.Extensions.VK_KHR_maintenance6
Description
Name
VK_KHR_maintenance6 - device extension
VK_KHR_maintenance6
- Name String
VK_KHR_maintenance6
- Extension Type
- Device extension
- Registered Extension Number
- 546
- Revision
- 1
- Ratification Status
- Ratified
- Extension and Version Dependencies
- Vulkan Version 1.1
- API Interactions
- Interacts with VK_EXT_descriptor_buffer
- Interacts with VK_KHR_push_descriptor
- Deprecation State
- Promoted to Vulkan 1.4
- Contact
- Extension Proposal
- VK_KHR_maintenance6
Other Extension Metadata
- Last Modified Date
- 2023-08-03
- Interactions and External Dependencies
- Interacts with
VK_EXT_robustness2
- Interacts with
- Contributors
- Jon Leech, Khronos
- Stu Smith, AMD
- Mike Blumenkrantz, Valve
- Ralph Potter, Samsung
- James Fitzpatrick, Imagination Technologies
- Piers Daniell, NVIDIA
- Daniel Story, Nintendo
Description
VK_KHR_maintenance6 adds a collection of minor features, none of which would warrant an entire extension of their own.
The new features are as follows:
BindMemoryStatusKHRmay be included in thepNextchain ofBindBufferMemoryInfoandBindImageMemoryInfo, allowing applications to identify individual resources for which memory binding failed during calls tobindBufferMemory2andbindImageMemory2.- A new property
fragmentShadingRateClampCombinerInputsto indicate if an implementation clamps the inputs to fragment shading rate combiner operations. NULL_HANDLEis allowed to be used when binding an index buffer, instead of a validBufferhandle. When the nullDescriptor feature is enabled, every index fetched results in a value of zero.- A new property
maxCombinedImageSamplerDescriptorCountto indicate the maximum number of descriptors needed for any of the formats that require a sampler Y′CBCR conversion supported by the implementation. - A new property
blockTexelViewCompatibleMultipleLayersindicating whetherIMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BITis allowed to be used withlayerCount> 1 pNextextensible *2 versions of all descriptor binding commands.
New Commands
If VK_EXT_descriptor_buffer is supported:
If VK_KHR_push_descriptor is supported:
New Structures
PushConstantsInfoKHRExtending
BindBufferMemoryInfo,BindImageMemoryInfo:Extending
PhysicalDeviceFeatures2,DeviceCreateInfo:Extending
PhysicalDeviceProperties2:
If VK_EXT_descriptor_buffer is supported:
If VK_KHR_push_descriptor is supported:
New Enum Constants
KHR_MAINTENANCE_6_SPEC_VERSIONExtending
StructureType:
If VK_EXT_descriptor_buffer is supported:
Extending
StructureType:
If VK_KHR_push_descriptor is supported:
Extending
StructureType:
Promotion to Vulkan 1.4
Functionality in this extension is included in core Vulkan 1.4 with the KHR suffix omitted. The original type, enum, and command names are still available as aliases of the core functionality.
Version History
Revision 1, 2023-08-01 (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
- cmdSetDescriptorBufferOffsets2EXT :: forall (a :: [Type]) io. (Extendss SetDescriptorBufferOffsetsInfoEXT a, PokeChain a, MonadIO io) => CommandBuffer -> SetDescriptorBufferOffsetsInfoEXT a -> io ()
- cmdBindDescriptorBufferEmbeddedSamplers2EXT :: forall (a :: [Type]) io. (Extendss BindDescriptorBufferEmbeddedSamplersInfoEXT a, PokeChain a, MonadIO io) => CommandBuffer -> BindDescriptorBufferEmbeddedSamplersInfoEXT a -> io ()
- pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR :: StructureType
- pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR :: StructureType
- pattern STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR :: StructureType
- pattern STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR :: StructureType
- pattern STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR :: StructureType
- pattern STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR :: StructureType
- pattern STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR :: StructureType
- cmdBindDescriptorSets2KHR :: forall {a :: [Type]} {io}. (Extendss BindDescriptorSetsInfo a, PokeChain a, MonadIO io) => CommandBuffer -> BindDescriptorSetsInfo a -> io ()
- cmdPushConstants2KHR :: forall {a :: [Type]} {io}. (Extendss PushConstantsInfo a, PokeChain a, MonadIO io) => CommandBuffer -> PushConstantsInfo a -> io ()
- cmdPushDescriptorSet2KHR :: forall {a :: [Type]} {io}. (Extendss PushDescriptorSetInfo a, PokeChain a, MonadIO io) => CommandBuffer -> PushDescriptorSetInfo a -> io ()
- cmdPushDescriptorSetWithTemplate2KHR :: forall {a :: [Type]} {io}. (Extendss PushDescriptorSetWithTemplateInfo a, PokeChain a, MonadIO io) => CommandBuffer -> PushDescriptorSetWithTemplateInfo a -> io ()
- data SetDescriptorBufferOffsetsInfoEXT (es :: [Type]) = SetDescriptorBufferOffsetsInfoEXT {}
- data BindDescriptorBufferEmbeddedSamplersInfoEXT (es :: [Type]) = BindDescriptorBufferEmbeddedSamplersInfoEXT {
- next :: Chain es
- stageFlags :: ShaderStageFlags
- layout :: PipelineLayout
- set :: Word32
- type PhysicalDeviceMaintenance6FeaturesKHR = PhysicalDeviceMaintenance6Features
- type PhysicalDeviceMaintenance6PropertiesKHR = PhysicalDeviceMaintenance6Properties
- type BindMemoryStatusKHR = BindMemoryStatus
- type BindDescriptorSetsInfoKHR = BindDescriptorSetsInfo
- type PushConstantsInfoKHR = PushConstantsInfo
- type PushDescriptorSetInfoKHR = PushDescriptorSetInfo
- type PushDescriptorSetWithTemplateInfoKHR = PushDescriptorSetWithTemplateInfo
- type KHR_MAINTENANCE_6_SPEC_VERSION = 1
- pattern KHR_MAINTENANCE_6_SPEC_VERSION :: Integral a => a
- type KHR_MAINTENANCE_6_EXTENSION_NAME = "VK_KHR_maintenance6"
- pattern KHR_MAINTENANCE_6_EXTENSION_NAME :: (Eq a, IsString a) => a
Documentation
cmdSetDescriptorBufferOffsets2EXT Source #
Arguments
| :: forall (a :: [Type]) io. (Extendss SetDescriptorBufferOffsetsInfoEXT a, PokeChain a, MonadIO io) | |
| => CommandBuffer |
|
| -> SetDescriptorBufferOffsetsInfoEXT a |
|
| -> io () |
vkCmdSetDescriptorBufferOffsets2EXT - Setting descriptor buffer offsets in a command buffer
Valid Usage
- If
commandBufferis a secondary command buffer, it must have begun withCommandBufferInheritanceDescriptorHeapInfoEXT::pSamplerHeapBindInfoequal toNULL
- If
commandBufferis a secondary command buffer, it must have begun withCommandBufferInheritanceDescriptorHeapInfoEXT::pResourceHeapBindInfoequal toNULL - The descriptorBuffer feature must be enabled
-
Each bit in
pSetDescriptorBufferOffsetsInfo->stageFlagsmust be a stage supported by thecommandBuffer’s parentCommandPool’s queue family
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
pSetDescriptorBufferOffsetsInfomust be a valid pointer to a validSetDescriptorBufferOffsetsInfoEXTstructure -
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_COMPUTE_BIT,QUEUE_DATA_GRAPH_BIT_ARM, orQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_COMPUTE_BIT VK_QUEUE_DATA_GRAPH_BIT_ARM VK_QUEUE_GRAPHICS_BIT | State |
Conditional Rendering
vkCmdSetDescriptorBufferOffsets2EXT is not affected by conditional rendering
See Also
VK_EXT_descriptor_buffer,
VK_KHR_maintenance6,
CommandBuffer,
SetDescriptorBufferOffsetsInfoEXT
cmdBindDescriptorBufferEmbeddedSamplers2EXT Source #
Arguments
| :: forall (a :: [Type]) io. (Extendss BindDescriptorBufferEmbeddedSamplersInfoEXT a, PokeChain a, MonadIO io) | |
| => CommandBuffer |
|
| -> BindDescriptorBufferEmbeddedSamplersInfoEXT a |
|
| -> io () |
vkCmdBindDescriptorBufferEmbeddedSamplers2EXT - Setting embedded immutable samplers offsets in a command buffer
Valid Usage
-
If
commandBufferis a secondary command buffer, it must have begun withCommandBufferInheritanceDescriptorHeapInfoEXT::pSamplerHeapBindInfoequal toNULL
-
If
commandBufferis a secondary command buffer, it must have begun withCommandBufferInheritanceDescriptorHeapInfoEXT::pResourceHeapBindInfoequal toNULL - The descriptorBuffer feature must be enabled
-
Each bit in
pBindDescriptorBufferEmbeddedSamplersInfo->stageFlagsmust be a stage supported by thecommandBuffer’s parentCommandPool’s queue family
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
pBindDescriptorBufferEmbeddedSamplersInfomust be a valid pointer to a validBindDescriptorBufferEmbeddedSamplersInfoEXTstructure -
commandBuffermust be in the recording state -
The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_COMPUTE_BIT, orQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_COMPUTE_BIT VK_QUEUE_GRAPHICS_BIT | State |
Conditional Rendering
vkCmdBindDescriptorBufferEmbeddedSamplers2EXT is not affected by conditional rendering
See Also
VK_EXT_descriptor_buffer,
VK_KHR_maintenance6,
BindDescriptorBufferEmbeddedSamplersInfoEXT,
CommandBuffer
cmdBindDescriptorSets2KHR :: forall {a :: [Type]} {io}. (Extendss BindDescriptorSetsInfo a, PokeChain a, MonadIO io) => CommandBuffer -> BindDescriptorSetsInfo a -> io () Source #
cmdPushConstants2KHR :: forall {a :: [Type]} {io}. (Extendss PushConstantsInfo a, PokeChain a, MonadIO io) => CommandBuffer -> PushConstantsInfo a -> io () Source #
cmdPushDescriptorSet2KHR :: forall {a :: [Type]} {io}. (Extendss PushDescriptorSetInfo a, PokeChain a, MonadIO io) => CommandBuffer -> PushDescriptorSetInfo a -> io () Source #
cmdPushDescriptorSetWithTemplate2KHR :: forall {a :: [Type]} {io}. (Extendss PushDescriptorSetWithTemplateInfo a, PokeChain a, MonadIO io) => CommandBuffer -> PushDescriptorSetWithTemplateInfo a -> io () Source #
data SetDescriptorBufferOffsetsInfoEXT (es :: [Type]) Source #
VkSetDescriptorBufferOffsetsInfoEXT - Structure specifying descriptor buffer offsets to set in a command buffer
Description
If stageFlags specifies a subset of all stages corresponding to one or
more pipeline bind points, the binding operation still affects all
stages corresponding to the given pipeline bind point(s) as if the
equivalent original version of this command had been called with the
same parameters. For example, specifying a stageFlags value of
SHADER_STAGE_VERTEX_BIT |
SHADER_STAGE_FRAGMENT_BIT |
SHADER_STAGE_COMPUTE_BIT is
equivalent to calling the original version of this command once with
PIPELINE_BIND_POINT_GRAPHICS and
once with
PIPELINE_BIND_POINT_COMPUTE.
Valid Usage
- The
offsets in
pOffsetsmust be aligned toPhysicalDeviceDescriptorBufferPropertiesEXT::descriptorBufferOffsetAlignment
- The
offsets in
pOffsetsmust be small enough such that any descriptor binding referenced bylayoutwithout theDESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BITflag computes a valid address inside the underlyingBuffer - The
offsets in
pOffsetsmust be small enough such that any location accessed by a shader as a sampler descriptor must be withinPhysicalDeviceDescriptorBufferPropertiesEXT::maxSamplerDescriptorBufferRangeof the sampler descriptor buffer binding - The
offsets in
pOffsetsmust be small enough such that any location accessed by a shader as a resource descriptor must be withinPhysicalDeviceDescriptorBufferPropertiesEXT::maxResourceDescriptorBufferRangeof the resource descriptor buffer binding - Each
element of
pBufferIndicesmust be less thanPhysicalDeviceDescriptorBufferPropertiesEXT::maxDescriptorBufferBindings - Each
element of
pBufferIndicesmust reference a valid descriptor buffer binding set by a previous call tocmdBindDescriptorBuffersEXTincommandBuffer - The sum of
firstSetandsetCountmust be less than or equal toPipelineLayoutCreateInfo::setLayoutCountprovided whenlayoutwas created - The
DescriptorSetLayoutfor each set fromfirstSettofirstSet+setCountwhenlayoutwas created must have been created with theDESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXTbit set - The
DescriptorSetLayoutfor each set fromfirstSettofirstSet+setCountwhenlayoutwas created must not have been created with theDESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHRbit set - The
DescriptorSetLayoutfor each set fromfirstSettofirstSet+setCountwhenlayoutwas created must not have been created with theDESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXTbit set - If the
dynamicPipelineLayout
feature is not enabled,
layoutmust be a validPipelineLayouthandle - If
layoutisNULL_HANDLE, thepNextchain must include a validPipelineLayoutCreateInfostructure
Valid Usage (Implicit)
-
sTypemust beSTRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT
-
pNextmust beNULLor a pointer to a valid instance ofPipelineLayoutCreateInfo - The
sTypevalue of each structure in thepNextchain must be unique -
stageFlagsmust be a valid combination ofShaderStageFlagBitsvalues -
stageFlagsmust not be0 - If
layoutis notNULL_HANDLE,layoutmust be a validPipelineLayouthandle -
pBufferIndicesmust be a valid pointer to an array ofsetCountuint32_tvalues -
pOffsetsmust be a valid pointer to an array ofsetCountDeviceSizevalues -
setCountmust be greater than0
See Also
VK_EXT_descriptor_buffer,
VK_KHR_maintenance6,
DeviceSize,
PipelineLayout,
ShaderStageFlags,
StructureType,
cmdSetDescriptorBufferOffsets2EXT
Constructors
| SetDescriptorBufferOffsetsInfoEXT | |
Fields
| |
Instances
data BindDescriptorBufferEmbeddedSamplersInfoEXT (es :: [Type]) Source #
VkBindDescriptorBufferEmbeddedSamplersInfoEXT - Structure specifying embedded immutable sampler offsets to set in a command buffer
Description
If stageFlags specifies a subset of all stages corresponding to one or
more pipeline bind points, the binding operation still affects all
stages corresponding to the given pipeline bind point(s) as if the
equivalent original version of this command had been called with the
same parameters. For example, specifying a stageFlags value of
SHADER_STAGE_VERTEX_BIT |
SHADER_STAGE_FRAGMENT_BIT |
SHADER_STAGE_COMPUTE_BIT is
equivalent to calling the original version of this command once with
PIPELINE_BIND_POINT_GRAPHICS and
once with
PIPELINE_BIND_POINT_COMPUTE.
Valid Usage
- The
DescriptorSetLayoutat indexsetwhenlayoutwas created must have been created with theDESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXTbit set
-
setmust be less than or equal toPipelineLayoutCreateInfo::setLayoutCountprovided whenlayoutwas created - If
the
dynamicPipelineLayout
feature is not enabled,
layoutmust be a validPipelineLayouthandle - If
layoutisNULL_HANDLE, thepNextchain must include a validPipelineLayoutCreateInfostructure
Valid Usage (Implicit)
-
pNextmust beNULLor a pointer to a valid instance ofPipelineLayoutCreateInfo -
The
sTypevalue of each structure in thepNextchain must be unique -
stageFlagsmust be a valid combination ofShaderStageFlagBitsvalues -
stageFlagsmust not be0 -
If
layoutis notNULL_HANDLE,layoutmust be a validPipelineLayouthandle
See Also
VK_EXT_descriptor_buffer,
VK_KHR_maintenance6,
PipelineLayout,
ShaderStageFlags,
StructureType,
cmdBindDescriptorBufferEmbeddedSamplers2EXT
Constructors
| BindDescriptorBufferEmbeddedSamplersInfoEXT | |
Fields
| |
Instances
type KHR_MAINTENANCE_6_SPEC_VERSION = 1 Source #
pattern KHR_MAINTENANCE_6_SPEC_VERSION :: Integral a => a Source #
type KHR_MAINTENANCE_6_EXTENSION_NAME = "VK_KHR_maintenance6" Source #
pattern KHR_MAINTENANCE_6_EXTENSION_NAME :: (Eq a, IsString a) => a Source #