| Safe Haskell | Safe-Inferred |
|---|---|
| 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
- 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:
Issues
None.
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
- cmdBindDescriptorSets2KHR :: forall a io. (Extendss BindDescriptorSetsInfoKHR a, PokeChain a, MonadIO io) => CommandBuffer -> BindDescriptorSetsInfoKHR a -> io ()
- cmdPushConstants2KHR :: forall a io. (Extendss PushConstantsInfoKHR a, PokeChain a, MonadIO io) => CommandBuffer -> PushConstantsInfoKHR a -> io ()
- cmdPushDescriptorSet2KHR :: forall a io. (Extendss PushDescriptorSetInfoKHR a, PokeChain a, MonadIO io) => CommandBuffer -> PushDescriptorSetInfoKHR a -> io ()
- cmdPushDescriptorSetWithTemplate2KHR :: forall a io. (Extendss PushDescriptorSetWithTemplateInfoKHR a, PokeChain a, MonadIO io) => CommandBuffer -> PushDescriptorSetWithTemplateInfoKHR a -> io ()
- cmdSetDescriptorBufferOffsets2EXT :: forall a io. (Extendss SetDescriptorBufferOffsetsInfoEXT a, PokeChain a, MonadIO io) => CommandBuffer -> SetDescriptorBufferOffsetsInfoEXT a -> io ()
- cmdBindDescriptorBufferEmbeddedSamplers2EXT :: forall a io. (Extendss BindDescriptorBufferEmbeddedSamplersInfoEXT a, PokeChain a, MonadIO io) => CommandBuffer -> BindDescriptorBufferEmbeddedSamplersInfoEXT a -> io ()
- data PhysicalDeviceMaintenance6FeaturesKHR = PhysicalDeviceMaintenance6FeaturesKHR {
- maintenance6 :: Bool
- data PhysicalDeviceMaintenance6PropertiesKHR = PhysicalDeviceMaintenance6PropertiesKHR {}
- data BindMemoryStatusKHR = BindMemoryStatusKHR {}
- data BindDescriptorSetsInfoKHR (es :: [Type]) = BindDescriptorSetsInfoKHR {}
- data PushConstantsInfoKHR (es :: [Type]) = PushConstantsInfoKHR {
- next :: Chain es
- layout :: PipelineLayout
- stageFlags :: ShaderStageFlags
- offset :: Word32
- size :: Word32
- values :: Ptr ()
- data PushDescriptorSetInfoKHR (es :: [Type]) = PushDescriptorSetInfoKHR {}
- data PushDescriptorSetWithTemplateInfoKHR (es :: [Type]) = PushDescriptorSetWithTemplateInfoKHR {
- next :: Chain es
- descriptorUpdateTemplate :: DescriptorUpdateTemplate
- layout :: PipelineLayout
- set :: Word32
- data' :: Ptr ()
- data SetDescriptorBufferOffsetsInfoEXT (es :: [Type]) = SetDescriptorBufferOffsetsInfoEXT {}
- data BindDescriptorBufferEmbeddedSamplersInfoEXT (es :: [Type]) = BindDescriptorBufferEmbeddedSamplersInfoEXT {
- next :: Chain es
- stageFlags :: ShaderStageFlags
- layout :: PipelineLayout
- set :: Word32
- type KHR_MAINTENANCE_6_SPEC_VERSION = 1
- pattern KHR_MAINTENANCE_6_SPEC_VERSION :: forall a. Integral a => a
- type KHR_MAINTENANCE_6_EXTENSION_NAME = "VK_KHR_maintenance6"
- pattern KHR_MAINTENANCE_6_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
Documentation
cmdBindDescriptorSets2KHR Source #
Arguments
| :: forall a io. (Extendss BindDescriptorSetsInfoKHR a, PokeChain a, MonadIO io) | |
| => CommandBuffer |
|
| -> BindDescriptorSetsInfoKHR a |
|
| -> io () |
vkCmdBindDescriptorSets2KHR - Binds descriptor sets to a command buffer
Valid Usage
-
Each bit in
pBindDescriptorSetsInfo->stageFlagsmust be a stage supported by thecommandBuffer’s parentCommandPool’s queue family
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
pBindDescriptorSetsInfomust be a valid pointer to a validBindDescriptorSetsInfoKHRstructure -
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must support graphics, or compute operations - 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 | Graphics Compute | State |
See Also
VK_KHR_maintenance6,
BindDescriptorSetsInfoKHR, CommandBuffer
Arguments
| :: forall a io. (Extendss PushConstantsInfoKHR a, PokeChain a, MonadIO io) | |
| => CommandBuffer |
|
| -> PushConstantsInfoKHR a |
|
| -> io () |
vkCmdPushConstants2KHR - Update the values of push constants
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
pPushConstantsInfomust be a valid pointer to a validPushConstantsInfoKHRstructure -
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must support graphics, or compute operations - 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 | Graphics Compute | State |
See Also
cmdPushDescriptorSet2KHR Source #
Arguments
| :: forall a io. (Extendss PushDescriptorSetInfoKHR a, PokeChain a, MonadIO io) | |
| => CommandBuffer |
|
| -> PushDescriptorSetInfoKHR a |
|
| -> io () |
vkCmdPushDescriptorSet2KHR - Pushes descriptor updates into a command buffer
Valid Usage
- Each
bit in
pPushDescriptorSetInfo->stageFlagsmust be a stage supported by thecommandBuffer’s parentCommandPool’s queue family
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
pPushDescriptorSetInfomust be a valid pointer to a validPushDescriptorSetInfoKHRstructure -
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must support graphics, or compute operations - 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 | Graphics Compute | State |
See Also
VK_KHR_maintenance6,
VK_KHR_push_descriptor,
CommandBuffer, PushDescriptorSetInfoKHR
cmdPushDescriptorSetWithTemplate2KHR Source #
Arguments
| :: forall a io. (Extendss PushDescriptorSetWithTemplateInfoKHR a, PokeChain a, MonadIO io) | |
| => CommandBuffer |
|
| -> PushDescriptorSetWithTemplateInfoKHR a |
|
| -> io () |
vkCmdPushDescriptorSetWithTemplate2KHR - Pushes descriptor updates into a command buffer using a descriptor update template
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
pPushDescriptorSetWithTemplateInfomust be a valid pointer to a validPushDescriptorSetWithTemplateInfoKHRstructure -
commandBuffermust be in the recording state -
The
CommandPoolthatcommandBufferwas allocated from must support graphics, or compute operations - 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 | Graphics Compute | State |
See Also
VK_KHR_maintenance6,
VK_KHR_push_descriptor,
CommandBuffer,
PushDescriptorSetWithTemplateInfoKHR
cmdSetDescriptorBufferOffsets2EXT Source #
Arguments
| :: forall a io. (Extendss SetDescriptorBufferOffsetsInfoEXT a, PokeChain a, MonadIO io) | |
| => CommandBuffer |
|
| -> SetDescriptorBufferOffsetsInfoEXT a |
|
| -> io () |
vkCmdSetDescriptorBufferOffsets2EXT - Setting descriptor buffer offsets in a command buffer
Valid Usage
- 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 support graphics, or compute operations - 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 | Graphics Compute | State |
See Also
VK_EXT_descriptor_buffer,
VK_KHR_maintenance6,
CommandBuffer,
SetDescriptorBufferOffsetsInfoEXT
cmdBindDescriptorBufferEmbeddedSamplers2EXT Source #
Arguments
| :: forall a io. (Extendss BindDescriptorBufferEmbeddedSamplersInfoEXT a, PokeChain a, MonadIO io) | |
| => CommandBuffer |
|
| -> BindDescriptorBufferEmbeddedSamplersInfoEXT a |
|
| -> io () |
vkCmdBindDescriptorBufferEmbeddedSamplers2EXT - Setting embedded immutable samplers offsets in a command buffer
Valid Usage
- 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 support graphics, or compute operations - 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 | Graphics Compute | State |
See Also
VK_EXT_descriptor_buffer,
VK_KHR_maintenance6,
BindDescriptorBufferEmbeddedSamplersInfoEXT,
CommandBuffer
data PhysicalDeviceMaintenance6FeaturesKHR Source #
VkPhysicalDeviceMaintenance6FeaturesKHR - Structure describing whether the implementation supports maintenance6 functionality
Members
This structure describes the following feature:
Description
If the PhysicalDeviceMaintenance6FeaturesKHR 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. PhysicalDeviceMaintenance6FeaturesKHR can also be used in
the pNext chain of DeviceCreateInfo to
selectively enable these features.
Valid Usage (Implicit)
See Also
Constructors
| PhysicalDeviceMaintenance6FeaturesKHR | |
Fields
| |
Instances
data PhysicalDeviceMaintenance6PropertiesKHR Source #
VkPhysicalDeviceMaintenance6PropertiesKHR - Structure describing various implementation-defined properties introduced with VK_KHR_maintenance6
Description
If the PhysicalDeviceMaintenance6PropertiesKHR 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
| PhysicalDeviceMaintenance6PropertiesKHR | |
Fields
| |
Instances
data BindMemoryStatusKHR Source #
VkBindMemoryStatusKHR - Structure specifying where to return memory binding status
Description
If the pNext chain of
BindBufferMemoryInfo
or BindImageMemoryInfo
includes a BindMemoryStatusKHR structure, then the
BindMemoryStatusKHR::pResult will be populated with a value
describing the result of the corresponding memory binding operation.
Valid Usage (Implicit)
See Also
Constructors
| BindMemoryStatusKHR | |
Instances
data BindDescriptorSetsInfoKHR (es :: [Type]) Source #
VkBindDescriptorSetsInfoKHR - Structure specifying a descriptor set binding operation
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
- Each
element of
pDescriptorSetsmust have been allocated with aDescriptorSetLayoutthat matches (is the same as, or identically defined as) theDescriptorSetLayoutat set n inlayout, where n is the sum offirstSetand the index intopDescriptorSets
-
dynamicOffsetCountmust be equal to the total number of dynamic descriptors inpDescriptorSets - The sum of
firstSetanddescriptorSetCountmust be less than or equal toPipelineLayoutCreateInfo::setLayoutCountprovided whenlayoutwas created - Each
element of
pDynamicOffsetswhich corresponds to a descriptor binding with typeDESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMICmust be a multiple ofPhysicalDeviceLimits::minUniformBufferOffsetAlignment - Each
element of
pDynamicOffsetswhich corresponds to a descriptor binding with typeDESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMICmust be a multiple ofPhysicalDeviceLimits::minStorageBufferOffsetAlignment - For each
dynamic uniform or storage buffer binding in
pDescriptorSets, the sum of the effective offset and the range of the binding must be less than or equal to the size of the buffer - For each
dynamic uniform or storage buffer binding in
pDescriptorSets, if the range was set withWHOLE_SIZEthenpDynamicOffsetswhich corresponds to the descriptor binding must be 0 - Each
element of
pDescriptorSetsmust not have been allocated from aDescriptorPoolwith theDESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXTflag set - If the
graphicsPipelineLibrary
feature is not enabled, each element of
pDescriptorSetsmust be a validDescriptorSet - Each
element of
pDescriptorSetsmust have been allocated with aDescriptorSetLayoutwhich was not created withDESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT - 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_BIND_DESCRIPTOR_SETS_INFO_KHR
-
pNextmust beNULLor a pointer to a valid instance ofPipelineLayoutCreateInfo - The
sTypevalue of each struct in thepNextchain must be unique -
stageFlagsmust be a valid combination ofShaderStageFlagBitsvalues -
stageFlagsmust not be0 - If
layoutis notNULL_HANDLE,layoutmust be a validPipelineLayouthandle -
pDescriptorSetsmust be a valid pointer to an array ofdescriptorSetCountvalidDescriptorSethandles - If
dynamicOffsetCountis not0, andpDynamicOffsetsis notNULL,pDynamicOffsetsmust be a valid pointer to an array ofdynamicOffsetCountorNULL_HANDLEuint32_tvalues -
descriptorSetCountmust be greater than0 - Both of
layout, and the elements ofpDescriptorSetsthat are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the sameDevice
See Also
VK_KHR_maintenance6,
DescriptorSet,
PipelineLayout,
ShaderStageFlags,
StructureType,
cmdBindDescriptorSets2KHR
Constructors
| BindDescriptorSetsInfoKHR | |
Fields
| |
Instances
data PushConstantsInfoKHR (es :: [Type]) Source #
VkPushConstantsInfoKHR - Structure specifying a push constant update operation
Valid Usage
- For each byte in the
range specified by
offsetandsizeand for each shader stage instageFlags, there must be a push constant range inlayoutthat includes that byte and that stage
- For each byte in the
range specified by
offsetandsizeand for each push constant range that overlaps that byte,stageFlagsmust include all stages in that push constant range’sPushConstantRange::stageFlags -
offsetmust be a multiple of4 -
sizemust be a multiple of4 -
offsetmust be less thanPhysicalDeviceLimits::maxPushConstantsSize -
sizemust be less than or equal toPhysicalDeviceLimits::maxPushConstantsSizeminusoffset - 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_PUSH_CONSTANTS_INFO_KHR
-
pNextmust beNULLor a pointer to a valid instance ofPipelineLayoutCreateInfo - The
sTypevalue of each struct in thepNextchain must be unique - If
layoutis notNULL_HANDLE,layoutmust be a validPipelineLayouthandle -
stageFlagsmust be a valid combination ofShaderStageFlagBitsvalues -
stageFlagsmust not be0 -
pValuesmust be a valid pointer to an array ofsizebytes -
sizemust be greater than0
See Also
VK_KHR_maintenance6,
PipelineLayout,
ShaderStageFlags,
StructureType,
cmdPushConstants2KHR
Constructors
| PushConstantsInfoKHR | |
Fields
| |
Instances
data PushDescriptorSetInfoKHR (es :: [Type]) Source #
VkPushDescriptorSetInfoKHR - Structure specifying a descriptor set push operation
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
-
setmust be less thanPipelineLayoutCreateInfo::setLayoutCountprovided whenlayoutwas created
-
setmust be the unique set number in the pipeline layout that uses a descriptor set layout that was created withDESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR - For each
element i where
pDescriptorWrites[i].descriptorTypeisDESCRIPTOR_TYPE_SAMPLER,DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,DESCRIPTOR_TYPE_SAMPLED_IMAGE,DESCRIPTOR_TYPE_STORAGE_IMAGE, orDESCRIPTOR_TYPE_INPUT_ATTACHMENT,pDescriptorWrites[i].pImageInfomust be a valid pointer to an array ofpDescriptorWrites[i].descriptorCountvalidDescriptorImageInfostructures - 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_PUSH_DESCRIPTOR_SET_INFO_KHR
-
pNextmust beNULLor a pointer to a valid instance ofPipelineLayoutCreateInfo - The
sTypevalue of each struct in thepNextchain must be unique -
stageFlagsmust be a valid combination ofShaderStageFlagBitsvalues -
stageFlagsmust not be0 - If
layoutis notNULL_HANDLE,layoutmust be a validPipelineLayouthandle -
pDescriptorWritesmust be a valid pointer to an array ofdescriptorWriteCountvalidWriteDescriptorSetstructures -
descriptorWriteCountmust be greater than0
See Also
VK_KHR_maintenance6,
VK_KHR_push_descriptor,
PipelineLayout,
ShaderStageFlags,
StructureType,
WriteDescriptorSet,
cmdPushDescriptorSet2KHR
Constructors
| PushDescriptorSetInfoKHR | |
Fields
| |
Instances
data PushDescriptorSetWithTemplateInfoKHR (es :: [Type]) Source #
VkPushDescriptorSetWithTemplateInfoKHR - Structure specifying a descriptor set push operation using a descriptor update template
Valid Usage
-
The
pipelineBindPointspecified during the creation of the descriptor update template must be supported by thecommandBuffer’s parentCommandPool’s queue family
-
pDatamust be a valid pointer to a memory containing one or more valid instances ofDescriptorImageInfo,DescriptorBufferInfo, orBufferViewin a layout defined bydescriptorUpdateTemplatewhen it was created withcreateDescriptorUpdateTemplate -
layoutmust be compatible with the layout used to createdescriptorUpdateTemplate -
descriptorUpdateTemplatemust have been created with atemplateTypeofDESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR -
setmust be the same value used to createdescriptorUpdateTemplate -
setmust be less thanPipelineLayoutCreateInfo::setLayoutCountprovided whenlayoutwas created -
setmust be the unique set number in the pipeline layout that uses a descriptor set layout that was created withDESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR - 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 struct in thepNextchain must be unique -
descriptorUpdateTemplatemust be a validDescriptorUpdateTemplatehandle - If
layoutis notNULL_HANDLE,layoutmust be a validPipelineLayouthandle -
pDatamust be a pointer value - Both of
descriptorUpdateTemplate, andlayoutthat are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the sameDevice
See Also
VK_KHR_maintenance6,
VK_KHR_push_descriptor,
DescriptorUpdateTemplate,
PipelineLayout,
StructureType,
cmdPushDescriptorSetWithTemplate2KHR
Constructors
| PushDescriptorSetWithTemplateInfoKHR | |
Fields
| |
Instances
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 - 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 struct 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 struct 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 :: forall a. Integral a => a Source #
type KHR_MAINTENANCE_6_EXTENSION_NAME = "VK_KHR_maintenance6" Source #
pattern KHR_MAINTENANCE_6_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #