All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.lwjgl.vulkan.KHRMaintenance2 Maven / Gradle / Ivy

Go to download

A new generation graphics and compute API that provides high-efficiency, cross-platform access to modern GPUs used in a wide variety of devices from PCs and consoles to mobile phones and embedded platforms.

There is a newer version: 3.3.4
Show newest version
/*
 * 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 be accessed as input attachments.

* *
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,
 *             .inputAttachment = 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(...);
* *
*
Name String
*
{@code VK_KHR_maintenance2}
*
Extension Type
*
Device extension
*
Registered Extension Number
*
118
*
Revision
*
1
*
Extension and Version Dependencies
*
    *
  • Requires Vulkan 1.0
  • *
*
Contact
*
    *
  • Michael Worcester @michaelworcester
  • *
*
Last Modified Date
*
2017-04-28
*
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_MAINTENANCE2_SPEC_VERSION = 1; /** The extension name. */ public static final String VK_KHR_MAINTENANCE2_EXTENSION_NAME = "VK_KHR_maintenance2"; /** * 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; /** * VkPointClippingBehaviorKHR - Enum specifying the point clipping behaviour * *
Description
* *
    *
  • {@link #VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR} specifies that the primitive is discarded if the vertex lies outside any clip plane, including the planes bounding the view volume.
  • *
  • {@link #VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR} specifies that the primitive is discarded only if the vertex lies outside any user clip plane.
  • *
* *
See Also
* *

{@link VkPhysicalDevicePointClippingPropertiesKHR}

*/ public static final int VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = 0, VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = 1; /** * VkTessellationDomainOriginKHR - Enum describing tessellation domain origin * *
Description
* * * *

This enum affects how the {@code VertexOrderCw} and {@code VertexOrderCcw} tessellation execution modes are interpreted, since the winding is defined relative to the orientation of the domain.

* *
See Also
* *

{@link VkPipelineTessellationDomainOriginStateCreateInfoKHR}

*/ public static final int VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = 0, VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = 1; private KHRMaintenance2() {} }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy