Modulevulkan-3.27GHC2021
Vulkan.Extensions.VK_KHR_maintenance5
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_ARM_shader_instrumentation
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_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
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_KHR format
A new 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 BufferUsageFlags2CreateInfoKHR
A new command cmdBindIndexBuffer2KHR, allowing a range of memory to be bound as an index buffer
getDeviceProcAddr must return
NULLfor 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
cmdBindVertexBuffers2 now supports using WHOLE_SIZE in the
pSizesparameter.A default size of 1.0 is used if
PointSizeis not writtenShader modules are deprecated - applications can now pass ShaderModuleCreateInfo as a chained structure to pipeline creation via PipelineShaderStageCreateInfo
A function getRenderingAreaGranularityKHR to query the optimal render area for a dynamic rendering instance.
A property to indicate that depth/stencil texturing operations with COMPONENT_SWIZZLE_ONE have defined behavior
Add getImageSubresourceLayout2KHR and a new function getDeviceImageSubresourceLayoutKHR to allow the application to query the image memory layout without having to create an image object and query it.
Allow REMAINING_ARRAY_LAYERS as the
layerCountmember of ImageSubresourceLayersAdds stronger guarantees for propagation of ERROR_DEVICE_LOST return values
A property to indicate whether
PointSizecontrols the final rasterization of polygons if polygon mode is POLYGON_MODE_POINTTwo properties to indicate the non-strict line rasterization algorithm used
Two new flags words PipelineCreateFlagBits2KHR and BufferUsageFlagBits2KHR
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
Extending BufferViewCreateInfo, BufferCreateInfo, PhysicalDeviceExternalBufferInfo, DescriptorBufferBindingInfoEXT:
Extending ComputePipelineCreateInfo, GraphicsPipelineCreateInfo, RayTracingPipelineCreateInfoNV, RayTracingPipelineCreateInfoKHR:
Extending PhysicalDeviceFeatures2, DeviceCreateInfo:
Extending PhysicalDeviceProperties2:
New Enums
New Bitmasks
New Enum Constants
Extending BufferUsageFlagBits2:
Extending Format:
Extending PipelineCreateFlagBits2:
Extending StructureType:
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_ARM_shader_instrumentation is supported:
Extending PipelineCreateFlagBits2:
Extending ShaderCreateFlagBitsEXT:
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_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:
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.
- 16 types
- 4 values
- Packagevulkan-3.27
- Exports65
- LanguageGHC2021
- LicenceBSD-3-Clause
- SourceVK_KHR_maintenance5.hs
VkShaderCreateFlagBitsEXT - Bitmask controlling how a shader object is created
Description
SHADER_CREATE_LINK_STAGE_BIT_EXT specifies that a shader is linked to all other shaders created in the same createShadersEXT call whose ShaderCreateInfoEXT structures'
flagsinclude SHADER_CREATE_LINK_STAGE_BIT_EXT.
SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT specifies that the SubgroupSize may vary in a task, mesh, or compute shader.
SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT specifies that the subgroup sizes must be launched with all invocations active in a task, mesh, or compute shader.
SHADER_CREATE_NO_TASK_SHADER_BIT_EXT specifies that a mesh shader must only be used without a task shader. Otherwise, the mesh shader must only be used with a task shader.
SHADER_CREATE_DISPATCH_BASE_BIT_EXT specifies that a compute shader can be used with cmdDispatchBase with a non-zero base workgroup.
SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT specifies that a fragment shader can be used with a fragment shading rate attachment.
SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT specifies that a fragment shader can be used with a fragment density map attachment.
SHADER_CREATE_INDIRECT_BINDABLE_BIT_EXT specifies that the shader can be used in combination with https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#device-generated-commands.
SHADER_CREATE_OPACITY_MICROMAP_DISALLOW_MIXED_SPECIAL_INDEX_BIT_EXT specifies that shader objects cannot be used with acceleration structures which are built with geometry that have an index buffer including both special indices and indices pointing to an associated micromap array. Geometry which has an index buffer using only special indices without an associated micromap array can be used with this flag.
SHADER_CREATE_INDEPENDENT_SETS_BIT_KHR specifies that implementations must ensure that the properties and/or absence of a particular descriptor set do not influence any other descriptor sets for the shader. This allows shader objects to be created with a subset of the total descriptor sets.
SHADER_CREATE_64_BIT_INDEXING_BIT_EXT specifies that the shader enables 64-bit indexing.
SHADER_CREATE_DESCRIPTOR_HEAP_BIT_EXT specifies that the shader will use descriptor heap mappings instead of descriptor set layouts.
See Also
Constructors
Instances8Eq, Ord, Read, Show, Bits, FiniteBits, …
Eq ShaderCreateFlagBitsEXTDefined in vulkan-3.27 · Vulkan.Extensions.VK_EXT_shader_objectOrd ShaderCreateFlagBitsEXTDefined in vulkan-3.27 · Vulkan.Extensions.VK_EXT_shader_objectRead ShaderCreateFlagBitsEXTDefined in vulkan-3.27 · Vulkan.Extensions.VK_EXT_shader_objectShow ShaderCreateFlagBitsEXTDefined in vulkan-3.27 · Vulkan.Extensions.VK_EXT_shader_objectBits ShaderCreateFlagBitsEXTDefined in vulkan-3.27 · Vulkan.Extensions.VK_EXT_shader_objectFiniteBits ShaderCreateFlagBitsEXTDefined in vulkan-3.27 · Vulkan.Extensions.VK_EXT_shader_objectStorable ShaderCreateFlagBitsEXTDefined in vulkan-3.27 · Vulkan.Extensions.VK_EXT_shader_objectZero ShaderCreateFlagBitsEXTDefined in vulkan-3.27 · Vulkan.Extensions.VK_EXT_shader_object