Contact
-
Stu Smith stu-s
Other Extension Metadata
- Last Modified Date
-
2023-05-02
- Interactions and External Dependencies
- Contributors
-
-
Stu Smith, AMD
-
Tobias Hector, AMD
-
Shahbaz Youssefi, Google
-
Slawomir Cygan, Intel
-
Lionel Landwerlin, Intel
-
James Fitzpatrick, Imagination Technologies
-
Andrew Garrard, Imagination Technologies
-
Ralph Potter, Samsung
-
Pan Gao, Huawei
-
Jan-Harald Fredriksen, ARM
-
Jon Leech, Khronos
-
Mike Blumenkrantz, Valve
-
Description
VK_KHR_maintenance5
adds a collection of minor features, none of which
would warrant an entire extension of their own.
The new features are as follows:
-
A new
VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR
format -
A new
VK_FORMAT_A8_UNORM_KHR
format -
A property to indicate that multisample coverage operations are performed after sample counting in EarlyFragmentTests mode
-
Relax VkBufferView creation requirements by allowing subsets of the associated VkBuffer usage using
VkBufferUsageFlags2CreateInfoKHR
-
A new entry point vkCmdBindIndexBuffer2KHR, allowing a range of memory to be bound as an index buffer
-
vkGetDeviceProcAddr must return
NULL
for supported core functions beyond the version requested by the application. -
A property to indicate that the sample mask test is performed after sample counting in EarlyFragmentTests mode
-
vkCmdBindVertexBuffers2
now supports usingVK_WHOLE_SIZE
in thepSizes
parameter. -
A default size of 1.0 is used if
PointSize
is not written -
Shader modules are deprecated - applications can now pass VkShaderModuleCreateInfo as a chained struct to pipeline creation via VkPipelineShaderStageCreateInfo
-
A function vkGetRenderingAreaGranularityKHR to query the optimal render area for a dynamic rendering instance.
-
A property to indicate that depth/stencil texturing operations with
VK_COMPONENT_SWIZZLE_ONE
have defined behavior -
Add vkGetImageSubresourceLayout2KHR and a new function vkGetDeviceImageSubresourceLayoutKHR to allow the application to query the image memory layout without having to create an image object and query it.
-
Allow
VK_REMAINING_ARRAY_LAYERS
as thelayerCount
member of VkImageSubresourceLayers -
Adds stronger guarantees for propagation of
VK_ERROR_DEVICE_LOST
return values -
A property to indicate whether
PointSize
controls the final rasterization of polygons if polygon mode isVK_POLYGON_MODE_POINT
-
Two properties to indicate the non-strict line rasterization algorithm used
-
Two new flags words VkPipelineCreateFlagBits2KHR and VkBufferUsageFlagBits2KHR
-
Physical-device-level functions can now be called with any value in the valid range for a type beyond the defined enumerants, such that applications can avoid checking individual features, extensions, or versions before querying supported properties of a particular enumerant.
-
Clarification that copies between images of any type are allowed, treating 1D images as 2D images with a height of 1.
New Structures
-
Extending VkBufferViewCreateInfo, VkBufferCreateInfo, VkPhysicalDeviceExternalBufferInfo, VkDescriptorBufferBindingInfoEXT:
-
Extending VkComputePipelineCreateInfo, VkGraphicsPipelineCreateInfo, VkRayTracingPipelineCreateInfoNV, VkRayTracingPipelineCreateInfoKHR:
-
Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:
-
Extending VkPhysicalDeviceProperties2:
New Enum Constants
-
VK_KHR_MAINTENANCE_5_EXTENSION_NAME
-
VK_KHR_MAINTENANCE_5_SPEC_VERSION
-
Extending VkFormat:
-
VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR
-
VK_FORMAT_A8_UNORM_KHR
-
-
Extending VkStructureType:
-
VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR
-
VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO_KHR
-
VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR
-
VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR
-
VK_STRUCTURE_TYPE_RENDERING_AREA_INFO_KHR
-
VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR
-
If VK_EXT_attachment_feedback_loop_layout is supported:
-
Extending VkPipelineCreateFlagBits2KHR:
-
VK_PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT
-
VK_PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT
-
If VK_EXT_conditional_rendering is supported:
-
Extending VkBufferUsageFlagBits2KHR:
-
VK_BUFFER_USAGE_2_CONDITIONAL_RENDERING_BIT_EXT
-
If VK_EXT_descriptor_buffer is supported:
-
Extending VkBufferUsageFlagBits2KHR:
-
VK_BUFFER_USAGE_2_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT
-
VK_BUFFER_USAGE_2_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT
-
VK_BUFFER_USAGE_2_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT
-
-
Extending VkPipelineCreateFlagBits2KHR:
-
VK_PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT
-
If VK_EXT_graphics_pipeline_library is supported:
-
Extending VkPipelineCreateFlagBits2KHR:
-
VK_PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT
-
VK_PIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT
-
If VK_EXT_opacity_micromap is supported:
-
Extending VkBufferUsageFlagBits2KHR:
-
VK_BUFFER_USAGE_2_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT
-
VK_BUFFER_USAGE_2_MICROMAP_STORAGE_BIT_EXT
-
-
Extending VkPipelineCreateFlagBits2KHR:
-
VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT
-
If VK_EXT_pipeline_protected_access is supported:
-
Extending VkPipelineCreateFlagBits2KHR:
-
VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT
-
VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT
-
If VK_EXT_transform_feedback is supported:
-
Extending VkBufferUsageFlagBits2KHR:
-
VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT
-
VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT
-
If VK_KHR_acceleration_structure is supported:
-
Extending VkBufferUsageFlagBits2KHR:
-
VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR
-
VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR
-
If VK_KHR_dynamic_rendering and VK_EXT_fragment_density_map is supported:
-
Extending VkPipelineCreateFlagBits2KHR:
-
VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
-
If VK_KHR_dynamic_rendering and VK_KHR_fragment_shading_rate is supported:
-
Extending VkPipelineCreateFlagBits2KHR:
-
VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
-
If VK_KHR_pipeline_executable_properties is supported:
-
Extending VkPipelineCreateFlagBits2KHR:
-
VK_PIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR
-
VK_PIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHR
-
If VK_KHR_pipeline_library is supported:
-
Extending VkPipelineCreateFlagBits2KHR:
-
VK_PIPELINE_CREATE_2_LIBRARY_BIT_KHR
-
If VK_KHR_ray_tracing_pipeline is supported:
-
Extending VkBufferUsageFlagBits2KHR:
-
VK_BUFFER_USAGE_2_SHADER_BINDING_TABLE_BIT_KHR
-
-
Extending VkPipelineCreateFlagBits2KHR:
-
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
-
VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR
-
VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR
-
If VK_KHR_video_decode_queue is supported:
-
Extending VkBufferUsageFlagBits2KHR:
-
VK_BUFFER_USAGE_2_VIDEO_DECODE_DST_BIT_KHR
-
VK_BUFFER_USAGE_2_VIDEO_DECODE_SRC_BIT_KHR
-
If VK_KHR_video_encode_queue is supported:
-
Extending VkBufferUsageFlagBits2KHR:
-
VK_BUFFER_USAGE_2_VIDEO_ENCODE_DST_BIT_KHR
-
VK_BUFFER_USAGE_2_VIDEO_ENCODE_SRC_BIT_KHR
-
If VK_NV_device_generated_commands is supported:
-
Extending VkPipelineCreateFlagBits2KHR:
-
VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_NV
-
If VK_NV_displacement_micromap is supported:
-
Extending VkPipelineCreateFlagBits2KHR:
-
VK_PIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV
-
If VK_NV_ray_tracing is supported:
-
Extending VkBufferUsageFlagBits2KHR:
-
VK_BUFFER_USAGE_2_RAY_TRACING_BIT_NV
-
-
Extending VkPipelineCreateFlagBits2KHR:
-
VK_PIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV
-
If VK_NV_ray_tracing_motion_blur is supported:
-
Extending VkPipelineCreateFlagBits2KHR:
-
VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV
-
If Version 1.1 or VK_KHR_device_group is supported:
-
Extending VkPipelineCreateFlagBits2KHR:
-
VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHR
-
VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR
-
If Version 1.2 or VK_KHR_buffer_device_address or VK_EXT_buffer_device_address is supported:
-
Extending VkBufferUsageFlagBits2KHR:
-
VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT_KHR
-
If Version 1.3 or VK_EXT_pipeline_creation_cache_control is supported:
-
Extending VkPipelineCreateFlagBits2KHR:
-
VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT_KHR
-
VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_KHR
-
See Also
VkDeviceImageSubresourceInfoKHR, VkImageSubresource2KHR, VkPhysicalDeviceMaintenance5FeaturesKHR, VkPhysicalDeviceMaintenance5PropertiesKHR, VkRenderingAreaInfoKHR, VkSubresourceLayout2KHR, vkCmdBindIndexBuffer2KHR, vkGetDeviceImageSubresourceLayoutKHR, vkGetImageSubresourceLayout2KHR, vkGetRenderingAreaGranularityKHR
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.