API Interactions
-
Interacts with VK_VERSION_1_0
-
Interacts with VK_VERSION_1_2
-
Interacts with VK_VERSION_1_3
-
Interacts with VK_VERSION_1_4
-
Interacts with VK_ARM_pipeline_opacity_micromap
-
Interacts with VK_ARM_tensors
-
Interacts with VK_EXT_attachment_feedback_loop_layout
-
Interacts with VK_EXT_buffer_device_address
-
Interacts with VK_EXT_conditional_rendering
-
Interacts with VK_EXT_descriptor_buffer
-
Interacts with VK_EXT_fragment_density_map
-
Interacts with VK_EXT_fragment_density_map_offset
-
Interacts with VK_EXT_graphics_pipeline_library
-
Interacts with VK_EXT_image_2d_view_of_3d
-
Interacts with VK_EXT_multisampled_render_to_single_sampled
-
Interacts with VK_EXT_opacity_micromap
-
Interacts with VK_EXT_pipeline_creation_cache_control
-
Interacts with VK_EXT_sample_locations
-
Interacts with VK_EXT_separate_stencil_usage
-
Interacts with VK_EXT_transform_feedback
-
Interacts with VK_HUAWEI_invocation_mask
-
Interacts with VK_KHR_acceleration_structure
-
Interacts with VK_KHR_buffer_device_address
-
Interacts with VK_KHR_dynamic_rendering
-
Interacts with VK_KHR_fragment_shading_rate
-
Interacts with VK_KHR_pipeline_executable_properties
-
Interacts with VK_KHR_pipeline_library
-
Interacts with VK_KHR_ray_tracing_pipeline
-
Interacts with VK_KHR_shared_presentable_image
-
Interacts with VK_KHR_video_decode_queue
-
Interacts with VK_KHR_video_encode_quantization_map
-
Interacts with VK_KHR_video_encode_queue
-
Interacts with VK_KHR_video_maintenance1
-
Interacts with VK_NV_corner_sampled_image
-
Interacts with VK_NV_device_generated_commands
-
Interacts with VK_NV_displacement_micromap
-
Interacts with VK_NV_ray_tracing
-
Interacts with VK_NV_ray_tracing_motion_blur
-
Interacts with VK_QCOM_image_processing
-
Interacts with VK_QCOM_tile_memory_heap
Contact
-
Jon Leech [GitHub]oddhack
Other Extension Metadata
- Last Modified Date
-
2025-12-17
- IP Status
-
No known IP claims.
- Contributors
-
-
Andreas Süßenbach, NVIDIA
-
Daniel Koch, NVIDIA
-
Daniel Rakos, RasterGrid
-
Jon Leech, Independent
-
Matthew Netsch, QUALCOMM
-
Noah Fredriks, AMD
-
Spencer Fricke, LunarG
-
Ting Wei, ARM
-
Žiga Markuš, LunarG
-
Description
This extension adds a new VkFormatFeatureFlagBits4KHR format feature flag type, supporting up to 64 additional flags beyond those defined by VkFormatFeatureFlagBits2; and a new VkFormatProperties4KHR structure to extend VkFormatProperties2. The new structure does not replace format feature flag bits specified by existing commands and structures, unlike VkFormatProperties3. Instead, it adds new flags to the existing APIs. Initially, no new format flag bits are defined.
This extension also adds a new VkImageCreateFlagBits2KHR image create flag type, supporting up to 32 additional flags, and a new VkImageCreateFlags2CreateInfoKHR structure to extend VkImageCreateInfo and other commands that specify image create flag bits. The new structure duplicates image create flag bits specified by existing commands and structures, while also adding up to 32 new flags. All the existing VkImageCreateFlagBits are given corresponding VkImageCreateFlagBits2KHR bits with the same meaning. Initially, no new image create flag bits are defined.
This extension also adds a new VkImageUsageFlagBits2KHR image usage flag type, supporting up to 32 additional flags, and a new VkImageUsageFlags2CreateInfoKHR structure to extend VkImageCreateInfo and other commands that specify image usage flag bits. The new structure duplicates image usage flag bits specified by existing commands and structures, while also adding up to 32 new flags. All the existing VkImageUsageFlagBits are given corresponding VkImageUsageFlagBits2KHR bits with the same meaning. Initially, no new image usage flag bits are defined.
The extension is infrastructure used because the API is running out of available bits in the VkFormatFeatureFlagBits2 and VkImageUsageFlagBits types, and will soon thereafter run out of bits in VkImageCreateFlagBits.
Finally, this extension adds all the same 64-bit flag types first introduced by VK_KHR_maintenance5. This will allow API variants like Vulkan SC to support the extended flags without requiring other, unrelated functionality of VK_KHR_maintenance5.
New Structures
-
Extending VkBufferViewCreateInfo, VkBufferCreateInfo, VkPhysicalDeviceExternalBufferInfo, VkDescriptorBufferBindingInfoEXT:
-
Extending VkComputePipelineCreateInfo, VkGraphicsPipelineCreateInfo, VkRayTracingPipelineCreateInfoNV, VkRayTracingPipelineCreateInfoKHR:
-
Extending VkFormatProperties2:
-
Extending VkFramebufferAttachmentImageInfo, VkImageCreateInfo, VkPhysicalDeviceImageFormatInfo2, VkPhysicalDeviceSparseImageFormatInfo2, VkPhysicalDeviceVideoFormatInfoKHR, VkSurfaceCapabilities2KHR, VkSwapchainCreateInfoKHR, VkVideoFormatPropertiesKHR:
-
Extending VkImageCreateInfo, VkPhysicalDeviceImageFormatInfo2, VkFramebufferAttachmentImageInfo, VkVideoFormatPropertiesKHR:
-
Extending VkImageViewCreateInfo:
-
Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:
If VK_KHR_shared_presentable_image is supported:
If Vulkan Version 1.2 or VK_EXT_separate_stencil_usage is supported:
New Enum Constants
-
VK_KHR_EXTENDED_FLAGS_EXTENSION_NAME -
VK_KHR_EXTENDED_FLAGS_SPEC_VERSION -
Extending VkBufferUsageFlagBits2:
-
Extending VkPipelineCreateFlagBits2:
-
Extending VkStructureType:
If VK_KHR_dynamic_rendering or Vulkan Version 1.3 and VK_EXT_fragment_density_map is supported:
-
Extending VkPipelineCreateFlagBits2:
If VK_KHR_dynamic_rendering or Vulkan Version 1.3 and VK_KHR_fragment_shading_rate is supported:
-
Extending VkPipelineCreateFlagBits2:
If VK_ARM_pipeline_opacity_micromap is supported:
If VK_ARM_tensors is supported:
If VK_EXT_attachment_feedback_loop_layout is supported:
-
Extending VkImageUsageFlagBits2KHR:
-
Extending VkPipelineCreateFlagBits2:
If VK_EXT_conditional_rendering is supported:
If VK_EXT_descriptor_buffer is supported:
-
Extending VkBufferUsageFlagBits2:
-
Extending VkImageCreateFlagBits2KHR:
-
Extending VkPipelineCreateFlagBits2:
If VK_EXT_fragment_density_map is supported:
-
Extending VkImageCreateFlagBits2KHR:
-
Extending VkImageUsageFlagBits2KHR:
If VK_EXT_fragment_density_map_offset is supported:
If VK_EXT_graphics_pipeline_library is supported:
-
Extending VkPipelineCreateFlagBits2:
If VK_EXT_image_2d_view_of_3d is supported:
If VK_EXT_multisampled_render_to_single_sampled is supported:
-
Extending VkImageCreateFlagBits2KHR:
If VK_EXT_opacity_micromap is supported:
-
Extending VkBufferUsageFlagBits2:
-
Extending VkPipelineCreateFlagBits2:
If VK_EXT_sample_locations is supported:
If VK_EXT_transform_feedback is supported:
-
Extending VkBufferUsageFlagBits2:
If VK_HUAWEI_invocation_mask is supported:
If VK_KHR_acceleration_structure is supported:
-
Extending VkBufferUsageFlagBits2:
If VK_KHR_fragment_shading_rate is supported:
If VK_KHR_pipeline_executable_properties is supported:
-
Extending VkPipelineCreateFlagBits2:
If VK_KHR_pipeline_library is supported:
If VK_KHR_ray_tracing_pipeline is supported:
-
Extending VkBufferUsageFlagBits2:
-
Extending VkPipelineCreateFlagBits2:
-
VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR
-
VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR
-
VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR
-
VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR
-
VK_PIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR
-
If VK_KHR_shared_presentable_image is supported:
If VK_KHR_video_decode_queue is supported:
-
Extending VkBufferUsageFlagBits2:
-
Extending VkImageUsageFlagBits2KHR:
If VK_KHR_video_encode_quantization_map is supported:
-
Extending VkImageUsageFlagBits2KHR:
If VK_KHR_video_encode_queue is supported:
-
Extending VkBufferUsageFlagBits2:
-
Extending VkImageUsageFlagBits2KHR:
If VK_KHR_video_maintenance1 is supported:
If VK_NV_corner_sampled_image is supported:
If VK_NV_device_generated_commands is supported:
If VK_NV_displacement_micromap is supported:
If VK_NV_ray_tracing is supported:
If VK_NV_ray_tracing_motion_blur is supported:
If VK_QCOM_image_processing is supported:
-
Extending VkImageUsageFlagBits2KHR:
If VK_QCOM_tile_memory_heap is supported:
If Vulkan Version 1.0 is supported:
-
Extending VkImageCreateFlagBits2KHR:
If Vulkan Version 1.2 or VK_EXT_separate_stencil_usage is supported:
If Vulkan Version 1.2 or VK_KHR_buffer_device_address or VK_EXT_buffer_device_address is supported:
If Vulkan Version 1.3 or VK_EXT_pipeline_creation_cache_control is supported:
-
Extending VkPipelineCreateFlagBits2:
If Vulkan Version 1.4 is supported:
Version History
-
Revision 0.1, 2025-12-17 (Jon Leech)
-
Initial draft
-
-
Revision 0.2, 2026-01-19 (Jon Leech)
-
Add VkImageCreateFlags2KHR and import 64-bit flags types from VK_KHR_maintenance5.
-
-
Revision 0.3, 2026-02-14 (Jon Leech)
-
Add a feature structure.
-
Document Notes
For more information, see the Vulkan Specification.
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.