Class VulkanSubpassDescription
java.lang.Object
com.io7m.jcoronado.api.VulkanSubpassDescription
- All Implemented Interfaces:
VulkanSubpassDescriptionType
Structure specifying a subpass description.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classBuilds instances of typeVulkanSubpassDescription. -
Method Summary
Modifier and TypeMethodDescriptionbuilder()Creates a builder forVulkanSubpassDescription.static VulkanSubpassDescriptioncopyOf(VulkanSubpassDescriptionType instance) Creates an immutable copy of aVulkanSubpassDescriptionTypevalue.booleanThis instance is equal to all instances ofVulkanSubpassDescriptionthat have equal attribute values.flags()inthashCode()Computes a hash code from attributes:flags,pipelineBindPoint,inputAttachments,colorAttachments,resolveAttachments,depthStencilAttachment,preserveAttachments.toString()Prints the immutable valueVulkanSubpassDescriptionwith attribute values.final VulkanSubpassDescriptionwithColorAttachments(VulkanAttachmentReference... elements) Copy the current immutable object with elements that replace the content ofcolorAttachments.final VulkanSubpassDescriptionwithColorAttachments(Iterable<? extends VulkanAttachmentReference> elements) Copy the current immutable object with elements that replace the content ofcolorAttachments.final VulkanSubpassDescriptionCopy the current immutable object by setting a present value for the optionaldepthStencilAttachmentattribute.final VulkanSubpassDescriptionwithDepthStencilAttachment(Optional<? extends VulkanAttachmentReference> optional) Copy the current immutable object by setting an optional value for thedepthStencilAttachmentattribute.final VulkanSubpassDescriptionwithFlags(VulkanSubpassDescriptionFlag... elements) Copy the current immutable object with elements that replace the content offlags.final VulkanSubpassDescriptionwithFlags(Iterable<VulkanSubpassDescriptionFlag> elements) Copy the current immutable object with elements that replace the content offlags.final VulkanSubpassDescriptionwithInputAttachments(VulkanAttachmentReference... elements) Copy the current immutable object with elements that replace the content ofinputAttachments.final VulkanSubpassDescriptionwithInputAttachments(Iterable<? extends VulkanAttachmentReference> elements) Copy the current immutable object with elements that replace the content ofinputAttachments.final VulkanSubpassDescriptionCopy the current immutable object by setting a value for thepipelineBindPointattribute.final VulkanSubpassDescriptionwithPreserveAttachments(int... elements) Copy the current immutable object with elements that replace the content ofpreserveAttachments.final VulkanSubpassDescriptionwithPreserveAttachments(Iterable<Integer> elements) Copy the current immutable object with elements that replace the content ofpreserveAttachments.final VulkanSubpassDescriptionwithResolveAttachments(VulkanAttachmentReference... elements) Copy the current immutable object with elements that replace the content ofresolveAttachments.final VulkanSubpassDescriptionwithResolveAttachments(Iterable<? extends VulkanAttachmentReference> elements) Copy the current immutable object with elements that replace the content ofresolveAttachments.
-
Method Details
-
flags
- Specified by:
flagsin interfaceVulkanSubpassDescriptionType- Returns:
- Description flags
-
pipelineBindPoint
- Specified by:
pipelineBindPointin interfaceVulkanSubpassDescriptionType- Returns:
- The pipeline bind point specifying whether this is a graphics or compute subpass.
-
inputAttachments
- Specified by:
inputAttachmentsin interfaceVulkanSubpassDescriptionType- Returns:
- A list of the render pass’s attachments that can be read in the fragment shader stage during the subpass, and what layout each attachment will be in during the subpass
-
colorAttachments
- Specified by:
colorAttachmentsin interfaceVulkanSubpassDescriptionType- Returns:
- A list of the render pass’s attachments that will be used as color attachments in the subpass, and what layout each attachment will be in during the subpass.
-
resolveAttachments
- Specified by:
resolveAttachmentsin interfaceVulkanSubpassDescriptionType- Returns:
- A list of the the render pass’s attachments that are resolved to at the end of the subpass, and what layout each attachment will be in during the multisample resolve operation.
-
depthStencilAttachment
- Specified by:
depthStencilAttachmentin interfaceVulkanSubpassDescriptionType- Returns:
- The attachment that will be used for depth/stencil data and the layout it will be in during the subpass.
-
preserveAttachments
- Specified by:
preserveAttachmentsin interfaceVulkanSubpassDescriptionType- Returns:
- A list of render pass attachment indices describing the attachments that are not used by a subpass, but whose contents must be preserved throughout the subpass.
-
withFlags
Copy the current immutable object with elements that replace the content offlags.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withFlags
Copy the current immutable object with elements that replace the content offlags. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of flags elements to set- Returns:
- A modified copy of
thisobject
-
withPipelineBindPoint
Copy the current immutable object by setting a value for thepipelineBindPointattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for pipelineBindPoint- Returns:
- A modified copy of the
thisobject
-
withInputAttachments
Copy the current immutable object with elements that replace the content ofinputAttachments.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withInputAttachments
public final VulkanSubpassDescription withInputAttachments(Iterable<? extends VulkanAttachmentReference> elements) Copy the current immutable object with elements that replace the content ofinputAttachments. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of inputAttachments elements to set- Returns:
- A modified copy of
thisobject
-
withColorAttachments
Copy the current immutable object with elements that replace the content ofcolorAttachments.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withColorAttachments
public final VulkanSubpassDescription withColorAttachments(Iterable<? extends VulkanAttachmentReference> elements) Copy the current immutable object with elements that replace the content ofcolorAttachments. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of colorAttachments elements to set- Returns:
- A modified copy of
thisobject
-
withResolveAttachments
Copy the current immutable object with elements that replace the content ofresolveAttachments.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withResolveAttachments
public final VulkanSubpassDescription withResolveAttachments(Iterable<? extends VulkanAttachmentReference> elements) Copy the current immutable object with elements that replace the content ofresolveAttachments. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of resolveAttachments elements to set- Returns:
- A modified copy of
thisobject
-
withDepthStencilAttachment
Copy the current immutable object by setting a present value for the optionaldepthStencilAttachmentattribute.- Parameters:
value- The value for depthStencilAttachment- Returns:
- A modified copy of
thisobject
-
withDepthStencilAttachment
public final VulkanSubpassDescription withDepthStencilAttachment(Optional<? extends VulkanAttachmentReference> optional) Copy the current immutable object by setting an optional value for thedepthStencilAttachmentattribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returningthis.- Parameters:
optional- A value for depthStencilAttachment- Returns:
- A modified copy of
thisobject
-
withPreserveAttachments
Copy the current immutable object with elements that replace the content ofpreserveAttachments.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withPreserveAttachments
Copy the current immutable object with elements that replace the content ofpreserveAttachments. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of preserveAttachments elements to set- Returns:
- A modified copy of
thisobject
-
equals
-
hashCode
-
toString
-
copyOf
Creates an immutable copy of aVulkanSubpassDescriptionTypevalue. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.- Parameters:
instance- The instance to copy- Returns:
- A copied immutable VulkanSubpassDescription instance
-
builder
Creates a builder forVulkanSubpassDescription.VulkanSubpassDescription.builder() .addFlags|addAllFlags(com.io7m.jcoronado.api.VulkanSubpassDescriptionFlag) //flagselements .setPipelineBindPoint(com.io7m.jcoronado.api.VulkanPipelineBindPoint) // requiredpipelineBindPoint.addInputAttachments|addAllInputAttachments(VulkanAttachmentReference) //inputAttachmentselements .addColorAttachments|addAllColorAttachments(VulkanAttachmentReference) //colorAttachmentselements .addResolveAttachments|addAllResolveAttachments(VulkanAttachmentReference) //resolveAttachmentselements .setDepthStencilAttachment(VulkanAttachmentReference) // optionaldepthStencilAttachment.addPreserveAttachments|addAllPreserveAttachments(int) //preserveAttachmentselements .build();- Returns:
- A new VulkanSubpassDescription builder
-