VK_VERSION_1_3
Vulkan Version 1.3 promoted a number of key extensions into the core API:
VK_KHR_shader_integer_dot_product
VK_KHR_shader_non_semantic_info
VK_KHR_shader_terminate_invocation
VK_KHR_zero_initialize_workgroup_memory
VK_EXT_extended_dynamic_state2
VK_EXT_pipeline_creation_cache_control
VK_EXT_pipeline_creation_feedback
VK_EXT_shader_demote_to_helper_invocation
VK_EXT_texture_compression_astc_hdr
VK_EXT_ycbcr_2plane_444_formats
All differences in behavior between these extensions and the corresponding Vulkan 1.3 functionality are summarized below.
Differences Relative to VK_EXT_4444_formats
If the VK_EXT_4444_formats extension is not supported, support for all formats defined by it are optional in Vulkan 1.3. There are no members in the VkPhysicalDeviceVulkan13Features structure corresponding to the VkPhysicalDevice4444FormatsFeaturesEXT structure.
Differences Relative to VK_EXT_extended_dynamic_state
All dynamic state enumerants and commands defined by VK_EXT_extended_dynamic_state are required in Vulkan 1.3. There are no members in the VkPhysicalDeviceVulkan13Features structure corresponding to the VkPhysicalDeviceExtendedDynamicStateFeaturesEXT structure.
Differences Relative to VK_EXT_extended_dynamic_state2
The optional dynamic state enumerants and commands defined by VK_EXT_extended_dynamic_state2 for patch control points and logic op are not promoted in Vulkan 1.3. There are no members in the VkPhysicalDeviceVulkan13Features structure corresponding to the VkPhysicalDeviceExtendedDynamicState2FeaturesEXT structure.
Differences Relative to VK_EXT_texel_buffer_alignment
The more specific alignment requirements defined by
VkPhysicalDeviceTexelBufferAlignmentProperties are required in Vulkan
1.3.
There are no members in the VkPhysicalDeviceVulkan13Features structure
corresponding to the VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
structure.
The texelBufferAlignment feature is enabled if using a Vulkan 1.3
instance.
Differences Relative to VK_EXT_texture_compression_astc_hdr
If the VK_EXT_texture_compression_astc_hdr extension is not
supported, support for all formats defined by it are optional in Vulkan 1.3.
The textureCompressionASTC_HDR member of
VkPhysicalDeviceVulkan13Features indicates whether a Vulkan 1.3
implementation supports these formats.
Differences Relative to VK_EXT_ycbcr_2plane_444_formats
If the VK_EXT_ycbcr_2plane_444_formats extension is not supported, support for all formats defined by it are optional in Vulkan 1.3. There are no members in the VkPhysicalDeviceVulkan13Features structure corresponding to the VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT structure.
Additional Vulkan 1.3 Feature Support
[[versions-1.3-new-features]] In addition to the promoted extensions described above, Vulkan 1.3 added required support for:
* SPIR-V version 1.6 ** SPIR-V 1.6 deprecates (but does not remove) the code:WorkgroupSize decoration. * The <<features-bufferDeviceAddress, pname:bufferDeviceAddress>> feature which indicates support for accessing memory in shaders as storage buffers via flink:vkGetBufferDeviceAddress. * The <<features-vulkanMemoryModel, pname:vulkanMemoryModel>> and <<features-vulkanMemoryModelDeviceScope, pname:vulkanMemoryModelDeviceScope>> features, which indicate support for the corresponding Vulkan Memory Model capabilities. * The <<limits-maxInlineUniformTotalSize, pname:maxInlineUniformTotalSize>> limit is added to provide the total size of all inline uniform block bindings in a pipeline layout.
New Macros
New Base Types
New Object Types
New Commands
- vkCmdBeginRendering
- vkCmdBindVertexBuffers2
- vkCmdBlitImage2
- vkCmdCopyBuffer2
- vkCmdCopyBufferToImage2
- vkCmdCopyImage2
- vkCmdCopyImageToBuffer2
- vkCmdEndRendering
- vkCmdPipelineBarrier2
- vkCmdResetEvent2
- vkCmdResolveImage2
- vkCmdSetCullMode
- vkCmdSetDepthBiasEnable
- vkCmdSetDepthBoundsTestEnable
- vkCmdSetDepthCompareOp
- vkCmdSetDepthTestEnable
- vkCmdSetDepthWriteEnable
- vkCmdSetEvent2
- vkCmdSetFrontFace
- vkCmdSetPrimitiveRestartEnable
- vkCmdSetPrimitiveTopology
- vkCmdSetRasterizerDiscardEnable
- vkCmdSetScissorWithCount
- vkCmdSetStencilOp
- vkCmdSetStencilTestEnable
- vkCmdSetViewportWithCount
- vkCmdWaitEvents2
- vkCmdWriteTimestamp2
- vkCreatePrivateDataSlot
- vkDestroyPrivateDataSlot
- vkGetDeviceBufferMemoryRequirements
- vkGetDeviceImageMemoryRequirements
- vkGetDeviceImageSparseMemoryRequirements
- vkGetPhysicalDeviceToolProperties
- vkGetPrivateData
- vkQueueSubmit2
- vkSetPrivateData
New Structures
- VkBlitImageInfo2
- VkBufferCopy2
- VkBufferImageCopy2
- VkBufferMemoryBarrier2
- VkCommandBufferSubmitInfo
- VkCopyBufferInfo2
- VkCopyBufferToImageInfo2
- VkCopyImageInfo2
- VkCopyImageToBufferInfo2
- VkDependencyInfo
- VkDeviceBufferMemoryRequirements
- VkDeviceImageMemoryRequirements
- VkImageBlit2
- VkImageCopy2
- VkImageMemoryBarrier2
- VkImageResolve2
- VkPhysicalDeviceToolProperties
- VkPipelineCreationFeedback
- VkPrivateDataSlotCreateInfo
- VkRenderingAttachmentInfo
- VkRenderingInfo
- VkResolveImageInfo2
- VkSemaphoreSubmitInfo
- VkSubmitInfo2
- Extending VkCommandBufferInheritanceInfo:
- Extending VkDescriptorPoolCreateInfo:
- Extending VkDeviceCreateInfo:
- Extending VkFormatProperties2:
- Extending VkGraphicsPipelineCreateInfo:
- Extending VkGraphicsPipelineCreateInfo, VkComputePipelineCreateInfo, VkRayTracingPipelineCreateInfoNV, VkRayTracingPipelineCreateInfoKHR, VkExecutionGraphPipelineCreateInfoAMDX:
- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:
- VkPhysicalDeviceDynamicRenderingFeatures
- VkPhysicalDeviceImageRobustnessFeatures
- VkPhysicalDeviceInlineUniformBlockFeatures
- VkPhysicalDeviceMaintenance4Features
- VkPhysicalDevicePipelineCreationCacheControlFeatures
- VkPhysicalDevicePrivateDataFeatures
- VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures
- VkPhysicalDeviceShaderIntegerDotProductFeatures
- VkPhysicalDeviceShaderTerminateInvocationFeatures
- VkPhysicalDeviceSubgroupSizeControlFeatures
- VkPhysicalDeviceSynchronization2Features
- VkPhysicalDeviceTextureCompressionASTCHDRFeatures
- VkPhysicalDeviceVulkan13Features
- VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures
- Extending VkPhysicalDeviceProperties2:
- Extending VkPipelineShaderStageCreateInfo, VkShaderCreateInfoEXT:
- Extending VkSubpassDependency2:
- Extending VkWriteDescriptorSet:
New Enums
- VkAccessFlagBits2
- VkFormatFeatureFlagBits2
- VkPipelineCreationFeedbackFlagBits
- VkPipelineStageFlagBits2
- VkRenderingFlagBits
- VkSubmitFlagBits
- VkToolPurposeFlagBits
New Bitmasks
- VkAccessFlags2
- VkFormatFeatureFlags2
- VkPipelineCreationFeedbackFlags
- VkPipelineStageFlags2
- VkPrivateDataSlotCreateFlags
- VkRenderingFlags
- VkSubmitFlags
- VkToolPurposeFlags
New Enum Constants
- Extending VkAccessFlagBits:
VK_ACCESS_NONE
- Extending VkAttachmentStoreOp:
VK_ATTACHMENT_STORE_OP_NONE
- Extending VkDescriptorType:
VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK
- Extending VkDynamicState:
VK_DYNAMIC_STATE_CULL_MODEVK_DYNAMIC_STATE_DEPTH_BIAS_ENABLEVK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLEVK_DYNAMIC_STATE_DEPTH_COMPARE_OPVK_DYNAMIC_STATE_DEPTH_TEST_ENABLEVK_DYNAMIC_STATE_DEPTH_WRITE_ENABLEVK_DYNAMIC_STATE_FRONT_FACEVK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLEVK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGYVK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLEVK_DYNAMIC_STATE_SCISSOR_WITH_COUNTVK_DYNAMIC_STATE_STENCIL_OPVK_DYNAMIC_STATE_STENCIL_TEST_ENABLEVK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDEVK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT
- Extending VkEventCreateFlagBits:
VK_EVENT_CREATE_DEVICE_ONLY_BIT
- Extending VkFormat:
VK_FORMAT_A4B4G4R4_UNORM_PACK16VK_FORMAT_A4R4G4B4_UNORM_PACK16VK_FORMAT_ASTC_10x10_SFLOAT_BLOCKVK_FORMAT_ASTC_10x5_SFLOAT_BLOCKVK_FORMAT_ASTC_10x6_SFLOAT_BLOCKVK_FORMAT_ASTC_10x8_SFLOAT_BLOCKVK_FORMAT_ASTC_12x10_SFLOAT_BLOCKVK_FORMAT_ASTC_12x12_SFLOAT_BLOCKVK_FORMAT_ASTC_4x4_SFLOAT_BLOCKVK_FORMAT_ASTC_5x4_SFLOAT_BLOCKVK_FORMAT_ASTC_5x5_SFLOAT_BLOCKVK_FORMAT_ASTC_6x5_SFLOAT_BLOCKVK_FORMAT_ASTC_6x6_SFLOAT_BLOCKVK_FORMAT_ASTC_8x5_SFLOAT_BLOCKVK_FORMAT_ASTC_8x6_SFLOAT_BLOCKVK_FORMAT_ASTC_8x8_SFLOAT_BLOCKVK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16VK_FORMAT_G16_B16R16_2PLANE_444_UNORMVK_FORMAT_G8_B8R8_2PLANE_444_UNORM
- Extending VkFormatFeatureFlagBits2:
VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT
- Extending VkImageAspectFlagBits:
VK_IMAGE_ASPECT_NONE
- Extending VkImageLayout:
VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMALVK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL
- Extending VkObjectType:
VK_OBJECT_TYPE_PRIVATE_DATA_SLOT
- Extending VkPipelineCacheCreateFlagBits:
VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT
- Extending VkPipelineCreateFlagBits:
VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BITVK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT
- Extending VkPipelineShaderStageCreateFlagBits:
VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BITVK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT
- Extending VkPipelineStageFlagBits:
VK_PIPELINE_STAGE_NONE
- Extending VkResult:
VK_PIPELINE_COMPILE_REQUIRED
- Extending VkStructureType:
VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2VK_STRUCTURE_TYPE_BUFFER_COPY_2VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFOVK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFOVK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2VK_STRUCTURE_TYPE_DEPENDENCY_INFOVK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFOVK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTSVK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTSVK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFOVK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3VK_STRUCTURE_TYPE_IMAGE_BLIT_2VK_STRUCTURE_TYPE_IMAGE_COPY_2VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2VK_STRUCTURE_TYPE_MEMORY_BARRIER_2VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURESVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURESVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURESVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIESVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURESVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIESVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURESVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURESVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURESVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURESVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIESVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURESVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURESVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIESVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURESVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIESVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURESVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIESVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURESVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIESVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURESVK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFOVK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFOVK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFOVK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFOVK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFOVK_STRUCTURE_TYPE_RENDERING_INFOVK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFOVK_STRUCTURE_TYPE_SUBMIT_INFO_2VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK