VK_KHR_maintenance2 adds a collection of minor features that were intentionally left out or overlooked from the original Vulkan 1.0 release.
The new features are as follows:
Input attachment specification allows an application to specify which aspect of a multi-aspect image (e.g. a depth/stencil format) will be accessed via a subpassLoad operation.
On some implementations there may be a performance penalty if the implementation does not know (at CreateRenderPass time) which aspect(s) of multi-aspect images can be accessed as input attachments.
All functionality in this extension is included in core Vulkan 1.1, with the KHR suffix omitted. The original type, enum and command names are still available as aliases of the core functionality.
Consider the case where a render pass has two subpasses and two attachments.
Attachment 0 has the format FORMAT_D24_UNORM_S8_UINT, attachment 1 has some color format.
Subpass 0 writes to attachment 0, subpass 1 reads only the depth information from attachment 0 (using inputAttachmentRead) and writes to attachment 1.
VkInputAttachmentAspectReferenceKHR references[] = {
{
.subpass = 1,
.inputAttachmentIndex = 0,
.aspectMask = VK_IMAGE_ASPECT_DEPTH_BIT
}
};
VkRenderPassInputAttachmentAspectCreateInfoKHR specifyAspects = {
.sType = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR,
.pNext = NULL,
.aspectReferenceCount = 1,
.pAspectReferences = references
};
VkRenderPassCreateInfo createInfo = {
...
.pNext = &specifyAspects,
...
};
vkCreateRenderPass(...);
VK_KHR_maintenance2| Modifier and Type | Field and Description |
|---|---|
| public static final int | VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR
Extends |
| public static final int | VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR
Extends |
| public static final int | VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR
Extends |
| public static final int | VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR
Extends |
| public static final String | VK_KHR_MAINTENANCE2_EXTENSION_NAME
The extension name. |
| public static final int | VK_KHR_MAINTENANCE2_SPEC_VERSION
The extension specification version. |
| public static final String | VK_KHR_MAINTENANCE_2_EXTENSION_NAME
The extension name. |
| public static final int | VK_KHR_MAINTENANCE_2_SPEC_VERSION
The extension specification version. |
| public static final int | VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR
Extends |
| public static final int | VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR
Extends |
| public static final int | VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR
Extends |
| public static final int | VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR
Extends |
| public static final int | VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR
Extends |
| public static final int | VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR
Extends |
| public static final int | VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR
Extends |
| public static final int | VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR
Extends |
| Access | Constructor and Description |
|---|---|
| private |
| VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR | back to summary |
|---|---|
| public static final int VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR Extends Enum values: | |
| VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR | back to summary |
|---|---|
| public static final int VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR Extends Enum values: | |
| VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR | back to summary |
|---|---|
| public static final int VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR Extends Enum values: | |
| VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR | back to summary |
|---|---|
| public static final int VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR Extends Enum values: | |
| VK_KHR_MAINTENANCE2_EXTENSION_NAME | back to summary |
|---|---|
| public static final String VK_KHR_MAINTENANCE2_EXTENSION_NAME The extension name. | |
| VK_KHR_MAINTENANCE2_SPEC_VERSION | back to summary |
|---|---|
| public static final int VK_KHR_MAINTENANCE2_SPEC_VERSION The extension specification version. | |
| VK_KHR_MAINTENANCE_2_EXTENSION_NAME | back to summary |
|---|---|
| public static final String VK_KHR_MAINTENANCE_2_EXTENSION_NAME The extension name. | |
| VK_KHR_MAINTENANCE_2_SPEC_VERSION | back to summary |
|---|---|
| public static final int VK_KHR_MAINTENANCE_2_SPEC_VERSION The extension specification version. | |
| VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR | back to summary |
|---|---|
| public static final int VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR Extends Enum values: | |
| VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR | back to summary |
|---|---|
| public static final int VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR Extends Enum values: | |
| VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR Extends Enum values: | |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR Extends Enum values: | |
| VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR Extends Enum values: | |
| VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR Extends Enum values: | |
| VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR | back to summary |
|---|---|
| public static final int VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR Extends Enum values: | |
| VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR | back to summary |
|---|---|
| public static final int VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR Extends Enum values: | |
| KHRMaintenance2 | back to summary |
|---|---|
| private KHRMaintenance2() | |