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_MODE
VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE
VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE
VK_DYNAMIC_STATE_DEPTH_COMPARE_OP
VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE
VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE
VK_DYNAMIC_STATE_FRONT_FACE
VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE
VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY
VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE
VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT
VK_DYNAMIC_STATE_STENCIL_OP
VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE
VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE
VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT
- Extending VkEventCreateFlagBits:
VK_EVENT_CREATE_DEVICE_ONLY_BIT
- Extending VkFormat:
VK_FORMAT_A4B4G4R4_UNORM_PACK16
VK_FORMAT_A4R4G4B4_UNORM_PACK16
VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK
VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK
VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK
VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK
VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK
VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK
VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK
VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK
VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK
VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK
VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK
VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK
VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK
VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK
VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16
VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16
VK_FORMAT_G16_B16R16_2PLANE_444_UNORM
VK_FORMAT_G8_B8R8_2PLANE_444_UNORM
- Extending VkImageAspectFlagBits:
VK_IMAGE_ASPECT_NONE
- Extending VkImageLayout:
VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL
VK_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_BIT
VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT
- Extending VkPipelineShaderStageCreateFlagBits:
VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT
VK_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_2
VK_STRUCTURE_TYPE_BUFFER_COPY_2
VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2
VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2
VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO
VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO
VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2
VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2
VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2
VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2
VK_STRUCTURE_TYPE_DEPENDENCY_INFO
VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO
VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS
VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS
VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO
VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3
VK_STRUCTURE_TYPE_IMAGE_BLIT_2
VK_STRUCTURE_TYPE_IMAGE_COPY_2
VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2
VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2
VK_STRUCTURE_TYPE_MEMORY_BARRIER_2
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES
VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO
VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO
VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO
VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO
VK_STRUCTURE_TYPE_RENDERING_INFO
VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2
VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO
VK_STRUCTURE_TYPE_SUBMIT_INFO_2
VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK