Class VulkanQueueFamilyProperties.Builder
java.lang.Object
com.io7m.jcoronado.api.VulkanQueueFamilyProperties.Builder
- Enclosing class:
VulkanQueueFamilyProperties
Builds instances of type
VulkanQueueFamilyProperties.
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 TypeMethodDescriptionAdds elements toqueueFlagsset.Adds one element toqueueFlagsset.addQueueFlags(VulkanQueueFamilyPropertyFlag... elements) Adds elements toqueueFlagsset.build()Builds a newVulkanQueueFamilyProperties.from(VulkanQueueFamilyPropertiesType instance) Fill a builder with attribute values from the providedVulkanQueueFamilyPropertiesTypeinstance.setMinImageTransferGranularity(VulkanExtent3D minImageTransferGranularity) Initializes the value for theminImageTransferGranularityattribute.setQueueCount(int queueCount) Initializes the value for thequeueCountattribute.setQueueFamilyIndex(VulkanQueueFamilyIndex queueFamilyIndex) Initializes the value for thequeueFamilyIndexattribute.setQueueFlags(Iterable<VulkanQueueFamilyPropertyFlag> elements) Sets or replaces all elements forqueueFlagsset.setTimestampValidBits(int timestampValidBits) Initializes the value for thetimestampValidBitsattribute.
-
Method Details
-
from
Fill a builder with attribute values from the providedVulkanQueueFamilyPropertiesTypeinstance. 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
-
setQueueFamilyIndex
public final VulkanQueueFamilyProperties.Builder setQueueFamilyIndex(VulkanQueueFamilyIndex queueFamilyIndex) Initializes the value for thequeueFamilyIndexattribute.- Parameters:
queueFamilyIndex- The value for queueFamilyIndex- Returns:
thisbuilder for use in a chained invocation
-
setQueueCount
Initializes the value for thequeueCountattribute.- Parameters:
queueCount- The value for queueCount- Returns:
thisbuilder for use in a chained invocation
-
addQueueFlags
public final VulkanQueueFamilyProperties.Builder addQueueFlags(VulkanQueueFamilyPropertyFlag element) Adds one element toqueueFlagsset.- Parameters:
element- A queueFlags element- Returns:
thisbuilder for use in a chained invocation
-
addQueueFlags
public final VulkanQueueFamilyProperties.Builder addQueueFlags(VulkanQueueFamilyPropertyFlag... elements) Adds elements toqueueFlagsset.- Parameters:
elements- An array of queueFlags elements- Returns:
thisbuilder for use in a chained invocation
-
setQueueFlags
public final VulkanQueueFamilyProperties.Builder setQueueFlags(Iterable<VulkanQueueFamilyPropertyFlag> elements) Sets or replaces all elements forqueueFlagsset.- Parameters:
elements- An iterable of queueFlags elements- Returns:
thisbuilder for use in a chained invocation
-
addAllQueueFlags
public final VulkanQueueFamilyProperties.Builder addAllQueueFlags(Iterable<VulkanQueueFamilyPropertyFlag> elements) Adds elements toqueueFlagsset.- Parameters:
elements- An iterable of queueFlags elements- Returns:
thisbuilder for use in a chained invocation
-
setTimestampValidBits
Initializes the value for thetimestampValidBitsattribute.- Parameters:
timestampValidBits- The value for timestampValidBits- Returns:
thisbuilder for use in a chained invocation
-
setMinImageTransferGranularity
public final VulkanQueueFamilyProperties.Builder setMinImageTransferGranularity(VulkanExtent3D minImageTransferGranularity) Initializes the value for theminImageTransferGranularityattribute.- Parameters:
minImageTransferGranularity- The value for minImageTransferGranularity- Returns:
thisbuilder for use in a chained invocation
-
build
Builds a newVulkanQueueFamilyProperties.- Returns:
- An immutable instance of VulkanQueueFamilyProperties
- Throws:
IllegalStateException- if any required attributes are missing
-