Class VMAAllocatorCreateInfo.Builder
java.lang.Object
com.io7m.jcoronado.vma.VMAAllocatorCreateInfo.Builder
- Enclosing class:
VMAAllocatorCreateInfo
Builds instances of type
VMAAllocatorCreateInfo.
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 TypeMethodDescriptionaddAllFlags(Iterable<VMAAllocatorCreateFlag> elements) Adds elements toflagsset.addFlags(VMAAllocatorCreateFlag element) Adds one element toflagsset.addFlags(VMAAllocatorCreateFlag... elements) Adds elements toflagsset.build()Builds a newVMAAllocatorCreateInfo.from(VMAAllocatorCreateInfoType instance) Fill a builder with attribute values from the providedVMAAllocatorCreateInfoTypeinstance.setFlags(Iterable<VMAAllocatorCreateFlag> elements) Sets or replaces all elements forflagsset.setFrameInUseCount(int frameInUseCount) Initializes the optional valueframeInUseCountto frameInUseCount.setFrameInUseCount(OptionalInt frameInUseCount) Initializes the optional valueframeInUseCountto frameInUseCount.setLogicalDevice(VulkanLogicalDeviceType logicalDevice) Initializes the value for thelogicalDeviceattribute.setPreferredLargeHeapBlockSize(long preferredLargeHeapBlockSize) Initializes the optional valuepreferredLargeHeapBlockSizeto preferredLargeHeapBlockSize.setPreferredLargeHeapBlockSize(OptionalLong preferredLargeHeapBlockSize) Initializes the optional valuepreferredLargeHeapBlockSizeto preferredLargeHeapBlockSize.
-
Method Details
-
from
Fill a builder with attribute values from the providedVMAAllocatorCreateInfoTypeinstance. Regular attribute values will be replaced with those from the given instance. Absent optional values will not replace present values. Collection elements and entries will be added, not replaced.- Parameters:
instance- The instance from which to copy values- Returns:
thisbuilder for use in a chained invocation
-
addFlags
Adds one element toflagsset.- Parameters:
element- A flags element- Returns:
thisbuilder for use in a chained invocation
-
addFlags
Adds elements toflagsset.- Parameters:
elements- An array of flags elements- Returns:
thisbuilder for use in a chained invocation
-
setFlags
Sets or replaces all elements forflagsset.- Parameters:
elements- An iterable of flags elements- Returns:
thisbuilder for use in a chained invocation
-
addAllFlags
Adds elements toflagsset.- Parameters:
elements- An iterable of flags elements- Returns:
thisbuilder for use in a chained invocation
-
setLogicalDevice
Initializes the value for thelogicalDeviceattribute.- Parameters:
logicalDevice- The value for logicalDevice- Returns:
thisbuilder for use in a chained invocation
-
setPreferredLargeHeapBlockSize
public final VMAAllocatorCreateInfo.Builder setPreferredLargeHeapBlockSize(long preferredLargeHeapBlockSize) Initializes the optional valuepreferredLargeHeapBlockSizeto preferredLargeHeapBlockSize.- Parameters:
preferredLargeHeapBlockSize- The value for preferredLargeHeapBlockSize- Returns:
thisbuilder for chained invocation
-
setPreferredLargeHeapBlockSize
public final VMAAllocatorCreateInfo.Builder setPreferredLargeHeapBlockSize(OptionalLong preferredLargeHeapBlockSize) Initializes the optional valuepreferredLargeHeapBlockSizeto preferredLargeHeapBlockSize.- Parameters:
preferredLargeHeapBlockSize- The value for preferredLargeHeapBlockSize- Returns:
thisbuilder for use in a chained invocation
-
setFrameInUseCount
Initializes the optional valueframeInUseCountto frameInUseCount.- Parameters:
frameInUseCount- The value for frameInUseCount- Returns:
thisbuilder for chained invocation
-
setFrameInUseCount
Initializes the optional valueframeInUseCountto frameInUseCount.- Parameters:
frameInUseCount- The value for frameInUseCount- Returns:
thisbuilder for use in a chained invocation
-
build
Builds a newVMAAllocatorCreateInfo.- Returns:
- An immutable instance of VMAAllocatorCreateInfo
- Throws:
IllegalStateException- if any required attributes are missing
-