Package org.lwjgl.vulkan
Class KHRMaintenance6
java.lang.Object
org.lwjgl.vulkan.KHRMaintenance6
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:
VkBindMemoryStatusKHRmay be included in thepNextchain ofVkBindBufferMemoryInfoandVkBindImageMemoryInfo, 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 validVkBufferhandle. When thenullDescriptorfeature 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.
- Name String
VK_KHR_maintenance6- Extension Type
- Device extension
- Registered Extension Number
- 546
- Revision
- 1
- Extension and Version Dependencies
- Version 1.1
- API Interactions
- Interacts with VK_EXT_descriptor_buffer
- Interacts with VK_KHR_push_descriptor
- Contact
- Jon Leech oddhack
- 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
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe extension name.static final intThe extension specification version.static final intExtendsVkStructureType.static final intExtendsVkStructureType.static final intExtendsVkStructureType.static final intExtendsVkStructureType.static final intExtendsVkStructureType.static final intExtendsVkStructureType.static final intExtendsVkStructureType.static final intExtendsVkStructureType.static final intExtendsVkStructureType. -
Method Summary
Modifier and TypeMethodDescriptionstatic voidnvkCmdBindDescriptorBufferEmbeddedSamplers2EXT(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long pBindDescriptorBufferEmbeddedSamplersInfo) Unsafe version of:CmdBindDescriptorBufferEmbeddedSamplers2EXTstatic voidnvkCmdBindDescriptorSets2KHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long pBindDescriptorSetsInfo) Unsafe version of:CmdBindDescriptorSets2KHRstatic voidnvkCmdPushConstants2KHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long pPushConstantsInfo) Unsafe version of:CmdPushConstants2KHRstatic voidnvkCmdPushDescriptorSet2KHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long pPushDescriptorSetInfo) Unsafe version of:CmdPushDescriptorSet2KHRstatic voidnvkCmdPushDescriptorSetWithTemplate2KHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long pPushDescriptorSetWithTemplateInfo) Unsafe version of:CmdPushDescriptorSetWithTemplate2KHRstatic voidnvkCmdSetDescriptorBufferOffsets2EXT(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long pSetDescriptorBufferOffsetsInfo) Unsafe version of:CmdSetDescriptorBufferOffsets2EXTstatic voidvkCmdBindDescriptorBufferEmbeddedSamplers2EXT(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, VkBindDescriptorBufferEmbeddedSamplersInfoEXT pBindDescriptorBufferEmbeddedSamplersInfo) Setting embedded immutable samplers offsets in a command buffer.static voidvkCmdBindDescriptorSets2KHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, VkBindDescriptorSetsInfoKHR pBindDescriptorSetsInfo) Binds descriptor sets to a command buffer.static voidvkCmdPushConstants2KHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, VkPushConstantsInfoKHR pPushConstantsInfo) Update the values of push constants.static voidvkCmdPushDescriptorSet2KHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, VkPushDescriptorSetInfoKHR pPushDescriptorSetInfo) Pushes descriptor updates into a command buffer.static voidvkCmdPushDescriptorSetWithTemplate2KHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, VkPushDescriptorSetWithTemplateInfoKHR pPushDescriptorSetWithTemplateInfo) Pushes descriptor updates into a command buffer using a descriptor update template.static voidvkCmdSetDescriptorBufferOffsets2EXT(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, VkSetDescriptorBufferOffsetsInfoEXT pSetDescriptorBufferOffsetsInfo) Setting descriptor buffer offsets in a command buffer.
-
Field Details
-
VK_KHR_MAINTENANCE_6_SPEC_VERSION
public static final int VK_KHR_MAINTENANCE_6_SPEC_VERSIONThe extension specification version.- See Also:
-
VK_KHR_MAINTENANCE_6_EXTENSION_NAME
The extension name.- See Also:
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR
public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHRExtendsVkStructureType.Enum values:
- See Also:
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR
public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHRExtendsVkStructureType.Enum values:
- See Also:
-
VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR
public static final int VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHRExtendsVkStructureType.Enum values:
- See Also:
-
VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR
public static final int VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHRExtendsVkStructureType.Enum values:
- See Also:
-
VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR
public static final int VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHRExtendsVkStructureType.Enum values:
- See Also:
-
VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR
public static final int VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHRExtendsVkStructureType.Enum values:
- See Also:
-
VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR
public static final int VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHRExtendsVkStructureType.Enum values:
- See Also:
-
VK_STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT
public static final int VK_STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXTExtendsVkStructureType.Enum values:
- See Also:
-
VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT
public static final int VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXTExtendsVkStructureType.Enum values:
- See Also:
-
-
Method Details
-
nvkCmdBindDescriptorSets2KHR
public static void nvkCmdBindDescriptorSets2KHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long pBindDescriptorSetsInfo) Unsafe version of:CmdBindDescriptorSets2KHR -
vkCmdBindDescriptorSets2KHR
public static void vkCmdBindDescriptorSets2KHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, VkBindDescriptorSetsInfoKHR pBindDescriptorSetsInfo) Binds descriptor sets to a command buffer.C Specification
Alternatively, to bind one or more descriptor sets to a command buffer, call:
void vkCmdBindDescriptorSets2KHR( VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfoKHR* pBindDescriptorSetsInfo);Valid Usage
- Each bit in
pBindDescriptorSetsInfo→stageFlagsmust be a stage supported by thecommandBuffer’s parentVkCommandPool’s queue family
Valid Usage (Implicit)
commandBuffermust be a validVkCommandBufferhandlepBindDescriptorSetsInfomust be a valid pointer to a validVkBindDescriptorSetsInfoKHRstructurecommandBuffermust be in the recording state- The
VkCommandPoolthatcommandBufferwas 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
VkCommandPoolthatcommandBufferwas 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
- Parameters:
commandBuffer- the command buffer that the descriptor sets will be bound to.pBindDescriptorSetsInfo- a pointer to aVkBindDescriptorSetsInfoKHRstructure.
- Each bit in
-
nvkCmdPushConstants2KHR
public static void nvkCmdPushConstants2KHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long pPushConstantsInfo) Unsafe version of:CmdPushConstants2KHR -
vkCmdPushConstants2KHR
public static void vkCmdPushConstants2KHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, VkPushConstantsInfoKHR pPushConstantsInfo) Update the values of push constants.C Specification
Alternatively, to update push constants, call:
void vkCmdPushConstants2KHR( VkCommandBuffer commandBuffer, const VkPushConstantsInfoKHR* pPushConstantsInfo);Valid Usage (Implicit)
commandBuffermust be a validVkCommandBufferhandlepPushConstantsInfomust be a valid pointer to a validVkPushConstantsInfoKHRstructurecommandBuffermust be in the recording state- The
VkCommandPoolthatcommandBufferwas 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
VkCommandPoolthatcommandBufferwas 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
- Parameters:
commandBuffer- the command buffer in which the push constant update will be recorded.pPushConstantsInfo- a pointer to aVkPushConstantsInfoKHRstructure.
-
nvkCmdPushDescriptorSet2KHR
public static void nvkCmdPushDescriptorSet2KHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long pPushDescriptorSetInfo) Unsafe version of:CmdPushDescriptorSet2KHR -
vkCmdPushDescriptorSet2KHR
public static void vkCmdPushDescriptorSet2KHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, VkPushDescriptorSetInfoKHR pPushDescriptorSetInfo) Pushes descriptor updates into a command buffer.C Specification
Alternatively, to push descriptor updates into a command buffer, call:
void vkCmdPushDescriptorSet2KHR( VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfoKHR* pPushDescriptorSetInfo);Valid Usage
- Each bit in
pPushDescriptorSetInfo→stageFlagsmust be a stage supported by thecommandBuffer’s parentVkCommandPool’s queue family
Valid Usage (Implicit)
commandBuffermust be a validVkCommandBufferhandlepPushDescriptorSetInfomust be a valid pointer to a validVkPushDescriptorSetInfoKHRstructurecommandBuffermust be in the recording state- The
VkCommandPoolthatcommandBufferwas 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
VkCommandPoolthatcommandBufferwas 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
- Parameters:
commandBuffer- the command buffer that the descriptors will be recorded in.pPushDescriptorSetInfo- a pointer to aVkPushDescriptorSetInfoKHRstructure.
- Each bit in
-
nvkCmdPushDescriptorSetWithTemplate2KHR
public static void nvkCmdPushDescriptorSetWithTemplate2KHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long pPushDescriptorSetWithTemplateInfo) Unsafe version of:CmdPushDescriptorSetWithTemplate2KHR -
vkCmdPushDescriptorSetWithTemplate2KHR
public static void vkCmdPushDescriptorSetWithTemplate2KHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, VkPushDescriptorSetWithTemplateInfoKHR pPushDescriptorSetWithTemplateInfo) Pushes descriptor updates into a command buffer using a descriptor update template.C Specification
Alternatively, to use a descriptor update template to specify the push descriptors to update, call:
void vkCmdPushDescriptorSetWithTemplate2KHR( VkCommandBuffer commandBuffer, const VkPushDescriptorSetWithTemplateInfoKHR* pPushDescriptorSetWithTemplateInfo);Valid Usage (Implicit)
commandBuffermust be a validVkCommandBufferhandlepPushDescriptorSetWithTemplateInfomust be a valid pointer to a validVkPushDescriptorSetWithTemplateInfoKHRstructurecommandBuffermust be in the recording state- The
VkCommandPoolthatcommandBufferwas 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
VkCommandPoolthatcommandBufferwas 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
- Parameters:
commandBuffer- the command buffer that the descriptors will be recorded in.pPushDescriptorSetWithTemplateInfo- a pointer to aVkPushDescriptorSetWithTemplateInfoKHRstructure.
-
nvkCmdSetDescriptorBufferOffsets2EXT
public static void nvkCmdSetDescriptorBufferOffsets2EXT(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long pSetDescriptorBufferOffsetsInfo) Unsafe version of:CmdSetDescriptorBufferOffsets2EXT -
vkCmdSetDescriptorBufferOffsets2EXT
public static void vkCmdSetDescriptorBufferOffsets2EXT(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, VkSetDescriptorBufferOffsetsInfoEXT pSetDescriptorBufferOffsetsInfo) Setting descriptor buffer offsets in a command buffer.C Specification
Alternatively, to set descriptor buffer offsets in a command buffer, call:
void vkCmdSetDescriptorBufferOffsets2EXT( VkCommandBuffer commandBuffer, const VkSetDescriptorBufferOffsetsInfoEXT* pSetDescriptorBufferOffsetsInfo);Valid Usage
- The
descriptorBufferfeature must be enabled - Each bit in
pSetDescriptorBufferOffsetsInfo→stageFlagsmust be a stage supported by thecommandBuffer’s parentVkCommandPool’s queue family
Valid Usage (Implicit)
commandBuffermust be a validVkCommandBufferhandlepSetDescriptorBufferOffsetsInfomust be a valid pointer to a validVkSetDescriptorBufferOffsetsInfoEXTstructurecommandBuffermust be in the recording state- The
VkCommandPoolthatcommandBufferwas 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
VkCommandPoolthatcommandBufferwas 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
- Parameters:
commandBuffer- the command buffer in which the descriptor buffer offsets will be set.pSetDescriptorBufferOffsetsInfo- a pointer to aVkSetDescriptorBufferOffsetsInfoEXTstructure.
- The
-
nvkCmdBindDescriptorBufferEmbeddedSamplers2EXT
public static void nvkCmdBindDescriptorBufferEmbeddedSamplers2EXT(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long pBindDescriptorBufferEmbeddedSamplersInfo) Unsafe version of:CmdBindDescriptorBufferEmbeddedSamplers2EXT -
vkCmdBindDescriptorBufferEmbeddedSamplers2EXT
public static void vkCmdBindDescriptorBufferEmbeddedSamplers2EXT(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, VkBindDescriptorBufferEmbeddedSamplersInfoEXT pBindDescriptorBufferEmbeddedSamplersInfo) Setting embedded immutable samplers offsets in a command buffer.C Specification
Alternatively, to bind an embedded immutable sampler set to a command buffer, call:
void vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( VkCommandBuffer commandBuffer, const VkBindDescriptorBufferEmbeddedSamplersInfoEXT* pBindDescriptorBufferEmbeddedSamplersInfo);Valid Usage
- The
descriptorBufferfeature must be enabled - Each bit in
pBindDescriptorBufferEmbeddedSamplersInfo→stageFlagsmust be a stage supported by thecommandBuffer’s parentVkCommandPool’s queue family
Valid Usage (Implicit)
commandBuffermust be a validVkCommandBufferhandlepBindDescriptorBufferEmbeddedSamplersInfomust be a valid pointer to a validVkBindDescriptorBufferEmbeddedSamplersInfoEXTstructurecommandBuffermust be in the recording state- The
VkCommandPoolthatcommandBufferwas 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
VkCommandPoolthatcommandBufferwas 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
- Parameters:
commandBuffer- the command buffer that the embedded immutable samplers will be bound to.pBindDescriptorBufferEmbeddedSamplersInfo- a pointer to aVkBindDescriptorBufferEmbeddedSamplersInfoEXTstructure.
- The
-