Description
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
extension is not supported, support for theVK_KHR_16bit_storagestorageBuffer16BitAccessfeature is optional. Support for this feature is defined by VkPhysicalDevice16BitStorageFeatures::storageBuffer16BitAccessor VkPhysicalDeviceVulkan11Features::storageBuffer16BitAccesswhen queried via vkGetPhysicalDeviceFeatures2. - Differences Relative to
VK_KHR_sampler_ycbcr_conversion -
If the
extension is not supported, support for theVK_KHR_sampler_ycbcr_conversionsamplerYcbcrConversionfeature is optional. Support for this feature is defined by VkPhysicalDeviceSamplerYcbcrConversionFeatures::samplerYcbcrConversionor VkPhysicalDeviceVulkan11Features::samplerYcbcrConversionwhen queried via vkGetPhysicalDeviceFeatures2. - Differences Relative to
VK_KHR_shader_draw_parameters -
If the
extension is not supported, support for theVK_KHR_shader_draw_parametersSPV_KHR_shader_draw_parametersSPIR-V extension is optional. Support for this feature is defined by VkPhysicalDeviceShaderDrawParametersFeatures::shaderDrawParametersor VkPhysicalDeviceVulkan11Features::shaderDrawParameterswhen queried via vkGetPhysicalDeviceFeatures2. - Differences Relative to
VK_KHR_variable_pointers -
If the
extension is not supported, support for theVK_KHR_variable_pointersvariablePointersStorageBufferfeature is optional. Support for this feature is defined by VkPhysicalDeviceVariablePointersFeatures::variablePointersStorageBufferor VkPhysicalDeviceVulkan11Features::variablePointersStorageBufferwhen queried via vkGetPhysicalDeviceFeatures2. - Additional Vulkan 1.1 Feature Support
-
In addition to the promoted extensions described above, Vulkan 1.1 added support for:
-
SPIR-V version 1.1
-
SPIR-V version 1.2
-
SPIR-V version 1.3
-
The group operations and subgroup scope.
-
The protected memory feature.
-
A new command to enumerate the instance version: vkEnumerateInstanceVersion.
-
The VkPhysicalDeviceShaderDrawParametersFeatures feature query structure (where the
extension did not have one).VK_KHR_shader_draw_parameters
-
New Commands
-
vkCreateDescriptorUpdateTemplate -
vkDestroyDescriptorUpdateTemplate -
vkGetImageSparseMemoryRequirements2 -
vkGetPhysicalDeviceSparseImageFormatProperties2 -
vkTrimCommandPool -
vkUpdateDescriptorSetWithTemplate
New Structures
-
VkDescriptorUpdateTemplateCreateInfo -
VkDescriptorUpdateTemplateEntry -
VkImageSparseMemoryRequirementsInfo2 -
VkPhysicalDeviceSparseImageFormatInfo2 -
VkSparseImageFormatProperties2 -
VkSparseImageMemoryRequirements2 -
Extending VkBindBufferMemoryInfo:
-
Extending VkBindImageMemoryInfo:
-
Extending
VkBindSparseInfo:-
VkDeviceGroupBindSparseInfo
-
-
Extending VkBufferCreateInfo:
-
Extending VkCommandBufferBeginInfo:
-
Extending VkDeviceCreateInfo:
-
Extending VkFenceCreateInfo:
-
Extending VkImageCreateInfo:
-
Extending VkImageFormatProperties2:
-
Extending VkImageMemoryRequirementsInfo2:
-
Extending VkImageViewCreateInfo:
-
Extending VkMemoryAllocateInfo:
-
Extending VkMemoryRequirements2:
-
Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:
-
Extending VkPhysicalDeviceImageFormatInfo2:
-
Extending VkPhysicalDeviceProperties2:
-
Extending VkPipelineTessellationStateCreateInfo:
-
Extending VkRenderPassBeginInfo,
VkRenderingInfo: -
Extending VkRenderPassCreateInfo:
-
Extending VkSamplerCreateInfo, VkImageViewCreateInfo:
-
Extending VkSemaphoreCreateInfo:
-
Extending VkSubmitInfo:
New Enum Constants
-
Extending VkBufferCreateFlagBits:
-
Extending VkCommandPoolCreateFlagBits:
-
Extending VkDependencyFlagBits:
-
Extending VkDeviceQueueCreateFlagBits:
-
Extending VkFormat:
-
Extending VkFormatFeatureFlagBits:
-
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
-
Extending VkImageAspectFlagBits:
-
Extending VkImageCreateFlagBits:
-
Extending VkImageLayout:
-
Extending VkMemoryHeapFlagBits:
-
Extending VkMemoryPropertyFlagBits:
-
Extending VkObjectType:
-
VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE
-
-
Extending VkPipelineCreateFlagBits:
-
Extending VkQueueFlagBits:
-
Extending VkResult:
-
Extending VkStructureType:
-
VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO -
VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO -
VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO
-
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_SPARSE_IMAGE_FORMAT_INFO_2 -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES
-
VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO
-
VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO
-
VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES
-
VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 -
VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2
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.