| Safe Haskell | Safe-Inferred |
|---|---|
| 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
- Version 1.1 and VK_KHR_dynamic_rendering
- 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 entry point
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 struct 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
Format: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_EXT_attachment_feedback_loop_layout is supported:
Extending
PipelineCreateFlagBits2KHR:
If VK_EXT_conditional_rendering is supported:
If VK_EXT_descriptor_buffer is supported:
Extending
BufferUsageFlagBits2KHR:Extending
PipelineCreateFlagBits2KHR:
If VK_EXT_graphics_pipeline_library is supported:
Extending
PipelineCreateFlagBits2KHR:
If VK_EXT_opacity_micromap is supported:
Extending
BufferUsageFlagBits2KHR:Extending
PipelineCreateFlagBits2KHR:
If VK_EXT_pipeline_protected_access is supported:
Extending
PipelineCreateFlagBits2KHR:
If VK_EXT_transform_feedback is supported:
Extending
BufferUsageFlagBits2KHR:
If VK_KHR_acceleration_structure is supported:
Extending
BufferUsageFlagBits2KHR:
If VK_KHR_dynamic_rendering and VK_EXT_fragment_density_map is supported:
Extending
PipelineCreateFlagBits2KHR:
If VK_KHR_dynamic_rendering and VK_KHR_fragment_shading_rate is supported:
Extending
PipelineCreateFlagBits2KHR:
If VK_KHR_pipeline_executable_properties is supported:
Extending
PipelineCreateFlagBits2KHR:
If VK_KHR_pipeline_library is supported:
If VK_KHR_ray_tracing_pipeline is supported:
Extending
BufferUsageFlagBits2KHR:Extending
PipelineCreateFlagBits2KHR: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
BufferUsageFlagBits2KHR:
If VK_KHR_video_encode_queue is supported:
Extending
BufferUsageFlagBits2KHR:
If VK_NV_device_generated_commands is supported:
If VK_NV_displacement_micromap is supported:
If VK_NV_ray_tracing is supported:
Extending
BufferUsageFlagBits2KHR:Extending
PipelineCreateFlagBits2KHR:
If VK_NV_ray_tracing_motion_blur is supported:
If Version 1.1 or VK_KHR_device_group is supported:
Extending
PipelineCreateFlagBits2KHR:
If Version 1.2 or VK_KHR_buffer_device_address or VK_EXT_buffer_device_address is supported:
If Version 1.3 or VK_EXT_pipeline_creation_cache_control is supported:
Extending
PipelineCreateFlagBits2KHR:
Issues
None.
Version History
Revision 1, 2022-12-12 (Stu Smith)
- Initial revision
See Also
DeviceImageSubresourceInfoKHR, ImageSubresource2KHR,
PhysicalDeviceMaintenance5FeaturesKHR,
PhysicalDeviceMaintenance5PropertiesKHR, RenderingAreaInfoKHR,
SubresourceLayout2KHR, cmdBindIndexBuffer2KHR,
getDeviceImageSubresourceLayoutKHR, getImageSubresourceLayout2KHR,
getRenderingAreaGranularityKHR
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.
Synopsis
- getRenderingAreaGranularityKHR :: forall io. MonadIO io => Device -> RenderingAreaInfoKHR -> io ("granularity" ::: Extent2D)
- cmdBindIndexBuffer2KHR :: forall io. MonadIO io => CommandBuffer -> Buffer -> ("offset" ::: DeviceSize) -> DeviceSize -> IndexType -> io ()
- getImageSubresourceLayout2KHR :: forall a io. (Extendss SubresourceLayout2KHR a, PokeChain a, PeekChain a, MonadIO io) => Device -> Image -> ImageSubresource2KHR -> io (SubresourceLayout2KHR a)
- getDeviceImageSubresourceLayoutKHR :: forall a io. (Extendss SubresourceLayout2KHR a, PokeChain a, PeekChain a, MonadIO io) => Device -> DeviceImageSubresourceInfoKHR -> io (SubresourceLayout2KHR a)
- pattern BUFFER_USAGE_2_RAY_TRACING_BIT_NV :: BufferUsageFlagBits2KHR
- data BufferUsageFlags2CreateInfoKHR = BufferUsageFlags2CreateInfoKHR {}
- data PipelineCreateFlags2CreateInfoKHR = PipelineCreateFlags2CreateInfoKHR {}
- data PhysicalDeviceMaintenance5FeaturesKHR = PhysicalDeviceMaintenance5FeaturesKHR {
- maintenance5 :: Bool
- data PhysicalDeviceMaintenance5PropertiesKHR = PhysicalDeviceMaintenance5PropertiesKHR {}
- data RenderingAreaInfoKHR = RenderingAreaInfoKHR {}
- data ImageSubresource2KHR = ImageSubresource2KHR {}
- data SubresourceLayout2KHR (es :: [Type]) = SubresourceLayout2KHR {
- next :: Chain es
- subresourceLayout :: SubresourceLayout
- data DeviceImageSubresourceInfoKHR = DeviceImageSubresourceInfoKHR {}
- type PipelineCreateFlags2KHR = PipelineCreateFlagBits2KHR
- newtype PipelineCreateFlagBits2KHR where
- PipelineCreateFlagBits2KHR Flags64
- pattern PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_DERIVATIVE_BIT_KHR :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_NV :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_LIBRARY_BIT_KHR :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT_KHR :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_KHR :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHR :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHR :: PipelineCreateFlagBits2KHR
- pattern PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR :: PipelineCreateFlagBits2KHR
- type KHR_MAINTENANCE_5_SPEC_VERSION = 1
- pattern KHR_MAINTENANCE_5_SPEC_VERSION :: forall a. Integral a => a
- type KHR_MAINTENANCE_5_EXTENSION_NAME = "VK_KHR_maintenance5"
- pattern KHR_MAINTENANCE_5_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
- newtype BufferUsageFlagBits2KHR where
- BufferUsageFlagBits2KHR Flags64
- pattern BUFFER_USAGE_2_TRANSFER_SRC_BIT_KHR :: BufferUsageFlagBits2KHR
- pattern BUFFER_USAGE_2_TRANSFER_DST_BIT_KHR :: BufferUsageFlagBits2KHR
- pattern BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR :: BufferUsageFlagBits2KHR
- pattern BUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT_KHR :: BufferUsageFlagBits2KHR
- pattern BUFFER_USAGE_2_UNIFORM_BUFFER_BIT_KHR :: BufferUsageFlagBits2KHR
- pattern BUFFER_USAGE_2_STORAGE_BUFFER_BIT_KHR :: BufferUsageFlagBits2KHR
- pattern BUFFER_USAGE_2_INDEX_BUFFER_BIT_KHR :: BufferUsageFlagBits2KHR
- pattern BUFFER_USAGE_2_VERTEX_BUFFER_BIT_KHR :: BufferUsageFlagBits2KHR
- pattern BUFFER_USAGE_2_INDIRECT_BUFFER_BIT_KHR :: BufferUsageFlagBits2KHR
- pattern BUFFER_USAGE_2_MICROMAP_STORAGE_BIT_EXT :: BufferUsageFlagBits2KHR
- pattern BUFFER_USAGE_2_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT :: BufferUsageFlagBits2KHR
- pattern BUFFER_USAGE_2_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT :: BufferUsageFlagBits2KHR
- pattern BUFFER_USAGE_2_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT :: BufferUsageFlagBits2KHR
- pattern BUFFER_USAGE_2_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT :: BufferUsageFlagBits2KHR
- pattern BUFFER_USAGE_2_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR :: BufferUsageFlagBits2KHR
- pattern BUFFER_USAGE_2_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR :: BufferUsageFlagBits2KHR
- pattern BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT_KHR :: BufferUsageFlagBits2KHR
- pattern BUFFER_USAGE_2_VIDEO_ENCODE_SRC_BIT_KHR :: BufferUsageFlagBits2KHR
- pattern BUFFER_USAGE_2_VIDEO_ENCODE_DST_BIT_KHR :: BufferUsageFlagBits2KHR
- pattern BUFFER_USAGE_2_VIDEO_DECODE_DST_BIT_KHR :: BufferUsageFlagBits2KHR
- pattern BUFFER_USAGE_2_VIDEO_DECODE_SRC_BIT_KHR :: BufferUsageFlagBits2KHR
- pattern BUFFER_USAGE_2_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT :: BufferUsageFlagBits2KHR
- pattern BUFFER_USAGE_2_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT :: BufferUsageFlagBits2KHR
- pattern BUFFER_USAGE_2_SHADER_BINDING_TABLE_BIT_KHR :: BufferUsageFlagBits2KHR
- pattern BUFFER_USAGE_2_CONDITIONAL_RENDERING_BIT_EXT :: BufferUsageFlagBits2KHR
- pattern BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX :: BufferUsageFlagBits2KHR
- type BufferUsageFlags2KHR = BufferUsageFlagBits2KHR
Documentation
getRenderingAreaGranularityKHR Source #
Arguments
| :: forall io. MonadIO io | |
| => Device |
|
| -> RenderingAreaInfoKHR |
|
| -> io ("granularity" ::: Extent2D) |
vkGetRenderingAreaGranularityKHR - Returns the granularity for dynamic rendering optimal render area
Description
The conditions leading to an optimal renderArea are:
- the
offset.xmember inrenderAreais a multiple of thewidthmember of the returnedExtent2D(the horizontal granularity). - the
offset.ymember inrenderAreais a multiple of theheightmember of the returnedExtent2D(the vertical granularity). - either the
extent.widthmember inrenderAreais a multiple of the horizontal granularity oroffset.x+extent.widthis equal to thewidthof theframebufferin theRenderPassBeginInfo. - either the
extent.heightmember inrenderAreais a multiple of the vertical granularity oroffset.y+extent.heightis equal to theheightof theframebufferin theRenderPassBeginInfo.
Valid Usage (Implicit)
-
devicemust be a validDevicehandle
-
pRenderingAreaInfomust be a valid pointer to a validRenderingAreaInfoKHRstructure -
pGranularitymust be a valid pointer to aExtent2Dstructure
See Also
cmdBindIndexBuffer2KHR Source #
Arguments
| :: forall io. MonadIO io | |
| => CommandBuffer |
|
| -> Buffer |
|
| -> ("offset" ::: DeviceSize) |
|
| -> DeviceSize |
|
| -> IndexType |
|
| -> io () |
vkCmdBindIndexBuffer2KHR - Bind an index buffer to a command buffer
Description
size specifies the bound size of the index buffer starting from
offset. If size is WHOLE_SIZE then the
bound size is from offset to the end of the buffer.
Valid Usage
- The sum of
offsetand the base address of the range ofDeviceMemoryobject that is backingbuffer, must be a multiple of the size of the type indicated byindexType -
buffermust have been created with theBUFFER_USAGE_INDEX_BUFFER_BITflag - If
bufferis non-sparse then it must be bound completely and contiguously to a singleDeviceMemoryobject -
indexTypemust not beINDEX_TYPE_NONE_KHR - If
indexTypeisINDEX_TYPE_UINT8_EXT, the indexTypeUint8 feature must be enabled - If
sizeis notWHOLE_SIZE,sizemust be a multiple of the size of the type indicated byindexType - If
sizeis notWHOLE_SIZE, the sum ofoffsetandsizemust be less than or equal to the size ofbuffer
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
buffermust be a validBufferhandle -
indexTypemust be a validIndexTypevalue -
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must support graphics operations - This command must only be called outside of a video coding scope
- Both of
buffer, andcommandBuffermust have been created, allocated, or retrieved from the sameDevice
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | Graphics | State |
See Also
VK_KHR_maintenance5,
Buffer, CommandBuffer,
DeviceSize,
IndexType
getImageSubresourceLayout2KHR Source #
Arguments
| :: forall a io. (Extendss SubresourceLayout2KHR a, PokeChain a, PeekChain a, MonadIO io) | |
| => Device |
|
| -> Image |
|
| -> ImageSubresource2KHR |
|
| -> io (SubresourceLayout2KHR a) |
vkGetImageSubresourceLayout2KHR - Retrieve information about an image subresource
Description
getImageSubresourceLayout2KHR behaves similarly to
getImageSubresourceLayout, with the ability to
specify extended inputs via chained input structures, and to return
extended information via chained output structures.
It is legal to call getImageSubresourceLayout2KHR with a image
created with tiling equal to
IMAGE_TILING_OPTIMAL, but the members
of SubresourceLayout2KHR::subresourceLayout will have undefined
values in this case.
Note
Structures chained from ImageSubresource2KHR::pNext will also be
updated when tiling is equal to
IMAGE_TILING_OPTIMAL.
Valid Usage
- The
mipLevelmember ofpSubresourcemust be less than themipLevelsspecified inImageCreateInfowhenimagewas created - The
arrayLayermember ofpSubresourcemust be less than thearrayLayersspecified inImageCreateInfowhenimagewas created - If
formatof theimageis a color format,tilingof theimageisIMAGE_TILING_LINEARorIMAGE_TILING_OPTIMAL, and does not have a multi-planar image format, theaspectMaskmember ofpSubresourcemust beIMAGE_ASPECT_COLOR_BIT - If
formatof theimagehas a depth component, theaspectMaskmember ofpSubresourcemust containIMAGE_ASPECT_DEPTH_BIT - If
formatof theimagehas a stencil component, theaspectMaskmember ofpSubresourcemust containIMAGE_ASPECT_STENCIL_BIT - If
formatof theimagedoes not contain a stencil or depth component, theaspectMaskmember ofpSubresourcemust not containIMAGE_ASPECT_DEPTH_BITorIMAGE_ASPECT_STENCIL_BIT - If the
tilingof theimageisIMAGE_TILING_LINEARand has a multi-planar image format, then theaspectMaskmember ofpSubresourcemust be a single valid multi-planar aspect mask bit - If
imagewas created with theEXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROIDexternal memory handle type, thenimagemust be bound to memory - If the
tilingof theimageisIMAGE_TILING_DRM_FORMAT_MODIFIER_EXT, then theaspectMaskmember ofpSubresourcemust beVK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXTand the index i must be less than theDrmFormatModifierPropertiesEXT::drmFormatModifierPlaneCountassociated with the image’sformatandImageDrmFormatModifierPropertiesEXT::drmFormatModifier
Valid Usage (Implicit)
-
devicemust be a validDevicehandle
-
imagemust be a validImagehandle -
pSubresourcemust be a valid pointer to a validImageSubresource2KHRstructure -
pLayoutmust be a valid pointer to aSubresourceLayout2KHRstructure -
imagemust have been created, allocated, or retrieved fromdevice
See Also
VK_KHR_maintenance5,
Device, Image,
ImageSubresource2KHR, SubresourceLayout2KHR
getDeviceImageSubresourceLayoutKHR Source #
Arguments
| :: forall a io. (Extendss SubresourceLayout2KHR a, PokeChain a, PeekChain a, MonadIO io) | |
| => Device |
|
| -> DeviceImageSubresourceInfoKHR |
|
| -> io (SubresourceLayout2KHR a) |
vkGetDeviceImageSubresourceLayoutKHR - Retrieve information about an image subresource without an image object
Description
getDeviceImageSubresourceLayoutKHR behaves similarly to
getImageSubresourceLayout2KHR, but uses a
ImageCreateInfo structure to specify the image
rather than a Image object.
Valid Usage (Implicit)
See Also
VK_KHR_maintenance5,
Device, DeviceImageSubresourceInfoKHR,
SubresourceLayout2KHR
data BufferUsageFlags2CreateInfoKHR Source #
VkBufferUsageFlags2CreateInfoKHR - Extended buffer usage flags
Description
If this structure is included in the pNext chain of a buffer creation
structure, usage is used instead of the corresponding usage value
passed in that creation structure, allowing additional usage flags to be
specified. If this structure is included in the pNext chain of a
buffer query structure, the usage flags of the buffer are returned in
usage of this structure, and the usage flags representable in usage
of the buffer query structure are also returned in that field.
Valid Usage (Implicit)
See Also
Constructors
| BufferUsageFlags2CreateInfoKHR | |
Fields
| |
Instances
data PipelineCreateFlags2CreateInfoKHR Source #
VkPipelineCreateFlags2CreateInfoKHR - Extended pipeline create flags
Description
If this structure is included in the pNext chain of a pipeline
creation structure, flags is used instead of the corresponding flags
value passed in that creation structure, allowing additional creation
flags to be specified.
Valid Usage (Implicit)
See Also
Constructors
| PipelineCreateFlags2CreateInfoKHR | |
Fields
| |
Instances
data PhysicalDeviceMaintenance5FeaturesKHR Source #
VkPhysicalDeviceMaintenance5FeaturesKHR - Structure describing whether the implementation supports maintenance5 functionality
Members
This structure describes the following feature:
Description
If the PhysicalDeviceMaintenance5FeaturesKHR structure is included in
the pNext chain of the
PhysicalDeviceFeatures2
structure passed to
getPhysicalDeviceFeatures2,
it is filled in to indicate whether each corresponding feature is
supported. PhysicalDeviceMaintenance5FeaturesKHR can also be used in
the pNext chain of DeviceCreateInfo to
selectively enable these features.
Valid Usage (Implicit)
See Also
Constructors
| PhysicalDeviceMaintenance5FeaturesKHR | |
Fields
| |
Instances
data PhysicalDeviceMaintenance5PropertiesKHR Source #
VkPhysicalDeviceMaintenance5PropertiesKHR - Structure describing various implementation-defined properties introduced with VK_KHR_maintenance5
Description
If the PhysicalDeviceMaintenance5PropertiesKHR structure is included
in the pNext chain of the
PhysicalDeviceProperties2
structure passed to
getPhysicalDeviceProperties2,
it is filled in with each corresponding implementation-dependent
property.
Valid Usage (Implicit)
See Also
Constructors
| PhysicalDeviceMaintenance5PropertiesKHR | |
Fields
| |
Instances
data RenderingAreaInfoKHR Source #
VkRenderingAreaInfoKHR - Structure describing rendering area granularity query info
Valid Usage (Implicit)
See Also
VK_KHR_maintenance5,
Format,
StructureType,
getRenderingAreaGranularityKHR
Constructors
| RenderingAreaInfoKHR | |
Fields
| |
Instances
| Show RenderingAreaInfoKHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_maintenance5 Methods showsPrec :: Int -> RenderingAreaInfoKHR -> ShowS # show :: RenderingAreaInfoKHR -> String # showList :: [RenderingAreaInfoKHR] -> ShowS # | |
| FromCStruct RenderingAreaInfoKHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_maintenance5 Methods peekCStruct :: Ptr RenderingAreaInfoKHR -> IO RenderingAreaInfoKHR Source # | |
| ToCStruct RenderingAreaInfoKHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_maintenance5 Methods withCStruct :: RenderingAreaInfoKHR -> (Ptr RenderingAreaInfoKHR -> IO b) -> IO b Source # pokeCStruct :: Ptr RenderingAreaInfoKHR -> RenderingAreaInfoKHR -> IO b -> IO b Source # withZeroCStruct :: (Ptr RenderingAreaInfoKHR -> IO b) -> IO b Source # pokeZeroCStruct :: Ptr RenderingAreaInfoKHR -> IO b -> IO b Source # cStructSize :: Int Source # | |
| Zero RenderingAreaInfoKHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_maintenance5 Methods | |
data ImageSubresource2KHR Source #
VkImageSubresource2KHR - Structure specifying an image subresource
Valid Usage (Implicit)
See Also
VK_EXT_host_image_copy,
VK_EXT_image_compression_control,
VK_KHR_maintenance5,
DeviceImageSubresourceInfoKHR,
ImageSubresource,
StructureType,
getImageSubresourceLayout2EXT,
getImageSubresourceLayout2KHR
Constructors
| ImageSubresource2KHR | |
Fields
| |
Instances
data SubresourceLayout2KHR (es :: [Type]) Source #
VkSubresourceLayout2KHR - Structure specifying subresource layout
Valid Usage (Implicit)
-
sTypemust beSTRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR
- Each
pNextmember of any structure (including this one) in thepNextchain must be eitherNULLor a pointer to a valid instance ofImageCompressionPropertiesEXTorSubresourceHostMemcpySizeEXT - The
sTypevalue of each struct in thepNextchain must be unique
See Also
VK_EXT_host_image_copy,
VK_EXT_image_compression_control,
VK_KHR_maintenance5,
StructureType,
SubresourceLayout,
getDeviceImageSubresourceLayoutKHR,
getImageSubresourceLayout2EXT,
getImageSubresourceLayout2KHR
Constructors
| SubresourceLayout2KHR | |
Fields
| |
Instances
data DeviceImageSubresourceInfoKHR Source #
VkDeviceImageSubresourceInfoKHR - Image creation information for querying subresource layout
Valid Usage
- The
mipLevelmember ofpSubresourcemust be less than themipLevelsspecified inImageCreateInfowhenimagewas created - The
arrayLayermember ofpSubresourcemust be less than thearrayLayersspecified inImageCreateInfowhenimagewas created - If
formatof theimageis a color format,tilingof theimageisIMAGE_TILING_LINEARorIMAGE_TILING_OPTIMAL, and does not have a multi-planar image format, theaspectMaskmember ofpSubresourcemust beIMAGE_ASPECT_COLOR_BIT - If
formatof theimagehas a depth component, theaspectMaskmember ofpSubresourcemust containIMAGE_ASPECT_DEPTH_BIT - If
formatof theimagehas a stencil component, theaspectMaskmember ofpSubresourcemust containIMAGE_ASPECT_STENCIL_BIT - If
formatof theimagedoes not contain a stencil or depth component, theaspectMaskmember ofpSubresourcemust not containIMAGE_ASPECT_DEPTH_BITorIMAGE_ASPECT_STENCIL_BIT - If the
tilingof theimageisIMAGE_TILING_LINEARand has a multi-planar image format, then theaspectMaskmember ofpSubresourcemust be a single valid multi-planar aspect mask bit - If
imagewas created with theEXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROIDexternal memory handle type, thenimagemust be bound to memory - If the
tilingof theimageisIMAGE_TILING_DRM_FORMAT_MODIFIER_EXT, then theaspectMaskmember ofpSubresourcemust beVK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXTand the index i must be less than theDrmFormatModifierPropertiesEXT::drmFormatModifierPlaneCountassociated with the image’sformatandImageDrmFormatModifierPropertiesEXT::drmFormatModifier
Valid Usage (Implicit)
-
sTypemust beSTRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO_KHR
-
pNextmust beNULL -
pCreateInfomust be a valid pointer to a validImageCreateInfostructure -
pSubresourcemust be a valid pointer to a validImageSubresource2KHRstructure
See Also
VK_KHR_maintenance5,
ImageCreateInfo, ImageSubresource2KHR,
StructureType,
getDeviceImageSubresourceLayoutKHR
Constructors
| DeviceImageSubresourceInfoKHR | |
Fields
| |
Instances
| Show DeviceImageSubresourceInfoKHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_maintenance5 Methods showsPrec :: Int -> DeviceImageSubresourceInfoKHR -> ShowS # show :: DeviceImageSubresourceInfoKHR -> String # showList :: [DeviceImageSubresourceInfoKHR] -> ShowS # | |
| FromCStruct DeviceImageSubresourceInfoKHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_maintenance5 | |
| ToCStruct DeviceImageSubresourceInfoKHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_maintenance5 Methods withCStruct :: DeviceImageSubresourceInfoKHR -> (Ptr DeviceImageSubresourceInfoKHR -> IO b) -> IO b Source # pokeCStruct :: Ptr DeviceImageSubresourceInfoKHR -> DeviceImageSubresourceInfoKHR -> IO b -> IO b Source # withZeroCStruct :: (Ptr DeviceImageSubresourceInfoKHR -> IO b) -> IO b Source # pokeZeroCStruct :: Ptr DeviceImageSubresourceInfoKHR -> IO b -> IO b Source # cStructSize :: Int Source # | |
| Zero DeviceImageSubresourceInfoKHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_maintenance5 Methods | |
newtype PipelineCreateFlagBits2KHR Source #
VkPipelineCreateFlagBits2KHR - Bitmask controlling how a pipeline is created
Description
PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHRspecifies that the created pipeline will not be optimized. Using this flag may reduce the time taken to create the pipeline.
PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHRspecifies that the pipeline to be created is allowed to be the parent of a pipeline that will be created in a subsequent pipeline creation call.PIPELINE_CREATE_2_DERIVATIVE_BIT_KHRspecifies that the pipeline to be created will be a child of a previously created parent pipeline.PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHRspecifies that any shader input variables decorated asViewIndexwill be assigned values as if they were decorated asDeviceIndex.PIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHRspecifies that a compute pipeline can be used withcmdDispatchBasewith a non-zero base workgroup.PIPELINE_CREATE_2_DEFER_COMPILE_BIT_NVspecifies that a pipeline is created with all shaders in the deferred state. Before using the pipeline the application must callcompileDeferredNVexactly once on each shader in the pipeline before using the pipeline.PIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHRspecifies that the shader compiler should capture statistics for the pipeline executables produced by the compile process which can later be retrieved by callinggetPipelineExecutableStatisticsKHR. Enabling this flag must not affect the final compiled pipeline but may disable pipeline caching or otherwise affect pipeline creation time.PIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHRspecifies that the shader compiler should capture the internal representations of pipeline executables produced by the compile process which can later be retrieved by callinggetPipelineExecutableInternalRepresentationsKHR. Enabling this flag must not affect the final compiled pipeline but may disable pipeline caching or otherwise affect pipeline creation time. When capturing IR from pipelines created with pipeline libraries, there is no guarantee that IR from libraries can be retrieved from the linked pipeline. Applications should retrieve IR from each library, and any linked pipelines, separately.PIPELINE_CREATE_2_LIBRARY_BIT_KHRspecifies that the pipeline cannot be used directly, and instead defines a pipeline library that can be combined with other pipelines using thePipelineLibraryCreateInfoKHRstructure. This is available in ray tracing and graphics pipelines.PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHRspecifies that an any-hit shader will always be present when an any-hit shader would be executed. A NULL any-hit shader is an any-hit shader which is effectivelySHADER_UNUSED_KHR, such as from a shader group consisting entirely of zeros.PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHRspecifies that a closest hit shader will always be present when a closest hit shader would be executed. A NULL closest hit shader is a closest hit shader which is effectivelySHADER_UNUSED_KHR, such as from a shader group consisting entirely of zeros.PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHRspecifies that a miss shader will always be present when a miss shader would be executed. A NULL miss shader is a miss shader which is effectivelySHADER_UNUSED_KHR, such as from a shader group consisting entirely of zeros.PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHRspecifies that an intersection shader will always be present when an intersection shader would be executed. A NULL intersection shader is an intersection shader which is effectivelySHADER_UNUSED_KHR, such as from a shader group consisting entirely of zeros.PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHRspecifies that triangle primitives will be skipped during traversal usingOpTraceRayKHR.PIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHRspecifies that AABB primitives will be skipped during traversal usingOpTraceRayKHR.PIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHRspecifies that the shader group handles can be saved and reused on a subsequent run (e.g. for trace capture and replay).PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_NVspecifies that the pipeline can be used in combination with https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#device-generated-commands.PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_KHRspecifies that pipeline creation will fail if a compile is required for creation of a validPipelineobject;PIPELINE_COMPILE_REQUIREDwill be returned by pipeline creation, and thePipelinewill be set toNULL_HANDLE.- When creating multiple pipelines,
PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT_KHRspecifies that control will be returned to the application if any individual pipeline returns a result which is notSUCCESSrather than continuing to create additional pipelines. PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NVspecifies that the pipeline is allowed to useOpTraceRayMotionNV.PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHRspecifies that the pipeline will be used with a fragment shading rate attachment.PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXTspecifies that the pipeline will be used with a fragment density map attachment.PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXTspecifies that pipeline libraries being linked into this library should have link time optimizations applied. If this bit is omitted, implementations should instead perform linking as rapidly as possible.PIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXTspecifies that pipeline libraries should retain any information necessary to later perform an optimal link withPIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT.PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXTspecifies that a pipeline will be used with descriptor buffers, rather than descriptor sets.PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXTspecifies that the pipeline may be used with an attachment feedback loop including color attachments.PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXTspecifies that the pipeline may be used with an attachment feedback loop including depth-stencil attachments.PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXTspecifies that the pipeline can be used with acceleration structures which reference an opacity micromap array.PIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NVspecifies that the pipeline can be used with aceleration structures which reference a displacement micromap array.PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXTspecifies that the pipeline must not be bound to a protected command buffer.PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXTspecifies that the pipeline must not be bound to an unprotected command buffer.
It is valid to set both PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR
and PIPELINE_CREATE_2_DERIVATIVE_BIT_KHR. This allows a pipeline to be
both a parent and possibly a child in a pipeline hierarchy. See
Pipeline Derivatives
for more information.
When an implementation is looking up a pipeline in a
pipeline cache,
if that pipeline is being created using linked libraries,
implementations should always return an equivalent pipeline created
with PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT if available,
whether or not that bit was specified.
Note
Using PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT (or not) when
linking pipeline libraries is intended as a performance tradeoff between
host and device. If the bit is omitted, linking should be faster and
produce a pipeline more rapidly, but performance of the pipeline on the
target device may be reduced. If the bit is included, linking may be
slower but should produce a pipeline with device performance comparable
to a monolithically created pipeline. Using both options can allow
latency-sensitive applications to generate a suboptimal but usable
pipeline quickly, and then perform an optimal link in the background,
substituting the result for the suboptimally linked pipeline as soon as
it is available.
See Also
Constructors
| PipelineCreateFlagBits2KHR Flags64 |
Bundled Patterns
Instances
type KHR_MAINTENANCE_5_SPEC_VERSION = 1 Source #
pattern KHR_MAINTENANCE_5_SPEC_VERSION :: forall a. Integral a => a Source #
type KHR_MAINTENANCE_5_EXTENSION_NAME = "VK_KHR_maintenance5" Source #
pattern KHR_MAINTENANCE_5_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #
newtype BufferUsageFlagBits2KHR Source #
VkBufferUsageFlagBits2KHR - Bitmask controlling how a pipeline is created
See Also
Constructors
| BufferUsageFlagBits2KHR Flags64 |
Bundled Patterns