- java.lang.Object
-
- com.io7m.jcoronado.api.VulkanAttachmentDescription
-
- All Implemented Interfaces:
VulkanAttachmentDescriptionType
public final class VulkanAttachmentDescription extends java.lang.Object implements VulkanAttachmentDescriptionType
Structure specifying an attachment description- See Also:
- "VkAttachmentDescription"
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
VulkanAttachmentDescription.Builder
Builds instances of typeVulkanAttachmentDescription
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static VulkanAttachmentDescription.Builder
builder()
Creates a builder forVulkanAttachmentDescription
.static VulkanAttachmentDescription
copyOf(VulkanAttachmentDescriptionType instance)
Creates an immutable copy of aVulkanAttachmentDescriptionType
value.boolean
equals(java.lang.Object another)
This instance is equal to all instances ofVulkanAttachmentDescription
that have equal attribute values.VulkanImageLayout
finalLayout()
java.util.Set<VulkanAttachmentDescriptionFlag>
flags()
VulkanFormat
format()
int
hashCode()
Computes a hash code from attributes:flags
,format
,samples
,loadOp
,storeOp
,stencilLoadOp
,stencilStoreOp
,initialLayout
,finalLayout
.VulkanImageLayout
initialLayout()
VulkanAttachmentLoadOp
loadOp()
static VulkanAttachmentDescription
of(java.lang.Iterable<VulkanAttachmentDescriptionFlag> flags, VulkanFormat format, VulkanSampleCountFlag samples, VulkanAttachmentLoadOp loadOp, VulkanAttachmentStoreOp storeOp, VulkanAttachmentLoadOp stencilLoadOp, VulkanAttachmentStoreOp stencilStoreOp, VulkanImageLayout initialLayout, VulkanImageLayout finalLayout)
Construct a new immutableVulkanAttachmentDescription
instance.static VulkanAttachmentDescription
of(java.util.Set<VulkanAttachmentDescriptionFlag> flags, VulkanFormat format, VulkanSampleCountFlag samples, VulkanAttachmentLoadOp loadOp, VulkanAttachmentStoreOp storeOp, VulkanAttachmentLoadOp stencilLoadOp, VulkanAttachmentStoreOp stencilStoreOp, VulkanImageLayout initialLayout, VulkanImageLayout finalLayout)
Construct a new immutableVulkanAttachmentDescription
instance.VulkanSampleCountFlag
samples()
VulkanAttachmentLoadOp
stencilLoadOp()
VulkanAttachmentStoreOp
stencilStoreOp()
VulkanAttachmentStoreOp
storeOp()
java.lang.String
toString()
Prints the immutable valueVulkanAttachmentDescription
with attribute values.VulkanAttachmentDescription
withFinalLayout(VulkanImageLayout value)
Copy the current immutable object by setting a value for thefinalLayout
attribute.VulkanAttachmentDescription
withFlags(VulkanAttachmentDescriptionFlag... elements)
Copy the current immutable object with elements that replace the content offlags
.VulkanAttachmentDescription
withFlags(java.lang.Iterable<VulkanAttachmentDescriptionFlag> elements)
Copy the current immutable object with elements that replace the content offlags
.VulkanAttachmentDescription
withFormat(VulkanFormat value)
Copy the current immutable object by setting a value for theformat
attribute.VulkanAttachmentDescription
withInitialLayout(VulkanImageLayout value)
Copy the current immutable object by setting a value for theinitialLayout
attribute.VulkanAttachmentDescription
withLoadOp(VulkanAttachmentLoadOp value)
Copy the current immutable object by setting a value for theloadOp
attribute.VulkanAttachmentDescription
withSamples(VulkanSampleCountFlag value)
Copy the current immutable object by setting a value for thesamples
attribute.VulkanAttachmentDescription
withStencilLoadOp(VulkanAttachmentLoadOp value)
Copy the current immutable object by setting a value for thestencilLoadOp
attribute.VulkanAttachmentDescription
withStencilStoreOp(VulkanAttachmentStoreOp value)
Copy the current immutable object by setting a value for thestencilStoreOp
attribute.VulkanAttachmentDescription
withStoreOp(VulkanAttachmentStoreOp value)
Copy the current immutable object by setting a value for thestoreOp
attribute.
-
-
-
Method Detail
-
flags
public java.util.Set<VulkanAttachmentDescriptionFlag> flags()
- Specified by:
flags
in interfaceVulkanAttachmentDescriptionType
- Returns:
- flags specifying additional properties of the attachment.
-
format
public VulkanFormat format()
- Specified by:
format
in interfaceVulkanAttachmentDescriptionType
- Returns:
- the format of the image view that will be used for the attachment.
-
samples
public VulkanSampleCountFlag samples()
- Specified by:
samples
in interfaceVulkanAttachmentDescriptionType
- Returns:
- the number of samples of the image.
-
loadOp
public VulkanAttachmentLoadOp loadOp()
- Specified by:
loadOp
in interfaceVulkanAttachmentDescriptionType
- Returns:
- A value specifying how the contents of color and depth components of the attachment are treated at the beginning of the subpass where it is first used.
-
storeOp
public VulkanAttachmentStoreOp storeOp()
- Specified by:
storeOp
in interfaceVulkanAttachmentDescriptionType
- Returns:
- A value specifying how the contents of color and depth components of the attachment are treated at the end of the subpass where it is last used.
-
stencilLoadOp
public VulkanAttachmentLoadOp stencilLoadOp()
- Specified by:
stencilLoadOp
in interfaceVulkanAttachmentDescriptionType
- Returns:
- A value specifying how the contents of stencil components of the attachment are treated at the beginning of the subpass where it is first used.
-
stencilStoreOp
public VulkanAttachmentStoreOp stencilStoreOp()
- Specified by:
stencilStoreOp
in interfaceVulkanAttachmentDescriptionType
- Returns:
- A value specifying how the contents of stencil components of the attachment are treated at the end of the last subpass where it is used.
-
initialLayout
public VulkanImageLayout initialLayout()
- Specified by:
initialLayout
in interfaceVulkanAttachmentDescriptionType
- Returns:
- The layout the attachment image subresource will be in when a render pass instance begins.
-
finalLayout
public VulkanImageLayout finalLayout()
- Specified by:
finalLayout
in interfaceVulkanAttachmentDescriptionType
- Returns:
- The layout the attachment image subresource will be transitioned to when a render pass instance ends. During a render pass instance, an attachment can use a different layout in each subpass, if desired.
-
withFlags
public final VulkanAttachmentDescription withFlags(VulkanAttachmentDescriptionFlag... elements)
Copy the current immutable object with elements that replace the content offlags
.- Parameters:
elements
- The elements to set- Returns:
- A modified copy of
this
object
-
withFlags
public final VulkanAttachmentDescription withFlags(java.lang.Iterable<VulkanAttachmentDescriptionFlag> elements)
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
this
object
-
withFormat
public final VulkanAttachmentDescription withFormat(VulkanFormat value)
Copy the current immutable object by setting a value for theformat
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for format- Returns:
- A modified copy of the
this
object
-
withSamples
public final VulkanAttachmentDescription withSamples(VulkanSampleCountFlag value)
Copy the current immutable object by setting a value for thesamples
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for samples- Returns:
- A modified copy of the
this
object
-
withLoadOp
public final VulkanAttachmentDescription withLoadOp(VulkanAttachmentLoadOp value)
Copy the current immutable object by setting a value for theloadOp
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for loadOp- Returns:
- A modified copy of the
this
object
-
withStoreOp
public final VulkanAttachmentDescription withStoreOp(VulkanAttachmentStoreOp value)
Copy the current immutable object by setting a value for thestoreOp
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for storeOp- Returns:
- A modified copy of the
this
object
-
withStencilLoadOp
public final VulkanAttachmentDescription withStencilLoadOp(VulkanAttachmentLoadOp value)
Copy the current immutable object by setting a value for thestencilLoadOp
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for stencilLoadOp- Returns:
- A modified copy of the
this
object
-
withStencilStoreOp
public final VulkanAttachmentDescription withStencilStoreOp(VulkanAttachmentStoreOp value)
Copy the current immutable object by setting a value for thestencilStoreOp
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for stencilStoreOp- Returns:
- A modified copy of the
this
object
-
withInitialLayout
public final VulkanAttachmentDescription withInitialLayout(VulkanImageLayout value)
Copy the current immutable object by setting a value for theinitialLayout
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for initialLayout- Returns:
- A modified copy of the
this
object
-
withFinalLayout
public final VulkanAttachmentDescription withFinalLayout(VulkanImageLayout value)
Copy the current immutable object by setting a value for thefinalLayout
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for finalLayout- Returns:
- A modified copy of the
this
object
-
equals
public boolean equals(java.lang.Object another)
This instance is equal to all instances ofVulkanAttachmentDescription
that have equal attribute values.- Overrides:
equals
in classjava.lang.Object
- Returns:
true
ifthis
is equal toanother
instance
-
hashCode
public int hashCode()
Computes a hash code from attributes:flags
,format
,samples
,loadOp
,storeOp
,stencilLoadOp
,stencilStoreOp
,initialLayout
,finalLayout
.- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- hashCode value
-
toString
public java.lang.String toString()
Prints the immutable valueVulkanAttachmentDescription
with attribute values.- Overrides:
toString
in classjava.lang.Object
- Returns:
- A string representation of the value
-
of
public static VulkanAttachmentDescription of(java.util.Set<VulkanAttachmentDescriptionFlag> flags, VulkanFormat format, VulkanSampleCountFlag samples, VulkanAttachmentLoadOp loadOp, VulkanAttachmentStoreOp storeOp, VulkanAttachmentLoadOp stencilLoadOp, VulkanAttachmentStoreOp stencilStoreOp, VulkanImageLayout initialLayout, VulkanImageLayout finalLayout)
Construct a new immutableVulkanAttachmentDescription
instance.- Parameters:
flags
- The value for theflags
attributeformat
- The value for theformat
attributesamples
- The value for thesamples
attributeloadOp
- The value for theloadOp
attributestoreOp
- The value for thestoreOp
attributestencilLoadOp
- The value for thestencilLoadOp
attributestencilStoreOp
- The value for thestencilStoreOp
attributeinitialLayout
- The value for theinitialLayout
attributefinalLayout
- The value for thefinalLayout
attribute- Returns:
- An immutable VulkanAttachmentDescription instance
-
of
public static VulkanAttachmentDescription of(java.lang.Iterable<VulkanAttachmentDescriptionFlag> flags, VulkanFormat format, VulkanSampleCountFlag samples, VulkanAttachmentLoadOp loadOp, VulkanAttachmentStoreOp storeOp, VulkanAttachmentLoadOp stencilLoadOp, VulkanAttachmentStoreOp stencilStoreOp, VulkanImageLayout initialLayout, VulkanImageLayout finalLayout)
Construct a new immutableVulkanAttachmentDescription
instance.- Parameters:
flags
- The value for theflags
attributeformat
- The value for theformat
attributesamples
- The value for thesamples
attributeloadOp
- The value for theloadOp
attributestoreOp
- The value for thestoreOp
attributestencilLoadOp
- The value for thestencilLoadOp
attributestencilStoreOp
- The value for thestencilStoreOp
attributeinitialLayout
- The value for theinitialLayout
attributefinalLayout
- The value for thefinalLayout
attribute- Returns:
- An immutable VulkanAttachmentDescription instance
-
copyOf
public static VulkanAttachmentDescription copyOf(VulkanAttachmentDescriptionType instance)
Creates an immutable copy of aVulkanAttachmentDescriptionType
value. 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 VulkanAttachmentDescription instance
-
builder
public static VulkanAttachmentDescription.Builder builder()
Creates a builder forVulkanAttachmentDescription
.- Returns:
- A new VulkanAttachmentDescription builder
-
-