VK_VERSION_1_3(3)
Description
Vulkan Version 1.3 promoted a number of key extensions into the core API:
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. ThetextureCompressionASTC_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
-
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
WorkgroupSize
decoration.
-
-
The
bufferDeviceAddress
feature which indicates support for accessing memory in shaders as storage buffers via vkGetBufferDeviceAddress. -
The
vulkanMemoryModel
andvulkanMemoryModelDeviceScope
features, which indicate support for the corresponding Vulkan Memory Model capabilities. -
The
maxInlineUniformTotalSize
limit is added to provide the total size of all inline uniform block bindings in a pipeline layout.
-
New Structures
-
Extending VkCommandBufferInheritanceInfo:
-
Extending VkDescriptorPoolCreateInfo:
-
Extending VkDeviceCreateInfo:
-
Extending VkFormatProperties2:
-
Extending VkGraphicsPipelineCreateInfo:
-
Extending VkGraphicsPipelineCreateInfo, VkComputePipelineCreateInfo, VkRayTracingPipelineCreateInfoNV, VkRayTracingPipelineCreateInfoKHR, VkExecutionGraphPipelineCreateInfoAMDX, VkDataGraphPipelineCreateInfoARM:
-
Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:
-
Extending VkPhysicalDeviceProperties2:
-
Extending VkPipelineShaderStageCreateInfo, VkShaderCreateInfoEXT:
-
Extending VkSubpassDependency2:
-
Extending VkWriteDescriptorSet:
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 VkFormatFeatureFlagBits2:
-
VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT
-
-
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
-
Document Notes
For more information, see the Vulkan Specification.
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.