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.
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.
- 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
- Deprecation State
- Promoted to Vulkan 1.4
- 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, VkBindDescriptorSetsInfo pBindDescriptorSetsInfo) static voidvkCmdPushConstants2KHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, VkPushConstantsInfo pPushConstantsInfo) SeeCmdPushConstants2.static voidvkCmdPushDescriptorSet2KHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, VkPushDescriptorSetInfo pPushDescriptorSetInfo) static voidvkCmdPushDescriptorSetWithTemplate2KHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, VkPushDescriptorSetWithTemplateInfo pPushDescriptorSetWithTemplateInfo) 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, VkBindDescriptorSetsInfo pBindDescriptorSetsInfo) - Parameters:
commandBuffer- the command buffer that the descriptor sets will be bound to.pBindDescriptorSetsInfo- a pointer to aVkBindDescriptorSetsInfostructure.
-
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, VkPushConstantsInfo pPushConstantsInfo) SeeCmdPushConstants2.- Parameters:
commandBuffer- the command buffer in which the push constant update will be recorded.pPushConstantsInfo- a pointer to aVkPushConstantsInfostructure.
-
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, VkPushDescriptorSetInfo pPushDescriptorSetInfo) - Parameters:
commandBuffer- the command buffer that the descriptors will be recorded in.pPushDescriptorSetInfo- a pointer to aVkPushDescriptorSetInfostructure.
-
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, VkPushDescriptorSetWithTemplateInfo pPushDescriptorSetWithTemplateInfo) - Parameters:
commandBuffer- the command buffer that the descriptors will be recorded in.pPushDescriptorSetWithTemplateInfo- a pointer to aVkPushDescriptorSetWithTemplateInfostructure.
-
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
-