Feature

VK_VERSION_1_3

Vulkan version 1.3

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. 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

New Structures

New Enums

New Bitmasks

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