org.lwjgl.vulkan.KHRMaintenance2 Maven / Gradle / Ivy
Show all versions of lwjgl-vulkan Show documentation
/*
* Copyright LWJGL. All rights reserved.
* License terms: https://www.lwjgl.org/license
* MACHINE GENERATED FILE, DO NOT EDIT
*/
package org.lwjgl.vulkan;
/**
* {@code 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:
*
*
* - Allow the application to specify which aspect of an input attachment might be read for a given subpass.
* - Allow implementations to express the clipping behavior of points.
* - Allow creating images with usage flags that may not be supported for the base image’s format, but are supported for image views of the image that have a different but compatible format.
* - Allow creating uncompressed image views of compressed images.
* - Allow the application to select between an upper-left and lower-left origin for the tessellation domain space.
* - Adds two new image layouts for depth stencil images to allow either the depth or stencil aspect to be read-only while the other aspect is writable.
*
*
* Input Attachment Specification
*
* Input attachment specification allows an application to specify which aspect of a multi-aspect image (e.g. a combined depth stencil format) will be accessed via a {@code subpassLoad} operation.
*
* On some implementations there may be a performance penalty if the implementation does not know (at {@link VK10#vkCreateRenderPass CreateRenderPass} time) which aspect(s) of multi-aspect images can be accessed as input attachments.
*
* Promotion to Vulkan 1.1
*
* 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.
*
* Input Attachment Specification Example
*
* Consider the case where a render pass has two subpasses and two attachments.
*
* Attachment 0 has the format {@link VK10#VK_FORMAT_D24_UNORM_S8_UINT 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
*
*
* - Name String
* - {@code VK_KHR_maintenance2}
* - Extension Type
* - Device extension
* - Registered Extension Number
* - 118
* - Revision
* - 1
* - Extension and Version Dependencies
*
* - Requires Vulkan 1.0
*
* - Deprecation state
*
* - Promoted to Vulkan 1.1
*
* - Contact
*
* - Michael Worcester michaelworcester
*
*
*
* Other Extension Metadata
*
*
* - Last Modified Date
* - 2017-09-05
* - Interactions and External Dependencies
*
* - Promoted to Vulkan 1.1 Core
*
* - Contributors
*
* - Michael Worcester, Imagination Technologies
* - Stuart Smith, Imagination Technologies
* - Jeff Bolz, NVIDIA
* - Daniel Koch, NVIDIA
* - Jan-Harald Fredriksen, ARM
* - Daniel Rakos, AMD
* - Neil Henning, Codeplay
* - Piers Daniell, NVIDIA
*
*
*/
public final class KHRMaintenance2 {
/** The extension specification version. */
public static final int VK_KHR_MAINTENANCE_2_SPEC_VERSION = 1;
/** The extension name. */
public static final String VK_KHR_MAINTENANCE_2_EXTENSION_NAME = "VK_KHR_maintenance2";
/** The extension specification version. */
public static final int VK_KHR_MAINTENANCE2_SPEC_VERSION = VK_KHR_MAINTENANCE_2_SPEC_VERSION;
/** The extension name. */
public static final String VK_KHR_MAINTENANCE2_EXTENSION_NAME = VK_KHR_MAINTENANCE_2_EXTENSION_NAME;
/**
* Extends {@code VkImageCreateFlagBits}.
*
* Enum values:
*
*
* - {@link #VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR}
* - {@link #VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR}
*
*/
public static final int
VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = 0x80,
VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = 0x100;
/**
* Extends {@code VkStructureType}.
*
* Enum values:
*
*
* - {@link #VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR}
* - {@link #VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR}
* - {@link #VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR}
* - {@link #VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR}
*
*/
public static final int
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = 1000117000,
VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = 1000117001,
VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = 1000117002,
VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = 1000117003;
/**
* Extends {@code VkImageLayout}.
*
* Enum values:
*
*
* - {@link #VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR}
* - {@link #VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR}
*
*/
public static final int
VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000117000,
VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000117001;
/**
* Extends {@code VkPointClippingBehavior}.
*
* Enum values:
*
*
* - {@link #VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR}
* - {@link #VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR}
*
*/
public static final int
VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = 0,
VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = 1;
/**
* Extends {@code VkTessellationDomainOrigin}.
*
* Enum values:
*
*
* - {@link #VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR}
* - {@link #VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR}
*
*/
public static final int
VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = 0,
VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = 1;
private KHRMaintenance2() {}
}