Parameters defined by this structure with the same name as those in VkSubpassDescription have the identical effect to those parameters.
viewMask has the same effect for the described subpass as VkRenderPassMultiviewCreateInfo::pViewMasks has on each corresponding subpass.
If a VkFragmentShadingRateAttachmentInfoKHR structure is included in the pNext chain, pFragmentShadingRateAttachment is not NULL, and its attachment member is not ATTACHMENT_UNUSED, the identified attachment defines a fragment shading rate attachment for that subpass.
attachment member of an element of pInputAttachments is not ATTACHMENT_UNUSED, its layout member must not be IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL or IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMALattachment member of an element of pColorAttachments is not ATTACHMENT_UNUSED, its layout member must not be IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL or IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMALattachment member of an element of pResolveAttachments is not ATTACHMENT_UNUSED, its layout member must not be IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL or IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMALattachment member of pDepthStencilAttachment is not ATTACHMENT_UNUSED, ts layout member must not be IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL or IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMALattachment member of an element of pColorAttachments is not ATTACHMENT_UNUSED, its layout member must not be IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL or IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMALattachment member of an element of pResolveAttachments is not ATTACHMENT_UNUSED, its layout member must not be IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL or IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMALattachment member of an element of pInputAttachments is not ATTACHMENT_UNUSED, its layout member must not be IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMALattachment member of an element of pColorAttachments is not ATTACHMENT_UNUSED, its layout member must not be IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMALattachment member of an element of pResolveAttachments is not ATTACHMENT_UNUSED, its layout member must not be IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMALattachment member of an element of pInputAttachments is not ATTACHMENT_UNUSED, its layout member must not be IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHRattachment member of an element of pColorAttachments is not ATTACHMENT_UNUSED, its layout member must not be IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHRattachment member of an element of pResolveAttachments is not ATTACHMENT_UNUSED, its layout member must not be IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHRattachment member of pDepthStencilAttachment is not ATTACHMENT_UNUSED and its pNext chain includes a VkAttachmentReferenceStencilLayout structure, the layout member of pDepthStencilAttachment must not be IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMALpipelineBindPoint must be PIPELINE_BIND_POINT_GRAPHICS or PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEIcolorAttachmentCount must be less than or equal to VkPhysicalDeviceLimits::maxColorAttachmentsloadOp must not be ATTACHMENT_LOAD_OP_CLEARpResolveAttachments is not NULL, for each resolve attachment that does not have the value ATTACHMENT_UNUSED, the corresponding color attachment must not have the value ATTACHMENT_UNUSEDpResolveAttachments is not NULL, for each resolve attachment that is not ATTACHMENT_UNUSED, the corresponding color attachment must not have a sample count of SAMPLE_COUNT_1_BITpResolveAttachments is not NULL, each resolve attachment that is not ATTACHMENT_UNUSED must have a sample count of SAMPLE_COUNT_1_BITpResolveAttachments must have the same VkFormat as its corresponding color attachmentVK_AMD_mixed_attachment_samples extension, the VK_NV_framebuffer_mixed_samples extension, or the multisampledRenderToSingleSampled feature are enabled, all attachments in pColorAttachments that are not ATTACHMENT_UNUSED must have the same sample countpInputAttachments that are not ATTACHMENT_UNUSED must have image formats whose potential format features contain at least FORMAT_FEATURE_COLOR_ATTACHMENT_BIT or FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BITpColorAttachments that are not ATTACHMENT_UNUSED must have image formats whose potential format features contain FORMAT_FEATURE_COLOR_ATTACHMENT_BITpResolveAttachments that are not ATTACHMENT_UNUSED must have image formats whose potential format features contain FORMAT_FEATURE_COLOR_ATTACHMENT_BITpDepthStencilAttachment is not NULL and the attachment is not ATTACHMENT_UNUSED then it must have an image format whose potential format features contain FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BITlinearColorAttachment feature is enabled and the image is created with IMAGE_TILING_LINEAR, all attachments in pInputAttachments that are not ATTACHMENT_UNUSED must have image formats whose potential format features must contain FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NVlinearColorAttachment feature is enabled and the image is created with IMAGE_TILING_LINEAR, all attachments in pColorAttachments that are not ATTACHMENT_UNUSED must have image formats whose potential format features must contain FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NVlinearColorAttachment feature is enabled and the image is created with IMAGE_TILING_LINEAR, all attachments in pResolveAttachments that are not ATTACHMENT_UNUSED must have image formats whose potential format features must contain FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NVVK_AMD_mixed_attachment_samples extension is enabled, all attachments in pColorAttachments that are not ATTACHMENT_UNUSED must have a sample count that is smaller than or equal to the sample count of pDepthStencilAttachment if it is not ATTACHMENT_UNUSEDpNext chain includes a VkMultisampledRenderToSingleSampledInfoEXT structure with multisampledRenderToSingleSampledEnable equal to TRUE, then all attachments in pColorAttachments and pDepthStencilAttachment that are not ATTACHMENT_UNUSED must have a sample count that is either SAMPLE_COUNT_1_BIT or equal to VkMultisampledRenderToSingleSampledInfoEXT::rasterizationSamplespNext chain includes a VkMultisampledRenderToSingleSampledInfoEXT structure with multisampledRenderToSingleSampledEnable equal to TRUE, and pDepthStencilAttachment is not NULL, does not have the value ATTACHMENT_UNUSED, and has a sample count of SAMPLE_COUNT_1_BIT, the pNext chain must also include a VkSubpassDescriptionDepthStencilResolve structure with pDepthStencilResolveAttachment that is either NULL or has the value ATTACHMENT_UNUSEDVK_AMD_mixed_attachment_samples extension, the VK_NV_framebuffer_mixed_samples extension, or the multisampledRenderToSingleSampled feature are enabled, all attachments in pDepthStencilAttachment or pColorAttachments that are not ATTACHMENT_UNUSED must have the same sample countpPreserveAttachments must not be ATTACHMENT_UNUSEDpPreserveAttachments must not also be an element of any other member of the subpass descriptionVkAttachmentReference2 member, then each use must use the same layoutflags includes SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX, it must also include SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVXattachment member of any element of pInputAttachments is not ATTACHMENT_UNUSED, then the aspectMask member must be a valid combination of VkImageAspectFlagBitsattachment member of any element of pInputAttachments is not ATTACHMENT_UNUSED, then the aspectMask member must not be 0attachment member of any element of pInputAttachments is not ATTACHMENT_UNUSED, then the aspectMask member must not include IMAGE_ASPECT_METADATA_BITattachment member of any element of pInputAttachments is not ATTACHMENT_UNUSED, then the aspectMask member must not include VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT for any index ipDepthStencilAttachment and pColorAttachmentsmultiview feature is not enabled, viewMask must be 0viewMask must be less than maxMultiviewViewCountsType must be STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkFragmentShadingRateAttachmentInfoKHR, VkMultisampledRenderToSingleSampledInfoEXT, VkRenderPassCreationControlEXT, VkRenderPassSubpassFeedbackCreateInfoEXT, or VkSubpassDescriptionDepthStencilResolvesType value of each struct in the pNext chain must be uniqueflags must be a valid combination of VkSubpassDescriptionFlagBits valuespipelineBindPoint must be a valid VkPipelineBindPoint valueinputAttachmentCount is not 0, pInputAttachments must be a valid pointer to an array of inputAttachmentCount valid VkAttachmentReference2 structurescolorAttachmentCount is not 0, pColorAttachments must be a valid pointer to an array of colorAttachmentCount valid VkAttachmentReference2 structurescolorAttachmentCount is not 0, and pResolveAttachments is not NULL, pResolveAttachments must be a valid pointer to an array of colorAttachmentCount valid VkAttachmentReference2 structurespDepthStencilAttachment is not NULL, pDepthStencilAttachment must be a valid pointer to a valid VkAttachmentReference2 structurepreserveAttachmentCount is not 0, pPreserveAttachments must be a valid pointer to an array of preserveAttachmentCount uint32_t valuesVkAttachmentReference2, VkRenderPassCreateInfo2
struct VkSubpassDescription2 {
VkStructureType sType;
void const * pNext;
VkSubpassDescriptionFlags flags;
VkPipelineBindPoint pipelineBindPoint;
uint32_t viewMask;
uint32_t inputAttachmentCount;
VkAttachmentReference2 const * pInputAttachments;
uint32_t colorAttachmentCount;
VkAttachmentReference2 const * pColorAttachments;
VkAttachmentReference2 const * pResolveAttachments;
VkAttachmentReference2 const * pDepthStencilAttachment;
uint32_t preserveAttachmentCount;
uint32_t const * pPreserveAttachments;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | VkSubpassDescription2.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | COLORATTACHMENTCOUNT
The struct member offsets. |
| public static final int | FLAGS
The struct member offsets. |
| public static final int | INPUTATTACHMENTCOUNT
The struct member offsets. |
| public static final int | PCOLORATTACHMENTS
The struct member offsets. |
| public static final int | PDEPTHSTENCILATTACHMENT
The struct member offsets. |
| public static final int | PINPUTATTACHMENTS
The struct member offsets. |
| public static final int | PIPELINEBINDPOINT
The struct member offsets. |
| public static final int | PNEXT
The struct member offsets. |
| public static final int | PPRESERVEATTACHMENTS
The struct member offsets. |
| public static final int | PRESERVEATTACHMENTCOUNT
The struct member offsets. |
| public static final int | PRESOLVEATTACHMENTS
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | STYPE
The struct member offsets. |
| public static final int | VIEWMASK
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkSubpassDescription2(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public static VkSubpassDescription2 | |
| public static VkSubpassDescription2. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkSubpassDescription2 | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkSubpassDescription2. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public int | |
| public VkSubpassDescription2 | |
| protected VkSubpassDescription2 | create(long
the struct memory address address, ByteBuffer an optional container buffer, to be referenced strongly by the struct instance. container)Implements abstract org. the constructor, but returns the exact type of the Struct subclass.
|
| public static VkSubpassDescription2 | |
| public static VkSubpassDescription2 | |
| public static VkSubpassDescription2. | create(int
the buffer capacity capacity)Returns a new |
| public static VkSubpassDescription2. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkSubpassDescription2 | |
| public static VkSubpassDescription2. | |
| public int | |
| public VkSubpassDescription2 | |
| public int | |
| public static VkSubpassDescription2 | |
| public static VkSubpassDescription2. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkSubpassDescription2 | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkSubpassDescription2. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static int | |
| public static void | ncolorAttachmentCount(long struct, int value)
Sets the specified value to the |
| public static int | |
| public static void | |
| public static int | |
| public static void | ninputAttachmentCount(long struct, int value)
Sets the specified value to the |
| public static VkAttachmentReference2. | |
| public static void | npColorAttachments(long struct, VkAttachmentReference2.
Unsafe version of |
| public static VkAttachmentReference2 | |
| public static void | npDepthStencilAttachment(long struct, VkAttachmentReference2 value)
Unsafe version of |
| public static VkAttachmentReference2. | |
| public static void | npInputAttachments(long struct, VkAttachmentReference2.
Unsafe version of |
| public static int | |
| public static void | |
| public static long | |
| public static void | |
| public static IntBuffer | |
| public static void | |
| public static int | |
| public static void | npreserveAttachmentCount(long struct, int value)
Sets the specified value to the |
| public static VkAttachmentReference2. | |
| public static void | npResolveAttachments(long struct, VkAttachmentReference2.
Unsafe version of |
| public static int | |
| public static void | |
| public static int | |
| public static void | |
| public VkAttachmentReference2. | pColorAttachments()
a pointer to an array of |
| public VkSubpassDescription2 | pColorAttachments(VkAttachmentReference2.
Sets the address of the specified |
| public VkAttachmentReference2 | pDepthStencilAttachment()
a pointer to a |
| public VkSubpassDescription2 | pDepthStencilAttachment(VkAttachmentReference2 value)
Sets the address of the specified |
| public VkAttachmentReference2. | pInputAttachments()
a pointer to an array of |
| public VkSubpassDescription2 | pInputAttachments(VkAttachmentReference2.
Sets the address of the specified |
| public int | pipelineBindPoint()
a |
| public VkSubpassDescription2 | |
| public long | |
| public VkSubpassDescription2 | |
| public VkSubpassDescription2 | pNext(VkFragmentShadingRateAttachmentInfoKHR value)
Prepends the specified |
| public VkSubpassDescription2 | pNext(VkMultisampledRenderToSingleSampledInfoEXT value)
Prepends the specified |
| public VkSubpassDescription2 | pNext(VkRenderPassCreationControlEXT value)
Prepends the specified |
| public VkSubpassDescription2 | pNext(VkRenderPassSubpassFeedbackCreateInfoEXT value)
Prepends the specified |
| public VkSubpassDescription2 | pNext(VkSubpassDescriptionDepthStencilResolve value)
Prepends the specified |
| public VkSubpassDescription2 | pNext(VkSubpassDescriptionDepthStencilResolveKHR value)
Prepends the specified |
| public IntBuffer | pPreserveAttachments()
a pointer to an array of |
| public VkSubpassDescription2 | pPreserveAttachments(IntBuffer value)
Sets the address of the specified |
| public int | |
| public VkAttachmentReference2. | pResolveAttachments()
|
| public VkSubpassDescription2 | pResolveAttachments(VkAttachmentReference2.
Sets the address of the specified |
| public VkSubpassDescription2 | set(int sType, long pNext, int flags, int pipelineBindPoint, int viewMask, VkAttachmentReference2.
Initializes this struct with the specified values. |
| public VkSubpassDescription2 | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public int | |
| public VkSubpassDescription2 | |
| public VkSubpassDescription2 | |
| public static void | |
| public int | viewMask()
a bitfield of view indices describing which views rendering is broadcast to in this subpass, when multiview is enabled. |
| public VkSubpassDescription2 |