Package org.lwjgl.vulkan
Class VkSubpassDescriptionDepthStencilResolve
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkSubpassDescriptionDepthStencilResolve>
org.lwjgl.vulkan.VkSubpassDescriptionDepthStencilResolve
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
- Direct Known Subclasses:
VkSubpassDescriptionDepthStencilResolveKHR
public class VkSubpassDescriptionDepthStencilResolve
extends org.lwjgl.system.Struct<VkSubpassDescriptionDepthStencilResolve>
implements org.lwjgl.system.NativeResource
Structure specifying depth/stencil resolve operations for a subpass.
Description
If the pNext chain of VkSubpassDescription2 includes a VkSubpassDescriptionDepthStencilResolve structure, then that structure describes multisample resolve operations for the depth/stencil attachment in a subpass. If this structure is not included in the pNext chain of VkSubpassDescription2, or if it is and either pDepthStencilResolveAttachment is NULL or its attachment index is ATTACHMENT_UNUSED, it indicates that no depth/stencil resolve attachment will be used in the subpass.
Valid Usage
- If
pDepthStencilResolveAttachmentis notNULLand does not have the valueATTACHMENT_UNUSED,pDepthStencilAttachmentmust not beNULLor have the valueATTACHMENT_UNUSED - If
pDepthStencilResolveAttachmentis notNULLand does not have the valueATTACHMENT_UNUSED,pDepthStencilAttachmentmust not have a sample count ofSAMPLE_COUNT_1_BIT - If
pDepthStencilResolveAttachmentis notNULLand does not have the valueATTACHMENT_UNUSED,pDepthStencilResolveAttachmentmust have a sample count ofSAMPLE_COUNT_1_BIT - If
pDepthStencilResolveAttachmentis notNULLand does not have the valueATTACHMENT_UNUSEDthen it must have an image format whose potential format features containFORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT - If
pDepthStencilResolveAttachmentis notNULLand does not have the valueATTACHMENT_UNUSEDandVkFormatofpDepthStencilResolveAttachmenthas a depth component, then theVkFormatofpDepthStencilAttachmentmust have a depth component with the same number of bits and numeric format - If
pDepthStencilResolveAttachmentis notNULLand does not have the valueATTACHMENT_UNUSED, andVkFormatofpDepthStencilResolveAttachmenthas a stencil component, then theVkFormatofpDepthStencilAttachmentmust have a stencil component with the same number of bits and numeric format - If
pDepthStencilResolveAttachmentis notNULLand does not have the valueATTACHMENT_UNUSED,depthResolveModeandstencilResolveModemust not both beRESOLVE_MODE_NONE - If
pDepthStencilResolveAttachmentis notNULLand does not have the valueATTACHMENT_UNUSEDand theVkFormatofpDepthStencilResolveAttachmenthas a depth component, then the value ofdepthResolveModemust be one of the bits set inVkPhysicalDeviceDepthStencilResolveProperties::supportedDepthResolveModesorRESOLVE_MODE_NONE - If
pDepthStencilResolveAttachmentis notNULLand does not have the valueATTACHMENT_UNUSEDand theVkFormatofpDepthStencilResolveAttachmenthas a stencil component, then the value ofstencilResolveModemust be one of the bits set inVkPhysicalDeviceDepthStencilResolveProperties::supportedStencilResolveModesorRESOLVE_MODE_NONE - If
pDepthStencilResolveAttachmentis notNULLand does not have the valueATTACHMENT_UNUSED, theVkFormatofpDepthStencilResolveAttachmenthas both depth and stencil components,VkPhysicalDeviceDepthStencilResolveProperties::independentResolveisFALSE, andVkPhysicalDeviceDepthStencilResolveProperties::independentResolveNoneisFALSE, then the values ofdepthResolveModeandstencilResolveModemust be identical - If
pDepthStencilResolveAttachmentis notNULLand does not have the valueATTACHMENT_UNUSED, theVkFormatofpDepthStencilResolveAttachmenthas both depth and stencil components,VkPhysicalDeviceDepthStencilResolveProperties::independentResolveisFALSEandVkPhysicalDeviceDepthStencilResolveProperties::independentResolveNoneisTRUE, then the values ofdepthResolveModeandstencilResolveModemust be identical or one of them must beRESOLVE_MODE_NONE - If the
pNextchain ofVkSubpassDescription2includes aVkMultisampledRenderToSingleSampledInfoEXTstructure, themultisampledRenderToSingleSampledEnablefield isTRUE, andpDepthStencilAttachmentis notNULLand does not have the valueATTACHMENT_UNUSED,depthResolveModeandstencilResolveModemust not both beRESOLVE_MODE_NONE - If the
pNextchain ofVkSubpassDescription2includes aVkMultisampledRenderToSingleSampledInfoEXTstructure whosemultisampledRenderToSingleSampledEnablefield isTRUE, andpDepthStencilAttachmentis notNULL, does not have the valueATTACHMENT_UNUSED, and has aVkFormatthat has a depth component, then the value ofdepthResolveModemust be one of the bits set inVkPhysicalDeviceDepthStencilResolveProperties::supportedDepthResolveModesorRESOLVE_MODE_NONE - If the
pNextchain ofVkSubpassDescription2includes aVkMultisampledRenderToSingleSampledInfoEXTstructure whosemultisampledRenderToSingleSampledEnablefield isTRUE, andpDepthStencilAttachmentis notNULL, does not have the valueATTACHMENT_UNUSED, and has aVkFormatwith a stencil component, then the value ofstencilResolveModemust be one of the bits set inVkPhysicalDeviceDepthStencilResolveProperties::supportedStencilResolveModesorRESOLVE_MODE_NONE - If the
pNextchain ofVkSubpassDescription2includes aVkMultisampledRenderToSingleSampledInfoEXTstructure whosemultisampledRenderToSingleSampledEnablefield isTRUE,pDepthStencilAttachmentis notNULL, does not have the valueATTACHMENT_UNUSED, and has aVkFormatwith both depth and stencil components, and bothVkPhysicalDeviceDepthStencilResolveProperties::independentResolveandVkPhysicalDeviceDepthStencilResolveProperties::independentResolveNoneareFALSE, then the values ofdepthResolveModeandstencilResolveModemust be identical - If the
pNextchain ofVkSubpassDescription2includes aVkMultisampledRenderToSingleSampledInfoEXTstructure whosemultisampledRenderToSingleSampledEnablefield isTRUE,pDepthStencilAttachmentis notNULL, does not have the valueATTACHMENT_UNUSED, and has aVkFormatwith both depth and stencil components,VkPhysicalDeviceDepthStencilResolveProperties::independentResolveisFALSE, andVkPhysicalDeviceDepthStencilResolveProperties::independentResolveNoneisTRUE, then the values ofdepthResolveModeandstencilResolveModemust be identical or one of them must beRESOLVE_MODE_NONE
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE- If
pDepthStencilResolveAttachmentis notNULL,pDepthStencilResolveAttachmentmust be a valid pointer to a validVkAttachmentReference2structure
See Also
Layout
struct VkSubpassDescriptionDepthStencilResolve {
VkStructureType sType();
void const * pNext();
VkResolveModeFlagBits depthResolveMode();
VkResolveModeFlagBits stencilResolveMode();
VkAttachmentReference2 const * pDepthStencilResolveAttachment();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofVkSubpassDescriptionDepthStencilResolvestructs.Nested classes/interfaces inherited from class org.lwjgl.system.Struct
org.lwjgl.system.Struct.StructValidationNested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe struct alignment in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct size in bytes.static final intThe struct member offsets.static final intThe struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionCreates aVkSubpassDescriptionDepthStencilResolveinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptioncalloc()Returns a newVkSubpassDescriptionDepthStencilResolveinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkSubpassDescriptionDepthStencilResolve.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkSubpassDescriptionDepthStencilResolve.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkSubpassDescriptionDepthStencilResolveinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.create()Returns a newVkSubpassDescriptionDepthStencilResolveinstance allocated withBufferUtils.create(int capacity) Returns a newVkSubpassDescriptionDepthStencilResolve.Bufferinstance allocated withBufferUtils.create(long address) Returns a newVkSubpassDescriptionDepthStencilResolveinstance for the specified memory address.create(long address, int capacity) Create aVkSubpassDescriptionDepthStencilResolve.Bufferinstance at the specified memory.static @Nullable VkSubpassDescriptionDepthStencilResolvecreateSafe(long address) static @Nullable VkSubpassDescriptionDepthStencilResolve.BuffercreateSafe(long address, int capacity) intaVkResolveModeFlagBitsvalue describing the depth resolve mode.depthResolveMode(int value) Sets the specified value to thedepthResolveMode()field.malloc()Returns a newVkSubpassDescriptionDepthStencilResolveinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkSubpassDescriptionDepthStencilResolve.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkSubpassDescriptionDepthStencilResolve.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkSubpassDescriptionDepthStencilResolveinstance allocated on the specifiedMemoryStack.static intndepthResolveMode(long struct) Unsafe version ofdepthResolveMode().static voidndepthResolveMode(long struct, int value) Unsafe version ofdepthResolveMode.static @Nullable VkAttachmentReference2npDepthStencilResolveAttachment(long struct) Unsafe version ofpDepthStencilResolveAttachment().static voidnpDepthStencilResolveAttachment(long struct, @Nullable VkAttachmentReference2 value) Unsafe version ofpDepthStencilResolveAttachment.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static intnstencilResolveMode(long struct) Unsafe version ofstencilResolveMode().static voidnstencilResolveMode(long struct, int value) Unsafe version ofstencilResolveMode.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.@Nullable VkAttachmentReference2NULLor a pointer to aVkAttachmentReference2structure defining the depth/stencil resolve attachment for this subpass and its layout.pDepthStencilResolveAttachment(@Nullable VkAttachmentReference2 value) Sets the address of the specifiedVkAttachmentReference2to thepDepthStencilResolveAttachment()field.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.set(int sType, long pNext, int depthResolveMode, int stencilResolveMode, @Nullable VkAttachmentReference2 pDepthStencilResolveAttachment) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()intaVkResolveModeFlagBitsvalue describing the stencil resolve mode.stencilResolveMode(int value) Sets the specified value to thestencilResolveMode()field.intsType()aVkStructureTypevalue identifying this structure.sType(int value) Sets the specified value to thesType()field.Sets theSTRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVEvalue to thesType()field.Methods inherited from class org.lwjgl.system.Struct
clear, free, isNull, validate, validateMethods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toStringMethods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
STYPE
public static final int STYPEThe struct member offsets. -
PNEXT
public static final int PNEXTThe struct member offsets. -
DEPTHRESOLVEMODE
public static final int DEPTHRESOLVEMODEThe struct member offsets. -
STENCILRESOLVEMODE
public static final int STENCILRESOLVEMODEThe struct member offsets. -
PDEPTHSTENCILRESOLVEATTACHMENT
public static final int PDEPTHSTENCILRESOLVEATTACHMENTThe struct member offsets.
-
-
Constructor Details
-
VkSubpassDescriptionDepthStencilResolve
Creates aVkSubpassDescriptionDepthStencilResolveinstance at the current position of the specifiedByteBuffercontainer. Changes to the buffer's content will be visible to the struct instance and vice versa.The created instance holds a strong reference to the container object.
-
-
Method Details
-
sizeof
public int sizeof()- Specified by:
sizeofin classorg.lwjgl.system.Struct<VkSubpassDescriptionDepthStencilResolve>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
depthResolveMode
public int depthResolveMode()aVkResolveModeFlagBitsvalue describing the depth resolve mode. -
stencilResolveMode
public int stencilResolveMode()aVkResolveModeFlagBitsvalue describing the stencil resolve mode. -
pDepthStencilResolveAttachment
NULLor a pointer to aVkAttachmentReference2structure defining the depth/stencil resolve attachment for this subpass and its layout. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVEvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
depthResolveMode
Sets the specified value to thedepthResolveMode()field. -
stencilResolveMode
Sets the specified value to thestencilResolveMode()field. -
pDepthStencilResolveAttachment
public VkSubpassDescriptionDepthStencilResolve pDepthStencilResolveAttachment(@Nullable VkAttachmentReference2 value) Sets the address of the specifiedVkAttachmentReference2to thepDepthStencilResolveAttachment()field. -
set
public VkSubpassDescriptionDepthStencilResolve set(int sType, long pNext, int depthResolveMode, int stencilResolveMode, @Nullable VkAttachmentReference2 pDepthStencilResolveAttachment) Initializes this struct with the specified values. -
set
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
Returns a newVkSubpassDescriptionDepthStencilResolveinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkSubpassDescriptionDepthStencilResolveinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkSubpassDescriptionDepthStencilResolveinstance allocated withBufferUtils. -
create
Returns a newVkSubpassDescriptionDepthStencilResolveinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkSubpassDescriptionDepthStencilResolve.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkSubpassDescriptionDepthStencilResolve.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkSubpassDescriptionDepthStencilResolve.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkSubpassDescriptionDepthStencilResolve.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable VkSubpassDescriptionDepthStencilResolve.Buffer createSafe(long address, int capacity) -
malloc
Returns a newVkSubpassDescriptionDepthStencilResolveinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkSubpassDescriptionDepthStencilResolveinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkSubpassDescriptionDepthStencilResolve.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkSubpassDescriptionDepthStencilResolve.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkSubpassDescriptionDepthStencilResolve.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkSubpassDescriptionDepthStencilResolve.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
nsType
public static int nsType(long struct) Unsafe version ofsType(). -
npNext
public static long npNext(long struct) Unsafe version ofpNext(). -
ndepthResolveMode
public static int ndepthResolveMode(long struct) Unsafe version ofdepthResolveMode(). -
nstencilResolveMode
public static int nstencilResolveMode(long struct) Unsafe version ofstencilResolveMode(). -
npDepthStencilResolveAttachment
Unsafe version ofpDepthStencilResolveAttachment(). -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
ndepthResolveMode
public static void ndepthResolveMode(long struct, int value) Unsafe version ofdepthResolveMode. -
nstencilResolveMode
public static void nstencilResolveMode(long struct, int value) Unsafe version ofstencilResolveMode. -
npDepthStencilResolveAttachment
public static void npDepthStencilResolveAttachment(long struct, @Nullable VkAttachmentReference2 value) Unsafe version ofpDepthStencilResolveAttachment.
-