Class VulkanQueueFamilyProperties
java.lang.Object
com.io7m.jcoronado.api.VulkanQueueFamilyProperties
- All Implemented Interfaces:
VulkanQueueFamilyPropertiesType
public final class VulkanQueueFamilyProperties
extends Object
implements VulkanQueueFamilyPropertiesType
The properties of a queue family.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classBuilds instances of typeVulkanQueueFamilyProperties. -
Method Summary
Modifier and TypeMethodDescriptionbuilder()Creates a builder forVulkanQueueFamilyProperties.static VulkanQueueFamilyPropertiescopyOf(VulkanQueueFamilyPropertiesType instance) Creates an immutable copy of aVulkanQueueFamilyPropertiesTypevalue.booleanThis instance is equal to all instances ofVulkanQueueFamilyPropertiesthat have equal attribute values.inthashCode()Computes a hash code from attributes:queueFamilyIndex,queueCount,queueFlags,timestampValidBits,minImageTransferGranularity.static VulkanQueueFamilyPropertiesof(VulkanQueueFamilyIndex queueFamilyIndex, int queueCount, Iterable<VulkanQueueFamilyPropertyFlag> queueFlags, int timestampValidBits, VulkanExtent3D minImageTransferGranularity) Construct a new immutableVulkanQueueFamilyPropertiesinstance.static VulkanQueueFamilyPropertiesof(VulkanQueueFamilyIndex queueFamilyIndex, int queueCount, Set<VulkanQueueFamilyPropertyFlag> queueFlags, int timestampValidBits, VulkanExtent3D minImageTransferGranularity) Construct a new immutableVulkanQueueFamilyPropertiesinstance.intinttoString()Prints the immutable valueVulkanQueueFamilyPropertieswith attribute values.Copy the current immutable object by setting a value for theminImageTransferGranularityattribute.withQueueCount(int value) Copy the current immutable object by setting a value for thequeueCountattribute.Copy the current immutable object by setting a value for thequeueFamilyIndexattribute.withQueueFlags(VulkanQueueFamilyPropertyFlag... elements) Copy the current immutable object with elements that replace the content ofqueueFlags.withQueueFlags(Iterable<VulkanQueueFamilyPropertyFlag> elements) Copy the current immutable object with elements that replace the content ofqueueFlags.withTimestampValidBits(int value) Copy the current immutable object by setting a value for thetimestampValidBitsattribute.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.io7m.jcoronado.api.VulkanQueueFamilyPropertiesType
queueFlagImpliesTransfer
-
Method Details
-
queueFamilyIndex
- Specified by:
queueFamilyIndexin interfaceVulkanQueueFamilyPropertiesType- Returns:
- The index of the queue family
-
queueCount
public int queueCount()- Specified by:
queueCountin interfaceVulkanQueueFamilyPropertiesType- Returns:
- The number of queues available in the family
-
queueFlags
- Specified by:
queueFlagsin interfaceVulkanQueueFamilyPropertiesType- Returns:
- The property flags for the queue family
-
timestampValidBits
public int timestampValidBits()- Specified by:
timestampValidBitsin interfaceVulkanQueueFamilyPropertiesType- Returns:
- The unsigned integer count of meaningful bits in the timestamps written via vkCmdWriteTimestamp.
-
minImageTransferGranularity
- Specified by:
minImageTransferGranularityin interfaceVulkanQueueFamilyPropertiesType- Returns:
- The minimum granularity supported for image transfer operations on the queues in this queue family.
-
withQueueFamilyIndex
Copy the current immutable object by setting a value for thequeueFamilyIndexattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for queueFamilyIndex- Returns:
- A modified copy of the
thisobject
-
withQueueCount
Copy the current immutable object by setting a value for thequeueCountattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for queueCount- Returns:
- A modified copy of the
thisobject
-
withQueueFlags
Copy the current immutable object with elements that replace the content ofqueueFlags.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withQueueFlags
public final VulkanQueueFamilyProperties withQueueFlags(Iterable<VulkanQueueFamilyPropertyFlag> elements) Copy the current immutable object with elements that replace the content ofqueueFlags. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of queueFlags elements to set- Returns:
- A modified copy of
thisobject
-
withTimestampValidBits
Copy the current immutable object by setting a value for thetimestampValidBitsattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for timestampValidBits- Returns:
- A modified copy of the
thisobject
-
withMinImageTransferGranularity
Copy the current immutable object by setting a value for theminImageTransferGranularityattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for minImageTransferGranularity- Returns:
- A modified copy of the
thisobject
-
equals
-
hashCode
-
toString
-
of
public static VulkanQueueFamilyProperties of(VulkanQueueFamilyIndex queueFamilyIndex, int queueCount, Set<VulkanQueueFamilyPropertyFlag> queueFlags, int timestampValidBits, VulkanExtent3D minImageTransferGranularity) Construct a new immutableVulkanQueueFamilyPropertiesinstance.- Parameters:
queueFamilyIndex- The value for thequeueFamilyIndexattributequeueCount- The value for thequeueCountattributequeueFlags- The value for thequeueFlagsattributetimestampValidBits- The value for thetimestampValidBitsattributeminImageTransferGranularity- The value for theminImageTransferGranularityattribute- Returns:
- An immutable VulkanQueueFamilyProperties instance
-
of
public static VulkanQueueFamilyProperties of(VulkanQueueFamilyIndex queueFamilyIndex, int queueCount, Iterable<VulkanQueueFamilyPropertyFlag> queueFlags, int timestampValidBits, VulkanExtent3D minImageTransferGranularity) Construct a new immutableVulkanQueueFamilyPropertiesinstance.- Parameters:
queueFamilyIndex- The value for thequeueFamilyIndexattributequeueCount- The value for thequeueCountattributequeueFlags- The value for thequeueFlagsattributetimestampValidBits- The value for thetimestampValidBitsattributeminImageTransferGranularity- The value for theminImageTransferGranularityattribute- Returns:
- An immutable VulkanQueueFamilyProperties instance
-
copyOf
Creates an immutable copy of aVulkanQueueFamilyPropertiesTypevalue. 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 VulkanQueueFamilyProperties instance
-
builder
Creates a builder forVulkanQueueFamilyProperties.VulkanQueueFamilyProperties.builder() .setQueueFamilyIndex(com.io7m.jcoronado.api.VulkanQueueFamilyIndex) // requiredqueueFamilyIndex.setQueueCount(int) // requiredqueueCount.addQueueFlags|addAllQueueFlags(com.io7m.jcoronado.api.VulkanQueueFamilyPropertyFlag) //queueFlagselements .setTimestampValidBits(int) // requiredtimestampValidBits.setMinImageTransferGranularity(com.io7m.jcoronado.api.VulkanExtent3D) // requiredminImageTransferGranularity.build();- Returns:
- A new VulkanQueueFamilyProperties builder
-