Package org.lwjgl.vulkan
Class VkSubpassDependency2
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkSubpassDependency2>
org.lwjgl.vulkan.VkSubpassDependency2
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
- Direct Known Subclasses:
VkSubpassDependency2KHR
public class VkSubpassDependency2
extends org.lwjgl.system.Struct<VkSubpassDependency2>
implements org.lwjgl.system.NativeResource
Structure specifying a subpass dependency.
Description
Parameters defined by this structure with the same name as those in VkSubpassDependency have the identical effect to those parameters.
viewOffset has the same effect for the described subpass dependency as VkRenderPassMultiviewCreateInfo::pViewOffsets has on each corresponding subpass dependency.
If a VkMemoryBarrier2 is included in the pNext chain, srcStageMask, dstStageMask, srcAccessMask, and dstAccessMask parameters are ignored. The synchronization and access scopes instead are defined by the parameters of VkMemoryBarrier2.
Valid Usage
- If the
geometryShaderfeature is not enabled,srcStageMaskmust not containPIPELINE_STAGE_GEOMETRY_SHADER_BIT - If the
tessellationShaderfeature is not enabled,srcStageMaskmust not containPIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BITorPIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT - If the
conditionalRenderingfeature is not enabled,srcStageMaskmust not containPIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT - If the
fragmentDensityMapfeature is not enabled,srcStageMaskmust not containPIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT - If the
transformFeedbackfeature is not enabled,srcStageMaskmust not containPIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT - If the
meshShaderfeature is not enabled,srcStageMaskmust not containPIPELINE_STAGE_MESH_SHADER_BIT_EXT - If the
taskShaderfeature is not enabled,srcStageMaskmust not containPIPELINE_STAGE_TASK_SHADER_BIT_EXT - If neither of the
shadingRateImageor theattachmentFragmentShadingRatefeatures are enabled,srcStageMaskmust not containPIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR - If the
synchronization2feature is not enabled,srcStageMaskmust not be 0 - If neither the
VK_NV_ray_tracingextension or therayTracingPipelinefeature are enabled,srcStageMaskmust not containPIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR
- If the
geometryShaderfeature is not enabled,dstStageMaskmust not containPIPELINE_STAGE_GEOMETRY_SHADER_BIT - If the
tessellationShaderfeature is not enabled,dstStageMaskmust not containPIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BITorPIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT - If the
conditionalRenderingfeature is not enabled,dstStageMaskmust not containPIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT - If the
fragmentDensityMapfeature is not enabled,dstStageMaskmust not containPIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT - If the
transformFeedbackfeature is not enabled,dstStageMaskmust not containPIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT - If the
meshShaderfeature is not enabled,dstStageMaskmust not containPIPELINE_STAGE_MESH_SHADER_BIT_EXT - If the
taskShaderfeature is not enabled,dstStageMaskmust not containPIPELINE_STAGE_TASK_SHADER_BIT_EXT - If neither of the
shadingRateImageor theattachmentFragmentShadingRatefeatures are enabled,dstStageMaskmust not containPIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR - If the
synchronization2feature is not enabled,dstStageMaskmust not be 0 - If neither the
VK_NV_ray_tracingextension or therayTracingPipelinefeature are enabled,dstStageMaskmust not containPIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR srcSubpassmust be less than or equal todstSubpass, unless one of them isSUBPASS_EXTERNAL, to avoid cyclic dependencies and ensure a valid execution ordersrcSubpassanddstSubpassmust not both be equal toSUBPASS_EXTERNAL- If
srcSubpassis equal todstSubpassandsrcStageMaskincludes a framebuffer-space stage,dstStageMaskmust only contain framebuffer-space stages - Any access flag included in
srcAccessMaskmust be supported by one of the pipeline stages insrcStageMask, as specified in the table of supported access types - Any access flag included in
dstAccessMaskmust be supported by one of the pipeline stages indstStageMask, as specified in the table of supported access types - If
dependencyFlagsincludesDEPENDENCY_VIEW_LOCAL_BIT,srcSubpassmust not be equal toSUBPASS_EXTERNAL - If
dependencyFlagsincludesDEPENDENCY_VIEW_LOCAL_BIT,dstSubpassmust not be equal toSUBPASS_EXTERNAL - If
srcSubpassequalsdstSubpass, andsrcStageMaskanddstStageMaskboth include a framebuffer-space stage, thendependencyFlagsmust includeDEPENDENCY_BY_REGION_BIT - If
viewOffsetis not equal to 0,srcSubpassmust not be equal todstSubpass - If
dependencyFlagsdoes not includeDEPENDENCY_VIEW_LOCAL_BIT,viewOffsetmust be 0
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_SUBPASS_DEPENDENCY_2pNextmust beNULLor a pointer to a valid instance ofVkMemoryBarrier2- The
sTypevalue of each struct in thepNextchain must be unique srcStageMaskmust be a valid combination ofVkPipelineStageFlagBitsvaluesdstStageMaskmust be a valid combination ofVkPipelineStageFlagBitsvaluessrcAccessMaskmust be a valid combination ofVkAccessFlagBitsvaluesdstAccessMaskmust be a valid combination ofVkAccessFlagBitsvaluesdependencyFlagsmust be a valid combination ofVkDependencyFlagBitsvalues
See Also
Layout
struct VkSubpassDependency2 {
VkStructureType sType();
void const * pNext();
uint32_t srcSubpass();
uint32_t dstSubpass();
VkPipelineStageFlags srcStageMask();
VkPipelineStageFlags dstStageMask();
VkAccessFlags srcAccessMask();
VkAccessFlags dstAccessMask();
VkDependencyFlags dependencyFlags();
int32_t viewOffset();
}-
Nested Class Summary
Nested ClassesNested 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 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.static final intThe struct member offsets.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
ConstructorsConstructorDescriptionVkSubpassDependency2(ByteBuffer container) Creates aVkSubpassDependency2instance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionstatic VkSubpassDependency2calloc()Returns a newVkSubpassDependency2instance allocated withmemCalloc.static VkSubpassDependency2.Buffercalloc(int capacity) Returns a newVkSubpassDependency2.Bufferinstance allocated withmemCalloc.static VkSubpassDependency2.Buffercalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkSubpassDependency2.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkSubpassDependency2calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkSubpassDependency2instance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkSubpassDependency2create()Returns a newVkSubpassDependency2instance allocated withBufferUtils.static VkSubpassDependency2.Buffercreate(int capacity) Returns a newVkSubpassDependency2.Bufferinstance allocated withBufferUtils.static VkSubpassDependency2create(long address) Returns a newVkSubpassDependency2instance for the specified memory address.static VkSubpassDependency2.Buffercreate(long address, int capacity) Create aVkSubpassDependency2.Bufferinstance at the specified memory.static @Nullable VkSubpassDependency2createSafe(long address) static @Nullable VkSubpassDependency2.BuffercreateSafe(long address, int capacity) inta bitmask ofVkDependencyFlagBits.dependencyFlags(int value) Sets the specified value to thedependencyFlags()field.inta bitmask ofVkAccessFlagBitsspecifying a destination access mask.dstAccessMask(int value) Sets the specified value to thedstAccessMask()field.inta bitmask ofVkPipelineStageFlagBitsspecifying the destination stage maskdstStageMask(int value) Sets the specified value to thedstStageMask()field.intthe subpass index of the second subpass in the dependency, orSUBPASS_EXTERNAL.dstSubpass(int value) Sets the specified value to thedstSubpass()field.static VkSubpassDependency2malloc()Returns a newVkSubpassDependency2instance allocated withmemAlloc.static VkSubpassDependency2.Buffermalloc(int capacity) Returns a newVkSubpassDependency2.Bufferinstance allocated withmemAlloc.static VkSubpassDependency2.Buffermalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkSubpassDependency2.Bufferinstance allocated on the specifiedMemoryStack.static VkSubpassDependency2malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkSubpassDependency2instance allocated on the specifiedMemoryStack.static intndependencyFlags(long struct) Unsafe version ofdependencyFlags().static voidndependencyFlags(long struct, int value) Unsafe version ofdependencyFlags.static intndstAccessMask(long struct) Unsafe version ofdstAccessMask().static voidndstAccessMask(long struct, int value) Unsafe version ofdstAccessMask.static intndstStageMask(long struct) Unsafe version ofdstStageMask().static voidndstStageMask(long struct, int value) Unsafe version ofdstStageMask.static intndstSubpass(long struct) Unsafe version ofdstSubpass().static voidndstSubpass(long struct, int value) Unsafe version ofdstSubpass.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static intnsrcAccessMask(long struct) Unsafe version ofsrcAccessMask().static voidnsrcAccessMask(long struct, int value) Unsafe version ofsrcAccessMask.static intnsrcStageMask(long struct) Unsafe version ofsrcStageMask().static voidnsrcStageMask(long struct, int value) Unsafe version ofsrcStageMask.static intnsrcSubpass(long struct) Unsafe version ofsrcSubpass().static voidnsrcSubpass(long struct, int value) Unsafe version ofsrcSubpass.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.static intnviewOffset(long struct) Unsafe version ofviewOffset().static voidnviewOffset(long struct, int value) Unsafe version ofviewOffset.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.pNext(VkMemoryBarrier2 value) Prepends the specifiedVkMemoryBarrier2value to thepNextchain.pNext(VkMemoryBarrier2KHR value) Prepends the specifiedVkMemoryBarrier2KHRvalue to thepNextchain.set(int sType, long pNext, int srcSubpass, int dstSubpass, int srcStageMask, int dstStageMask, int srcAccessMask, int dstAccessMask, int dependencyFlags, int viewOffset) Initializes this struct with the specified values.set(VkSubpassDependency2 src) Copies the specified struct data to this struct.intsizeof()inta bitmask ofVkAccessFlagBitsspecifying a source access mask.srcAccessMask(int value) Sets the specified value to thesrcAccessMask()field.inta bitmask ofVkPipelineStageFlagBitsspecifying the source stage mask.srcStageMask(int value) Sets the specified value to thesrcStageMask()field.intthe subpass index of the first subpass in the dependency, orSUBPASS_EXTERNAL.srcSubpass(int value) Sets the specified value to thesrcSubpass()field.intsType()aVkStructureTypevalue identifying this structure.sType(int value) Sets the specified value to thesType()field.Sets theSTRUCTURE_TYPE_SUBPASS_DEPENDENCY_2value to thesType()field.intcontrols which views in the source subpass the views in the destination subpass depend on.viewOffset(int value) Sets the specified value to theviewOffset()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. -
SRCSUBPASS
public static final int SRCSUBPASSThe struct member offsets. -
DSTSUBPASS
public static final int DSTSUBPASSThe struct member offsets. -
SRCSTAGEMASK
public static final int SRCSTAGEMASKThe struct member offsets. -
DSTSTAGEMASK
public static final int DSTSTAGEMASKThe struct member offsets. -
SRCACCESSMASK
public static final int SRCACCESSMASKThe struct member offsets. -
DSTACCESSMASK
public static final int DSTACCESSMASKThe struct member offsets. -
DEPENDENCYFLAGS
public static final int DEPENDENCYFLAGSThe struct member offsets. -
VIEWOFFSET
public static final int VIEWOFFSETThe struct member offsets.
-
-
Constructor Details
-
VkSubpassDependency2
Creates aVkSubpassDependency2instance 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<VkSubpassDependency2>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
srcSubpass
public int srcSubpass()the subpass index of the first subpass in the dependency, orSUBPASS_EXTERNAL. -
dstSubpass
public int dstSubpass()the subpass index of the second subpass in the dependency, orSUBPASS_EXTERNAL. -
srcStageMask
public int srcStageMask()a bitmask ofVkPipelineStageFlagBitsspecifying the source stage mask. -
dstStageMask
public int dstStageMask()a bitmask ofVkPipelineStageFlagBitsspecifying the destination stage mask -
srcAccessMask
public int srcAccessMask()a bitmask ofVkAccessFlagBitsspecifying a source access mask. -
dstAccessMask
public int dstAccessMask()a bitmask ofVkAccessFlagBitsspecifying a destination access mask. -
dependencyFlags
public int dependencyFlags()a bitmask ofVkDependencyFlagBits. -
viewOffset
public int viewOffset()controls which views in the source subpass the views in the destination subpass depend on. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_SUBPASS_DEPENDENCY_2value to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
pNext
Prepends the specifiedVkMemoryBarrier2value to thepNextchain. -
pNext
Prepends the specifiedVkMemoryBarrier2KHRvalue to thepNextchain. -
srcSubpass
Sets the specified value to thesrcSubpass()field. -
dstSubpass
Sets the specified value to thedstSubpass()field. -
srcStageMask
Sets the specified value to thesrcStageMask()field. -
dstStageMask
Sets the specified value to thedstStageMask()field. -
srcAccessMask
Sets the specified value to thesrcAccessMask()field. -
dstAccessMask
Sets the specified value to thedstAccessMask()field. -
dependencyFlags
Sets the specified value to thedependencyFlags()field. -
viewOffset
Sets the specified value to theviewOffset()field. -
set
public VkSubpassDependency2 set(int sType, long pNext, int srcSubpass, int dstSubpass, int srcStageMask, int dstStageMask, int srcAccessMask, int dstAccessMask, int dependencyFlags, int viewOffset) 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 newVkSubpassDependency2instance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkSubpassDependency2instance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkSubpassDependency2instance allocated withBufferUtils. -
create
Returns a newVkSubpassDependency2instance for the specified memory address. -
createSafe
-
malloc
Returns a newVkSubpassDependency2.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkSubpassDependency2.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkSubpassDependency2.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkSubpassDependency2.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
malloc
Returns a newVkSubpassDependency2instance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkSubpassDependency2instance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
Returns a newVkSubpassDependency2.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
Returns a newVkSubpassDependency2.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(). -
nsrcSubpass
public static int nsrcSubpass(long struct) Unsafe version ofsrcSubpass(). -
ndstSubpass
public static int ndstSubpass(long struct) Unsafe version ofdstSubpass(). -
nsrcStageMask
public static int nsrcStageMask(long struct) Unsafe version ofsrcStageMask(). -
ndstStageMask
public static int ndstStageMask(long struct) Unsafe version ofdstStageMask(). -
nsrcAccessMask
public static int nsrcAccessMask(long struct) Unsafe version ofsrcAccessMask(). -
ndstAccessMask
public static int ndstAccessMask(long struct) Unsafe version ofdstAccessMask(). -
ndependencyFlags
public static int ndependencyFlags(long struct) Unsafe version ofdependencyFlags(). -
nviewOffset
public static int nviewOffset(long struct) Unsafe version ofviewOffset(). -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
nsrcSubpass
public static void nsrcSubpass(long struct, int value) Unsafe version ofsrcSubpass. -
ndstSubpass
public static void ndstSubpass(long struct, int value) Unsafe version ofdstSubpass. -
nsrcStageMask
public static void nsrcStageMask(long struct, int value) Unsafe version ofsrcStageMask. -
ndstStageMask
public static void ndstStageMask(long struct, int value) Unsafe version ofdstStageMask. -
nsrcAccessMask
public static void nsrcAccessMask(long struct, int value) Unsafe version ofsrcAccessMask. -
ndstAccessMask
public static void ndstAccessMask(long struct, int value) Unsafe version ofdstAccessMask. -
ndependencyFlags
public static void ndependencyFlags(long struct, int value) Unsafe version ofdependencyFlags. -
nviewOffset
public static void nviewOffset(long struct, int value) Unsafe version ofviewOffset.
-