| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Vulkan.Extensions.VK_KHR_maintenance5
Description
Name
VK_KHR_maintenance5 - device extension
VK_KHR_maintenance5
- Name String
VK_KHR_maintenance5
- Extension Type
- Device extension
- Registered Extension Number
- 471
- Revision
- 1
- Ratification Status
- Ratified
- Extension and Version Dependencies
VK_KHR_dynamic_rendering or Vulkan Version 1.3
- API Interactions
- 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_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_graphics_pipeline_library
- Interacts with VK_EXT_opacity_micromap
- Interacts with VK_EXT_pipeline_creation_cache_control
- Interacts with VK_EXT_pipeline_protected_access
- Interacts with VK_EXT_transform_feedback
- 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_video_decode_queue
- Interacts with VK_KHR_video_encode_queue
- 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
- Deprecation State
- Promoted to Vulkan 1.4
- Contact
- Extension Proposal
- VK_KHR_maintenance5
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
FORMAT_A1B5G5R5_UNORM_PACK16_KHRformat - A new
FORMAT_A8_UNORM_KHRformat - 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
BufferUsageFlags2CreateInfoKHR - A new command
cmdBindIndexBuffer2KHR, allowing a range of memory to be bound as an index buffer getDeviceProcAddrmust returnNULLfor 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
cmdBindVertexBuffers2now supports usingWHOLE_SIZEin thepSizesparameter.- A default size of 1.0 is used if
PointSizeis not written - Shader modules are deprecated - applications can now pass
ShaderModuleCreateInfoas a chained structure to pipeline creation viaPipelineShaderStageCreateInfo - A function
getRenderingAreaGranularityKHRto query the optimal render area for a dynamic rendering instance. - A property to indicate that depth/stencil texturing operations with
COMPONENT_SWIZZLE_ONEhave defined behavior - Add
getImageSubresourceLayout2KHRand a new functiongetDeviceImageSubresourceLayoutKHRto allow the application to query the image memory layout without having to create an image object and query it. - Allow
REMAINING_ARRAY_LAYERSas thelayerCountmember ofImageSubresourceLayers - Adds stronger guarantees for propagation of
ERROR_DEVICE_LOSTreturn values - A property to indicate whether
PointSizecontrols the final rasterization of polygons if polygon mode isPOLYGON_MODE_POINT - Two properties to indicate the non-strict line rasterization algorithm used
- Two new flags words
PipelineCreateFlagBits2KHRandBufferUsageFlagBits2KHR - 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 Commands
New Structures
ImageSubresource2KHRRenderingAreaInfoKHRSubresourceLayout2KHRExtending
BufferViewCreateInfo,BufferCreateInfo,PhysicalDeviceExternalBufferInfo,DescriptorBufferBindingInfoEXT:Extending
ComputePipelineCreateInfo,GraphicsPipelineCreateInfo,RayTracingPipelineCreateInfoNV,RayTracingPipelineCreateInfoKHR:Extending
PhysicalDeviceFeatures2,DeviceCreateInfo:Extending
PhysicalDeviceProperties2:
New Enums
New Bitmasks
New Enum Constants
KHR_MAINTENANCE_5_SPEC_VERSIONExtending
BufferUsageFlagBits2:BUFFER_USAGE_2_INDEX_BUFFER_BIT_KHRBUFFER_USAGE_2_INDIRECT_BUFFER_BIT_KHRBUFFER_USAGE_2_STORAGE_BUFFER_BIT_KHRBUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT_KHRBUFFER_USAGE_2_TRANSFER_DST_BIT_KHRBUFFER_USAGE_2_TRANSFER_SRC_BIT_KHRBUFFER_USAGE_2_UNIFORM_BUFFER_BIT_KHRBUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT_KHRBUFFER_USAGE_2_VERTEX_BUFFER_BIT_KHR
Extending
Format:Extending
PipelineCreateFlagBits2:Extending
StructureType:STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHRSTRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO_KHRSTRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHRSTRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHRSTRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHRSTRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHRSTRUCTURE_TYPE_RENDERING_AREA_INFO_KHRSTRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR
If VK_KHR_dynamic_rendering or Vulkan Version 1.3 and VK_EXT_fragment_density_map is supported:
Extending
PipelineCreateFlagBits2:
If VK_KHR_dynamic_rendering or Vulkan Version 1.3 and VK_KHR_fragment_shading_rate is supported:
Extending
PipelineCreateFlagBits2:
If VK_ARM_pipeline_opacity_micromap is supported:
If VK_EXT_attachment_feedback_loop_layout is supported:
Extending
PipelineCreateFlagBits2:
If VK_EXT_conditional_rendering is supported:
If VK_EXT_descriptor_buffer is supported:
Extending
BufferUsageFlagBits2:Extending
PipelineCreateFlagBits2:
If VK_EXT_graphics_pipeline_library is supported:
Extending
PipelineCreateFlagBits2:
If VK_EXT_opacity_micromap is supported:
Extending
BufferUsageFlagBits2:Extending
PipelineCreateFlagBits2:
If VK_EXT_transform_feedback is supported:
Extending
BufferUsageFlagBits2:
If VK_KHR_acceleration_structure is supported:
Extending
BufferUsageFlagBits2:
If VK_KHR_pipeline_executable_properties is supported:
Extending
PipelineCreateFlagBits2:
If VK_KHR_pipeline_library is supported:
If VK_KHR_ray_tracing_pipeline is supported:
Extending
BufferUsageFlagBits2:Extending
PipelineCreateFlagBits2:PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHRPIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHRPIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHRPIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHRPIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHRPIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHRPIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR
If VK_KHR_video_decode_queue is supported:
Extending
BufferUsageFlagBits2:
If VK_KHR_video_encode_queue is supported:
Extending
BufferUsageFlagBits2:
If VK_NV_device_generated_commands is supported:
If VK_NV_displacement_micromap is supported:
If VK_NV_ray_tracing is supported:
Extending
BufferUsageFlagBits2:Extending
PipelineCreateFlagBits2:
If VK_NV_ray_tracing_motion_blur 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
PipelineCreateFlagBits2:
If Vulkan Version 1.4 or VK_EXT_pipeline_protected_access is supported:
Extending
PipelineCreateFlagBits2:
Promotion to Vulkan 1.4
Functionality in this extension is included in core Vulkan 1.4 with the KHR suffix omitted. The original type, enum, and command names are still available as aliases of the core functionality.
Version History
Revision 1, 2022-12-12 (Stu Smith)
- Initial revision
See Also
No cross-references are available
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.
Documentation
pattern FORMAT_A1B5G5R5_UNORM_PACK16_KHR :: Format Source #
pattern FORMAT_A8_UNORM_KHR :: Format Source #
pattern PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_KHR :: PipelineCreateFlagBits2 Source #
getRenderingAreaGranularityKHR :: MonadIO io => Device -> RenderingAreaInfo -> io ("granularity" ::: Extent2D) Source #
cmdBindIndexBuffer2KHR :: MonadIO io => CommandBuffer -> Buffer -> ("offset" ::: DeviceSize) -> DeviceSize -> IndexType -> io () Source #
getImageSubresourceLayout2KHR :: forall {a :: [Type]} {io}. (Extendss SubresourceLayout2 a, PokeChain a, PeekChain a, MonadIO io) => Device -> Image -> ImageSubresource2 -> io (SubresourceLayout2 a) Source #
getDeviceImageSubresourceLayoutKHR :: forall {a :: [Type]} {io}. (Extendss SubresourceLayout2 a, PokeChain a, PeekChain a, MonadIO io) => Device -> DeviceImageSubresourceInfo -> io (SubresourceLayout2 a) Source #
type KHR_MAINTENANCE_5_SPEC_VERSION = 1 Source #
pattern KHR_MAINTENANCE_5_SPEC_VERSION :: Integral a => a Source #
type KHR_MAINTENANCE_5_EXTENSION_NAME = "VK_KHR_maintenance5" Source #
pattern KHR_MAINTENANCE_5_EXTENSION_NAME :: (Eq a, IsString a) => a Source #