org.lwjgl.vulkan.KHRDepthStencilResolve 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;
/**
* This extension adds support for automatically resolving multisampled depth/stencil attachments in a subpass in a similar manner as for color attachments.
*
* Multisampled color attachments can be resolved at the end of a subpass by specifying {@code pResolveAttachments} entries corresponding to the {@code pColorAttachments} array entries. This does not allow for a way to map the resolve attachments to the depth/stencil attachment. The {@link VK10#vkCmdResolveImage CmdResolveImage} command does not allow for depth/stencil images. While there are other ways to resolve the depth/stencil attachment, they can give sub-optimal performance. Extending the {@link VkSubpassDescription2} in this extension allows an application to add a {@code pDepthStencilResolveAttachment}, that is similar to the color {@code pResolveAttachments}, that the {@code pDepthStencilAttachment} can be resolved into.
*
* Depth and stencil samples are resolved to a single value based on the resolve mode. The set of possible resolve modes is defined in the {@code VkResolveModeFlagBits} enum. The {@link VK12#VK_RESOLVE_MODE_SAMPLE_ZERO_BIT RESOLVE_MODE_SAMPLE_ZERO_BIT} mode is the only mode that is required of all implementations (that support the extension or support Vulkan 1.2 or higher). Some implementations may also support averaging (the same as color sample resolve) or taking the minimum or maximum sample, which may be more suitable for depth/stencil resolve.
*
* Promotion to Vulkan 1.2
*
* All functionality in this extension is included in core Vulkan 1.2, with the KHR suffix omitted. The original type, enum and command names are still available as aliases of the core functionality.
*
* VK_KHR_depth_stencil_resolve
*
*
* - Name String
* - {@code VK_KHR_depth_stencil_resolve}
* - Extension Type
* - Device extension
* - Registered Extension Number
* - 200
* - Revision
* - 1
* - Extension and Version Dependencies
*
* - Requires Vulkan 1.0
* - Requires {@link KHRCreateRenderpass2 VK_KHR_create_renderpass2}
*
* - Deprecation state
*
* - Promoted to Vulkan 1.2
*
* - Contact
*
* - Jan-Harald Fredriksen janharald
*
*
*
* Other Extension Metadata
*
*
* - Last Modified Date
* - 2018-04-09
* - Interactions and External Dependencies
*
* - Promoted to Vulkan 1.2 Core
*
* - Contributors
*
* - Jan-Harald Fredriksen, Arm
* - Andrew Garrard, Samsung Electronics
* - Soowan Park, Samsung Electronics
* - Jeff Bolz, NVIDIA
* - Daniel Rakos, AMD
*
*
*/
public final class KHRDepthStencilResolve {
/** The extension specification version. */
public static final int VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION = 1;
/** The extension name. */
public static final String VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME = "VK_KHR_depth_stencil_resolve";
/**
* Extends {@code VkStructureType}.
*
* Enum values:
*
*
* - {@link #VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR}
* - {@link #VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR}
*
*/
public static final int
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = 1000199000,
VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = 1000199001;
/**
* Extends {@code VkResolveModeFlagBits}.
*
* Enum values:
*
*
* - {@link #VK_RESOLVE_MODE_NONE_KHR RESOLVE_MODE_NONE_KHR}
* - {@link #VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR}
* - {@link #VK_RESOLVE_MODE_AVERAGE_BIT_KHR RESOLVE_MODE_AVERAGE_BIT_KHR}
* - {@link #VK_RESOLVE_MODE_MIN_BIT_KHR RESOLVE_MODE_MIN_BIT_KHR}
* - {@link #VK_RESOLVE_MODE_MAX_BIT_KHR RESOLVE_MODE_MAX_BIT_KHR}
*
*/
public static final int
VK_RESOLVE_MODE_NONE_KHR = 0,
VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = 0x1,
VK_RESOLVE_MODE_AVERAGE_BIT_KHR = 0x2,
VK_RESOLVE_MODE_MIN_BIT_KHR = 0x4,
VK_RESOLVE_MODE_MAX_BIT_KHR = 0x8;
private KHRDepthStencilResolve() {}
}