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.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 interface 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 or 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 or 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 or
thisif not changed
-
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 or 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 or the
thisobject
-
equals
-
hashCode
-
toString
-
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) // optional
queueFamilyIndex.setQueueCount(int) // optionalqueueCount.addQueueFlags|addAllQueueFlags(com.io7m.jcoronado.api.VulkanQueueFamilyPropertyFlag) //queueFlagselements .setTimestampValidBits(int) // optionaltimestampValidBits.setMinImageTransferGranularity(com.io7m.jcoronado.api.VulkanExtent3D) // optionalminImageTransferGranularity.build();- Returns:
- A new VulkanQueueFamilyProperties builder
-