Appendix D: Core Revisions (Informative)
New minor versions of the Vulkan API are defined periodically by the Khronos Vulkan Working Group. These consist of some amount of additional functionality added to the core API, potentially including both new functionality and functionality promoted from extensions.
It is possible to build the specification for earlier versions, but to aid readability of the latest versions, this appendix gives an overview of the changes as compared to earlier versions.
Vulkan Version 1.4
Vulkan Version 1.4 promoted a number of key extensions into the core API:
All differences in behavior between these extensions and the corresponding Vulkan 1.4 functionality are summarized below.
- Differences Relative to
VK_KHR_dynamic_rendering_local_read -
If the VK_KHR_dynamic_rendering_local_read extension is not supported, Vulkan 1.4 implementations must support local read only for storage resources and single sampled color attachments.
Support for reading depth/stencil attachments and multi-sampled attachments are respectively gated behind the new boolean
dynamicRenderingLocalReadDepthStencilAttachmentsanddynamicRenderingLocalReadMultisampledAttachmentsproperties.-
If
dynamicRenderingLocalReadDepthStencilAttachmentsisVK_FALSE, implementations do not support depth/stencil attachment access within dynamic rendering. -
If
dynamicRenderingLocalReadMultisampledAttachmentsisVK_FALSE, implementations do not support multisampled attachment access within dynamic rendering. -
If both properties are
VK_TRUE, the full functionality of the extension is supported.
-
- Differences Relative to
VK_EXT_host_image_copy -
If the VK_EXT_host_image_copy extension is not supported, support for it is optional in Vulkan 1.4.
-
An implementation that has a
VK_QUEUE_GRAPHICS_BITqueue must support either:-
the
hostImageCopyfeature; or -
an additional queue that supports
VK_QUEUE_TRANSFER_BIT.
-
-
- Differences Relative to
VK_KHR_push_descriptor -
VK_KHR_push_descriptor did not include a feature bit, so a new feature bit has been added to VkPhysicalDeviceVulkan14Features to gate its functionality:
pushDescriptor. Enabling this new feature has the same effect as enabling the extension. - Differences Relative to
VK_EXT_pipeline_protected_access -
VK_EXT_pipeline_protected_access is only useful when the
protectedMemoryfeature is supported. AsprotectedMemoryis optional in core Vulkan,pipelineProtectedAccessis only required whenprotectedMemoryis supported. - Differences Relative to
VK_KHR_line_rasterization -
The
bresenhamLinesfeature is required, rather than just any one of the line style features. - Differences Relative to
VK_KHR_shader_subgroup_rotate -
The
shaderSubgroupRotateClusteredfeature is required in addition toshaderSubgroupRotate. - Additional Vulkan 1.4 Feature Support
-
In addition to the promoted extensions described above, Vulkan 1.4 added required support for:
-
All queues supporting
VK_QUEUE_GRAPHICS_BITorVK_QUEUE_COMPUTE_BITmust also advertiseVK_QUEUE_TRANSFER_BIT. -
Clustered subgroup operations must be advertised in Vulkan 1.4 via setting both
VK_SUBGROUP_FEATURE_CLUSTERED_BITandVK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT(as an interaction with the promoted VK_KHR_shader_subgroup_rotate functionality) insupportedOperations. -
The following features that were optional in earlier versions:
-
New Structures
-
Extending VkBindBufferMemoryInfo, VkBindImageMemoryInfo:
-
Extending VkBufferViewCreateInfo, VkBufferCreateInfo, VkPhysicalDeviceExternalBufferInfo, VkDescriptorBufferBindingInfoEXT:
-
Extending VkComputePipelineCreateInfo, VkGraphicsPipelineCreateInfo, VkRayTracingPipelineCreateInfoNV, VkRayTracingPipelineCreateInfoKHR:
-
Extending VkDeviceQueueCreateInfo:
-
Extending VkGraphicsPipelineCreateInfo, VkCommandBufferInheritanceInfo:
-
Extending VkGraphicsPipelineCreateInfo, VkComputePipelineCreateInfo, VkPipelineShaderStageCreateInfo, VkRayTracingPipelineCreateInfoKHR:
-
Extending VkImageFormatProperties2:
-
Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:
-
Extending VkPhysicalDeviceProperties2:
-
Extending VkPipelineRasterizationStateCreateInfo:
-
Extending VkPipelineVertexInputStateCreateInfo:
-
Extending VkQueueFamilyProperties2:
-
Extending VkSubresourceLayout2:
New Enum Constants
-
VK_MAX_GLOBAL_PRIORITY_SIZE -
Extending VkAttachmentLoadOp:
-
VK_ATTACHMENT_LOAD_OP_NONE
-
-
Extending VkBufferUsageFlagBits2:
-
VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT
-
-
Extending VkDescriptorSetLayoutCreateFlagBits:
-
VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT
-
-
Extending VkDescriptorUpdateTemplateType:
-
VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS
-
-
Extending VkDynamicState:
-
VK_DYNAMIC_STATE_LINE_STIPPLE
-
-
Extending VkFormat:
-
VK_FORMAT_A1B5G5R5_UNORM_PACK16 -
VK_FORMAT_A8_UNORM
-
-
Extending VkFormatFeatureFlagBits2:
-
VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT
-
-
Extending VkImageLayout:
-
VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ
-
-
Extending VkImageUsageFlagBits:
-
VK_IMAGE_USAGE_HOST_TRANSFER_BIT
-
-
Extending VkIndexType:
-
VK_INDEX_TYPE_UINT8
-
-
Extending VkPipelineCreateFlagBits:
-
VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT -
VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT
-
-
Extending VkResult:
-
VK_ERROR_NOT_PERMITTED
-
-
Extending VkStructureType:
-
VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO -
VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS -
VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO -
VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO -
VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO -
VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO -
VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO -
VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO -
VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY -
VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO -
VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2 -
VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY -
VK_STRUCTURE_TYPE_MEMORY_MAP_INFO -
VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY -
VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES -
VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO -
VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO -
VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO -
VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO -
VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO -
VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO -
VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO -
VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES -
VK_STRUCTURE_TYPE_RENDERING_AREA_INFO -
VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO -
VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO -
VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE -
VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2
-
-
Extending VkSubgroupFeatureFlagBits:
-
VK_SUBGROUP_FEATURE_ROTATE_BIT -
VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT
-
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_formatsextension 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_stateare 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_state2for 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
texelBufferAlignmentfeature 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_hdrextension is not supported, support for all formats defined by it are optional in Vulkan 1.3. ThetextureCompressionASTC_HDRmember 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_formatsextension 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
WorkgroupSizedecoration.
-
-
The
bufferDeviceAddressfeature which indicates support for accessing memory in shaders as storage buffers via vkGetBufferDeviceAddress. -
The
vulkanMemoryModelandvulkanMemoryModelDeviceScopefeatures, which indicate support for the corresponding Vulkan Memory Model capabilities. -
The
maxInlineUniformTotalSizelimit 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:
-
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
-
Vulkan Version 1.2
Vulkan Version 1.2 promoted a number of key extensions into the core API:
All differences in behavior between these extensions and the corresponding Vulkan 1.2 functionality are summarized below.
- Differences Relative to
VK_KHR_8bit_storage -
If the
VK_KHR_8bit_storageextension is not supported, support for the SPIR-VstorageBuffer8BitAccesscapability in shader modules is optional. Support for this feature is defined by VkPhysicalDeviceVulkan12Features::storageBuffer8BitAccesswhen queried via vkGetPhysicalDeviceFeatures2. - Differences Relative to
VK_KHR_draw_indirect_count -
If the
VK_KHR_draw_indirect_countextension is not supported, support for the commands vkCmdDrawIndirectCount and vkCmdDrawIndexedIndirectCount is optional. Support for this feature is defined by VkPhysicalDeviceVulkan12Features::drawIndirectCountwhen queried via vkGetPhysicalDeviceFeatures2. - Differences Relative to
VK_KHR_sampler_mirror_clamp_to_edge -
If the
VK_KHR_sampler_mirror_clamp_to_edgeextension is not supported, support for the VkSamplerAddressModeVK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGEis optional. Support for this feature is defined by VkPhysicalDeviceVulkan12Features::samplerMirrorClampToEdgewhen queried via vkGetPhysicalDeviceFeatures2. - Differences Relative to
VK_EXT_descriptor_indexing -
If the
VK_EXT_descriptor_indexingextension is not supported, support for thedescriptorIndexingfeature is optional. Support for this feature is defined by VkPhysicalDeviceVulkan12Features::descriptorIndexingwhen queried via vkGetPhysicalDeviceFeatures2. - Differences Relative to
VK_EXT_scalar_block_layout -
If the
VK_EXT_scalar_block_layoutextension is not supported, support for thescalarBlockLayoutfeature is optional. Support for this feature is defined by VkPhysicalDeviceVulkan12Features::scalarBlockLayoutwhen queried via vkGetPhysicalDeviceFeatures2. - Differences Relative to
VK_EXT_shader_viewport_index_layer -
The
ShaderViewportIndexLayerEXTSPIR-V capability was replaced with theShaderViewportIndexandShaderLayercapabilities. Declaring both is equivalent to declaringShaderViewportIndexLayerEXT. If theVK_EXT_shader_viewport_index_layerextension is not supported, support for theShaderViewportIndexLayerEXTSPIR-V capability is optional. Support for this feature is defined by VkPhysicalDeviceVulkan12Features::shaderOutputViewportIndexand VkPhysicalDeviceVulkan12Features::shaderOutputLayerwhen queried via vkGetPhysicalDeviceFeatures2. - Differences Relative to
VK_KHR_buffer_device_address -
If the
VK_KHR_buffer_device_addressextension is not supported, support for thebufferDeviceAddressfeature is optional. Support for this feature is defined by VkPhysicalDeviceVulkan12Features::bufferDeviceAddresswhen queried via vkGetPhysicalDeviceFeatures2. - Differences Relative to
VK_KHR_shader_atomic_int64 -
If the
VK_KHR_shader_atomic_int64extension is not supported, support for theshaderBufferInt64Atomicsfeature is optional. Support for this feature is defined by VkPhysicalDeviceVulkan12Features::shaderBufferInt64Atomicswhen queried via vkGetPhysicalDeviceFeatures2. - Differences Relative to
VK_KHR_shader_float16_int8 -
If the
VK_KHR_shader_float16_int8extension is not supported, support for theshaderFloat16andshaderInt8features is optional. Support for these features are defined by VkPhysicalDeviceVulkan12Features::shaderFloat16and VkPhysicalDeviceVulkan12Features::shaderInt8when queried via vkGetPhysicalDeviceFeatures2. - Differences Relative to
VK_KHR_vulkan_memory_model -
If the
VK_KHR_vulkan_memory_modelextension is not supported, support for thevulkanMemoryModelfeature is optional. Support for this feature is defined by VkPhysicalDeviceVulkan12Features::vulkanMemoryModelwhen queried via vkGetPhysicalDeviceFeatures2. - Additional Vulkan 1.2 Feature Support
-
In addition to the promoted extensions described above, Vulkan 1.2 added support for:
-
SPIR-V version 1.4.
-
SPIR-V version 1.5.
-
The
samplerMirrorClampToEdgefeature which indicates whether the implementation supports theVK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGEsampler address mode. -
The
ShaderNonUniformcapability in SPIR-V version 1.5. -
The
shaderOutputViewportIndexfeature which indicates that theShaderViewportIndexcapability can be used. -
The
shaderOutputLayerfeature which indicates that theShaderLayercapability can be used. -
The
subgroupBroadcastDynamicIdfeature which allows the “Id” operand ofOpGroupNonUniformBroadcastto be dynamically uniform within a subgroup, and the “Index” operand ofOpGroupNonUniformQuadBroadcastto be dynamically uniform within a derivative group, in shader modules of version 1.5 or higher. -
The
drawIndirectCountfeature which indicates whether the vkCmdDrawIndirectCount and vkCmdDrawIndexedIndirectCount functions can be used. -
The
descriptorIndexingfeature which indicates the implementation supports the minimum number of descriptor indexing features as defined in the Feature Requirements section. -
The
samplerFilterMinmaxfeature which indicates whether the implementation supports the minimum number of image formats that support theVK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BITfeature bit as defined by thefilterMinmaxSingleComponentFormatsproperty minimum requirements. -
The
framebufferIntegerColorSampleCountslimit which indicates the color sample counts that are supported for all framebuffer color attachments with integer formats.
-
New Structures
-
Extending VkAttachmentDescription2:
-
Extending VkAttachmentReference2:
-
Extending VkBufferCreateInfo:
-
Extending VkDescriptorSetAllocateInfo:
-
Extending VkDescriptorSetLayoutCreateInfo:
-
Extending VkDescriptorSetLayoutSupport:
-
Extending VkFramebufferCreateInfo:
-
Extending VkImageCreateInfo, VkPhysicalDeviceImageFormatInfo2:
-
Extending VkImageCreateInfo, VkSwapchainCreateInfoKHR, VkPhysicalDeviceImageFormatInfo2:
-
Extending VkMemoryAllocateInfo:
-
Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:
-
Extending VkPhysicalDeviceProperties2:
-
Extending VkRenderPassBeginInfo:
-
Extending VkSamplerCreateInfo:
-
Extending VkSemaphoreCreateInfo, VkPhysicalDeviceExternalSemaphoreInfo:
-
Extending VkSubmitInfo, VkBindSparseInfo:
-
Extending VkSubpassDescription2:
New Enum Constants
-
VK_MAX_DRIVER_INFO_SIZE -
VK_MAX_DRIVER_NAME_SIZE -
Extending VkBufferCreateFlagBits:
-
VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT
-
-
Extending VkBufferUsageFlagBits:
-
VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT
-
-
Extending VkDescriptorPoolCreateFlagBits:
-
VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT
-
-
Extending VkDescriptorSetLayoutCreateFlagBits:
-
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT
-
-
Extending VkFormatFeatureFlagBits:
-
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT
-
-
Extending VkFramebufferCreateFlagBits:
-
VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT
-
-
Extending VkImageLayout:
-
VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL -
VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL -
VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL -
VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
-
-
Extending VkMemoryAllocateFlagBits:
-
VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT -
VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT
-
-
Extending VkResult:
-
VK_ERROR_FRAGMENTATION -
VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS
-
-
Extending VkSamplerAddressMode:
-
VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE
-
-
Extending VkStructureType:
-
VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 -
VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT -
VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 -
VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT -
VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO -
VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO -
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO -
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO -
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT -
VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO -
VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO -
VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO -
VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO -
VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO -
VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES -
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES -
VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO -
VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 -
VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO -
VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO -
VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO -
VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO -
VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO -
VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 -
VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 -
VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE -
VK_STRUCTURE_TYPE_SUBPASS_END_INFO -
VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO
-
Vulkan Version 1.1
Vulkan Version 1.1 promoted a number of key extensions into the core API:
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_storageextension is not supported, support for thestorageBuffer16BitAccessfeature 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
VK_KHR_sampler_ycbcr_conversionextension is not supported, support for thesamplerYcbcrConversionfeature 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
VK_KHR_shader_draw_parametersextension is not supported, support for theSPV_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
VK_KHR_variable_pointersextension is not supported, support for thevariablePointersStorageBufferfeature 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
VK_KHR_shader_draw_parametersextension did not have one).
-
New Structures
-
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:
-
Extending VkPhysicalDeviceImageFormatInfo2:
-
Extending VkPhysicalDeviceProperties2:
-
Extending VkPipelineTessellationStateCreateInfo:
-
Extending VkRenderPassBeginInfo, VkRenderingInfo:
-
Extending VkRenderPassCreateInfo:
-
Extending VkSamplerCreateInfo, VkImageViewCreateInfo:
-
Extending VkSemaphoreCreateInfo:
-
Extending VkSubmitInfo:
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
-
Vulkan Version 1.0
Vulkan Version 1.0 was the initial release of the Vulkan API.
New Structures
New Enum Constants
-
VK_ATTACHMENT_UNUSED -
VK_FALSE -
VK_LOD_CLAMP_NONE -
VK_MAX_DESCRIPTION_SIZE -
VK_MAX_EXTENSION_NAME_SIZE -
VK_MAX_MEMORY_HEAPS -
VK_MAX_MEMORY_TYPES -
VK_MAX_PHYSICAL_DEVICE_NAME_SIZE -
VK_QUEUE_FAMILY_IGNORED -
VK_REMAINING_ARRAY_LAYERS -
VK_REMAINING_MIP_LEVELS -
VK_SUBPASS_EXTERNAL -
VK_TRUE -
VK_UUID_SIZE -
VK_WHOLE_SIZE