Class VulkanSubresourceLayout.Builder
java.lang.Object
com.io7m.jcoronado.api.VulkanSubresourceLayout.Builder
- Enclosing class:
VulkanSubresourceLayout
Builds instances of type
VulkanSubresourceLayout.
Initialize attributes and then invoke the build() method to create an
immutable instance.
Builder is not thread-safe and generally should not be stored in a field or collection,
but instead used immediately to create instances.
-
Method Summary
Modifier and TypeMethodDescriptionbuild()Builds a newVulkanSubresourceLayout.from(VulkanSubresourceLayoutType instance) Fill a builder with attribute values from the providedVulkanSubresourceLayoutTypeinstance.setArrayPitch(long arrayPitch) Initializes the value for thearrayPitchattribute.setDepthPitch(long depthPitch) Initializes the value for thedepthPitchattribute.setOffset(long offset) Initializes the value for theoffsetattribute.setRowPitch(long rowPitch) Initializes the value for therowPitchattribute.setSize(long size) Initializes the value for thesizeattribute.
-
Method Details
-
from
Fill a builder with attribute values from the providedVulkanSubresourceLayoutTypeinstance. Regular attribute values will be replaced with those from the given instance. Absent optional values will not replace present values.- Parameters:
instance- The instance from which to copy values- Returns:
thisbuilder for use in a chained invocation
-
setOffset
Initializes the value for theoffsetattribute.- Parameters:
offset- The value for offset- Returns:
thisbuilder for use in a chained invocation
-
setSize
Initializes the value for thesizeattribute.- Parameters:
size- The value for size- Returns:
thisbuilder for use in a chained invocation
-
setRowPitch
Initializes the value for therowPitchattribute.- Parameters:
rowPitch- The value for rowPitch- Returns:
thisbuilder for use in a chained invocation
-
setArrayPitch
Initializes the value for thearrayPitchattribute.- Parameters:
arrayPitch- The value for arrayPitch- Returns:
thisbuilder for use in a chained invocation
-
setDepthPitch
Initializes the value for thedepthPitchattribute.- Parameters:
depthPitch- The value for depthPitch- Returns:
thisbuilder for use in a chained invocation
-
build
Builds a newVulkanSubresourceLayout.- Returns:
- An immutable instance of VulkanSubresourceLayout
- Throws:
IllegalStateException- if any required attributes are missing
-