Feature

VK_VERSION_1_1

Vulkan version 1.1

Vulkan Version 1.1 promoted a number of key extensions into the core API:

VK_KHR_16bit_storage

VK_KHR_bind_memory2

VK_KHR_dedicated_allocation

VK_KHR_descriptor_update_template

VK_KHR_device_group

VK_KHR_device_group_creation

VK_KHR_external_fence

VK_KHR_external_fence_capabilities

VK_KHR_external_memory

VK_KHR_external_memory_capabilities

VK_KHR_external_semaphore

VK_KHR_external_semaphore_capabilities

VK_KHR_get_memory_requirements2

VK_KHR_get_physical_device_properties2

VK_KHR_maintenance1

VK_KHR_maintenance2

VK_KHR_maintenance3

VK_KHR_multiview

VK_KHR_relaxed_block_layout

VK_KHR_sampler_ycbcr_conversion

VK_KHR_shader_draw_parameters

VK_KHR_storage_buffer_storage_class

VK_KHR_variable_pointers

All differences in behavior between these extensions and the corresponding Vulkan 1.1 functionality are summarized below.

Differences Relative to VK_KHR_16bit_storage

If the VK_KHR_16bit_storage extension is not supported, support for the storageBuffer16BitAccess feature is optional. Support for this feature is defined by VkPhysicalDevice16BitStorageFeatures::storageBuffer16BitAccess when queried via vkGetPhysicalDeviceFeatures2.

Differences Relative to VK_KHR_sampler_ycbcr_conversion

If the VK_KHR_sampler_ycbcr_conversion extension is not supported, support for the samplerYcbcrConversion feature is optional. Support for this feature is defined by VkPhysicalDeviceSamplerYcbcrConversionFeatures::samplerYcbcrConversion when queried via vkGetPhysicalDeviceFeatures2.

Differences Relative to VK_KHR_shader_draw_parameters

If the VK_KHR_shader_draw_parameters extension is not supported, support for the SPV_KHR_shader_draw_parameters SPIR-V extension is optional. Support for this feature is defined by VkPhysicalDeviceShaderDrawParametersFeatures::shaderDrawParameters when queried via vkGetPhysicalDeviceFeatures2.

Differences Relative to VK_KHR_variable_pointers

If the VK_KHR_variable_pointers extension is not supported, support for the variablePointersStorageBuffer feature is optional. Support for this feature is defined by VkPhysicalDeviceVariablePointersFeatures::variablePointersStorageBuffer when queried via vkGetPhysicalDeviceFeatures2.

Additional Vulkan 1.1 Feature Support

[[versions-1.1-new-features]] In addition to the promoted extensions described above, Vulkan 1.1 added support for:

* The <<shaders-group-operations, group operations>> and <<shaders-scope-subgroup, subgroup scope>>. * The <<memory-protected-memory, protected memory>> feature. * A new command to enumerate the instance version: flink:vkEnumerateInstanceVersion. * The slink:VkPhysicalDeviceShaderDrawParametersFeatures feature query struct (where the apiext:VK_KHR_shader_draw_parameters extension did not have one).

New Macros

New Object Types

New Commands

New Structures

New Enums

New Bitmasks

New Enum Constants

  • VK_LUID_SIZE
  • VK_MAX_DEVICE_GROUP_SIZE
  • VK_QUEUE_FAMILY_EXTERNAL
  • Extending VkBufferCreateFlagBits:
    • VK_BUFFER_CREATE_PROTECTED_BIT
  • Extending VkCommandPoolCreateFlagBits:
    • VK_COMMAND_POOL_CREATE_PROTECTED_BIT
  • Extending VkDependencyFlagBits:
    • VK_DEPENDENCY_DEVICE_GROUP_BIT
    • VK_DEPENDENCY_VIEW_LOCAL_BIT
  • Extending VkDeviceQueueCreateFlagBits:
    • VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT
  • Extending VkFormat:
    • VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16
    • VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16
    • VK_FORMAT_B16G16R16G16_422_UNORM
    • VK_FORMAT_B8G8R8G8_422_UNORM
    • VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16
    • VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16
    • VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16
    • VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16
    • VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16
    • VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16
    • VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16
    • VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16
    • VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16
    • VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16
    • VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16
    • VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16
    • VK_FORMAT_G16B16G16R16_422_UNORM
    • VK_FORMAT_G16_B16R16_2PLANE_420_UNORM
    • VK_FORMAT_G16_B16R16_2PLANE_422_UNORM
    • VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM
    • VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM
    • VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM
    • VK_FORMAT_G8B8G8R8_422_UNORM
    • VK_FORMAT_G8_B8R8_2PLANE_420_UNORM
    • VK_FORMAT_G8_B8R8_2PLANE_422_UNORM
    • VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM
    • VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM
    • VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM
    • VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16
    • VK_FORMAT_R10X6G10X6_UNORM_2PACK16
    • VK_FORMAT_R10X6_UNORM_PACK16
    • VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16
    • VK_FORMAT_R12X4G12X4_UNORM_2PACK16
    • VK_FORMAT_R12X4_UNORM_PACK16
  • Extending VkFormatFeatureFlagBits:
    • VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT
    • VK_FORMAT_FEATURE_DISJOINT_BIT
    • VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT
    • VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT
    • VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT
    • VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT
    • VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT
    • VK_FORMAT_FEATURE_TRANSFER_DST_BIT
    • VK_FORMAT_FEATURE_TRANSFER_SRC_BIT
  • Extending VkImageAspectFlagBits:
    • VK_IMAGE_ASPECT_PLANE_0_BIT
    • VK_IMAGE_ASPECT_PLANE_1_BIT
    • VK_IMAGE_ASPECT_PLANE_2_BIT
  • Extending VkImageCreateFlagBits:
    • VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT
    • VK_IMAGE_CREATE_ALIAS_BIT
    • VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT
    • VK_IMAGE_CREATE_DISJOINT_BIT
    • VK_IMAGE_CREATE_EXTENDED_USAGE_BIT
    • VK_IMAGE_CREATE_PROTECTED_BIT
    • VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT
  • Extending VkImageLayout:
    • VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL
    • VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL
  • Extending VkMemoryHeapFlagBits:
    • VK_MEMORY_HEAP_MULTI_INSTANCE_BIT
  • Extending VkMemoryPropertyFlagBits:
    • VK_MEMORY_PROPERTY_PROTECTED_BIT
  • Extending VkObjectType:
    • VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE
    • VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION
  • Extending VkPipelineCreateFlagBits:
    • VK_PIPELINE_CREATE_DISPATCH_BASE
    • VK_PIPELINE_CREATE_DISPATCH_BASE_BIT
    • VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT
  • Extending VkQueueFlagBits:
    • VK_QUEUE_PROTECTED_BIT
  • Extending VkResult:
    • VK_ERROR_INVALID_EXTERNAL_HANDLE
    • VK_ERROR_OUT_OF_POOL_MEMORY
  • Extending VkStructureType:
    • VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO
    • VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO
    • VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO
    • VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO
    • VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO
    • VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2
    • VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT
    • VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO
    • VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO
    • VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO
    • VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO
    • VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO
    • VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO
    • VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2
    • VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO
    • VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO
    • VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO
    • VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES
    • VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES
    • VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES
    • VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO
    • VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO
    • VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES
    • VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2
    • VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2
    • VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2
    • VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO
    • VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2
    • VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO
    • VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO
    • VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO
    • VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS
    • VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES
    • VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO
    • VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO
    • VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2
    • VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO
    • VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO
    • VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO
    • VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES
    • VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO
    • VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2
    • VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2