VK_VERSION_1_1
Vulkan Version 1.1 promoted a number of key extensions into the core API:
VK_KHR_descriptor_update_template
VK_KHR_external_fence_capabilities
VK_KHR_external_memory_capabilities
VK_KHR_external_semaphore_capabilities
VK_KHR_get_memory_requirements2
VK_KHR_get_physical_device_properties2
VK_KHR_sampler_ycbcr_conversion
VK_KHR_storage_buffer_storage_class
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
- vkBindBufferMemory2
- vkBindImageMemory2
- vkCmdDispatchBase
- vkCmdSetDeviceMask
- vkCreateDescriptorUpdateTemplate
- vkCreateSamplerYcbcrConversion
- vkDestroyDescriptorUpdateTemplate
- vkDestroySamplerYcbcrConversion
- vkEnumerateInstanceVersion
- vkEnumeratePhysicalDeviceGroups
- vkGetBufferMemoryRequirements2
- vkGetDescriptorSetLayoutSupport
- vkGetDeviceGroupPeerMemoryFeatures
- vkGetDeviceQueue2
- vkGetImageMemoryRequirements2
- vkGetImageSparseMemoryRequirements2
- vkGetPhysicalDeviceExternalBufferProperties
- vkGetPhysicalDeviceExternalFenceProperties
- vkGetPhysicalDeviceExternalSemaphoreProperties
- vkGetPhysicalDeviceFeatures2
- vkGetPhysicalDeviceFormatProperties2
- vkGetPhysicalDeviceImageFormatProperties2
- vkGetPhysicalDeviceMemoryProperties2
- vkGetPhysicalDeviceProperties2
- vkGetPhysicalDeviceQueueFamilyProperties2
- vkGetPhysicalDeviceSparseImageFormatProperties2
- vkTrimCommandPool
- vkUpdateDescriptorSetWithTemplate
New Structures
- VkBindBufferMemoryInfo
- VkBindImageMemoryInfo
- VkBufferMemoryRequirementsInfo2
- VkDescriptorSetLayoutSupport
- VkDescriptorUpdateTemplateCreateInfo
- VkDescriptorUpdateTemplateEntry
- VkDeviceQueueInfo2
- VkExternalBufferProperties
- VkExternalFenceProperties
- VkExternalMemoryProperties
- VkExternalSemaphoreProperties
- VkFormatProperties2
- VkImageFormatProperties2
- VkImageMemoryRequirementsInfo2
- VkImageSparseMemoryRequirementsInfo2
- VkInputAttachmentAspectReference
- VkMemoryRequirements2
- VkPhysicalDeviceExternalBufferInfo
- VkPhysicalDeviceExternalFenceInfo
- VkPhysicalDeviceExternalSemaphoreInfo
- VkPhysicalDeviceGroupProperties
- VkPhysicalDeviceImageFormatInfo2
- VkPhysicalDeviceMemoryProperties2
- VkPhysicalDeviceProperties2
- VkPhysicalDeviceSparseImageFormatInfo2
- VkQueueFamilyProperties2
- VkSamplerYcbcrConversionCreateInfo
- VkSparseImageFormatProperties2
- VkSparseImageMemoryRequirements2
- Extending VkBindBufferMemoryInfo:
- Extending VkBindImageMemoryInfo:
- Extending VkBindSparseInfo:
- Extending VkBufferCreateInfo:
- Extending VkCommandBufferBeginInfo:
- Extending VkDeviceCreateInfo:
- Extending VkFenceCreateInfo:
- Extending VkImageCreateInfo:
- Extending VkImageFormatProperties2:
- Extending VkImageMemoryRequirementsInfo2:
- Extending VkImageViewCreateInfo:
- Extending VkMemoryAllocateInfo:
- Extending VkMemoryRequirements2:
- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:
- VkPhysicalDevice16BitStorageFeatures
- VkPhysicalDeviceMultiviewFeatures
- VkPhysicalDeviceProtectedMemoryFeatures
- VkPhysicalDeviceSamplerYcbcrConversionFeatures
- VkPhysicalDeviceShaderDrawParameterFeatures
- VkPhysicalDeviceShaderDrawParametersFeatures
- VkPhysicalDeviceVariablePointerFeatures
- VkPhysicalDeviceVariablePointersFeatures
- Extending VkPhysicalDeviceImageFormatInfo2:
- Extending VkPhysicalDeviceProperties2:
- Extending VkPipelineTessellationStateCreateInfo:
- Extending VkRenderPassBeginInfo, VkRenderingInfo:
- Extending VkRenderPassCreateInfo:
- Extending VkSamplerCreateInfo, VkImageViewCreateInfo:
- Extending VkSemaphoreCreateInfo:
- Extending VkSubmitInfo:
New Enums
- VkChromaLocation
- VkDescriptorUpdateTemplateType
- VkDeviceQueueCreateFlagBits
- VkExternalFenceFeatureFlagBits
- VkExternalFenceHandleTypeFlagBits
- VkExternalMemoryFeatureFlagBits
- VkExternalMemoryHandleTypeFlagBits
- VkExternalSemaphoreFeatureFlagBits
- VkExternalSemaphoreHandleTypeFlagBits
- VkFenceImportFlagBits
- VkMemoryAllocateFlagBits
- VkPeerMemoryFeatureFlagBits
- VkPointClippingBehavior
- VkSamplerYcbcrModelConversion
- VkSamplerYcbcrRange
- VkSemaphoreImportFlagBits
- VkSubgroupFeatureFlagBits
- VkTessellationDomainOrigin
New Bitmasks
- VkCommandPoolTrimFlags
- VkDescriptorUpdateTemplateCreateFlags
- VkExternalFenceFeatureFlags
- VkExternalFenceHandleTypeFlags
- VkExternalMemoryFeatureFlags
- VkExternalMemoryHandleTypeFlags
- VkExternalSemaphoreFeatureFlags
- VkExternalSemaphoreHandleTypeFlags
- VkFenceImportFlags
- VkMemoryAllocateFlags
- VkPeerMemoryFeatureFlags
- VkSemaphoreImportFlags
- VkSubgroupFeatureFlags
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