- java.lang.Object
-
- com.io7m.jcoronado.api.VulkanQueueFamilyProperties
-
- All Implemented Interfaces:
VulkanQueueFamilyPropertiesType
public final class VulkanQueueFamilyProperties extends java.lang.Object implements VulkanQueueFamilyPropertiesType
The properties of a queue family.- See Also:
- "VkQueueFamilyProperties"
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
VulkanQueueFamilyProperties.Builder
Builds instances of typeVulkanQueueFamilyProperties
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static VulkanQueueFamilyProperties.Builder
builder()
Creates a builder forVulkanQueueFamilyProperties
.static VulkanQueueFamilyProperties
copyOf(VulkanQueueFamilyPropertiesType instance)
Creates an immutable copy of aVulkanQueueFamilyPropertiesType
value.boolean
equals(java.lang.Object another)
This instance is equal to all instances ofVulkanQueueFamilyProperties
that have equal attribute values.int
hashCode()
Computes a hash code from attributes:queueFamilyIndex
,queueCount
,queueFlags
,timestampValidBits
,minImageTransferGranularity
.VulkanExtent3D
minImageTransferGranularity()
static VulkanQueueFamilyProperties
of(int queueFamilyIndex, int queueCount, java.lang.Iterable<VulkanQueueFamilyPropertyFlag> queueFlags, int timestampValidBits, VulkanExtent3D minImageTransferGranularity)
Construct a new immutableVulkanQueueFamilyProperties
instance.static VulkanQueueFamilyProperties
of(int queueFamilyIndex, int queueCount, java.util.Set<VulkanQueueFamilyPropertyFlag> queueFlags, int timestampValidBits, VulkanExtent3D minImageTransferGranularity)
Construct a new immutableVulkanQueueFamilyProperties
instance.int
queueCount()
int
queueFamilyIndex()
java.util.Set<VulkanQueueFamilyPropertyFlag>
queueFlags()
int
timestampValidBits()
java.lang.String
toString()
Prints the immutable valueVulkanQueueFamilyProperties
with attribute values.VulkanQueueFamilyProperties
withMinImageTransferGranularity(VulkanExtent3D value)
Copy the current immutable object by setting a value for theminImageTransferGranularity
attribute.VulkanQueueFamilyProperties
withQueueCount(int value)
Copy the current immutable object by setting a value for thequeueCount
attribute.VulkanQueueFamilyProperties
withQueueFamilyIndex(int value)
Copy the current immutable object by setting a value for thequeueFamilyIndex
attribute.VulkanQueueFamilyProperties
withQueueFlags(VulkanQueueFamilyPropertyFlag... elements)
Copy the current immutable object with elements that replace the content ofqueueFlags
.VulkanQueueFamilyProperties
withQueueFlags(java.lang.Iterable<VulkanQueueFamilyPropertyFlag> elements)
Copy the current immutable object with elements that replace the content ofqueueFlags
.VulkanQueueFamilyProperties
withTimestampValidBits(int value)
Copy the current immutable object by setting a value for thetimestampValidBits
attribute.
-
-
-
Method Detail
-
queueFamilyIndex
public int queueFamilyIndex()
- Specified by:
queueFamilyIndex
in interfaceVulkanQueueFamilyPropertiesType
- Returns:
- The index of the queue family
-
queueCount
public int queueCount()
- Specified by:
queueCount
in interfaceVulkanQueueFamilyPropertiesType
- Returns:
- The number of queues available in the family
-
queueFlags
public java.util.Set<VulkanQueueFamilyPropertyFlag> queueFlags()
- Specified by:
queueFlags
in interfaceVulkanQueueFamilyPropertiesType
- Returns:
- The property flags for the queue family
-
timestampValidBits
public int timestampValidBits()
- Specified by:
timestampValidBits
in interfaceVulkanQueueFamilyPropertiesType
- Returns:
- The unsigned integer count of meaningful bits in the timestamps written via vkCmdWriteTimestamp.
-
minImageTransferGranularity
public VulkanExtent3D minImageTransferGranularity()
- Specified by:
minImageTransferGranularity
in interfaceVulkanQueueFamilyPropertiesType
- Returns:
- The minimum granularity supported for image transfer operations on the queues in this queue family.
-
withQueueFamilyIndex
public final VulkanQueueFamilyProperties withQueueFamilyIndex(int value)
Copy the current immutable object by setting a value for thequeueFamilyIndex
attribute. A value 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
this
object
-
withQueueCount
public final VulkanQueueFamilyProperties withQueueCount(int value)
Copy the current immutable object by setting a value for thequeueCount
attribute. 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
this
object
-
withQueueFlags
public final VulkanQueueFamilyProperties withQueueFlags(VulkanQueueFamilyPropertyFlag... elements)
Copy the current immutable object with elements that replace the content ofqueueFlags
.- Parameters:
elements
- The elements to set- Returns:
- A modified copy of
this
object
-
withQueueFlags
public final VulkanQueueFamilyProperties withQueueFlags(java.lang.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
this
object
-
withTimestampValidBits
public final VulkanQueueFamilyProperties withTimestampValidBits(int value)
Copy the current immutable object by setting a value for thetimestampValidBits
attribute. 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
this
object
-
withMinImageTransferGranularity
public final VulkanQueueFamilyProperties withMinImageTransferGranularity(VulkanExtent3D value)
Copy the current immutable object by setting a value for theminImageTransferGranularity
attribute. 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
this
object
-
equals
public boolean equals(java.lang.Object another)
This instance is equal to all instances ofVulkanQueueFamilyProperties
that have equal attribute values.- Overrides:
equals
in classjava.lang.Object
- Returns:
true
ifthis
is equal toanother
instance
-
hashCode
public int hashCode()
Computes a hash code from attributes:queueFamilyIndex
,queueCount
,queueFlags
,timestampValidBits
,minImageTransferGranularity
.- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- hashCode value
-
toString
public java.lang.String toString()
Prints the immutable valueVulkanQueueFamilyProperties
with attribute values.- Overrides:
toString
in classjava.lang.Object
- Returns:
- A string representation of the value
-
of
public static VulkanQueueFamilyProperties of(int queueFamilyIndex, int queueCount, java.util.Set<VulkanQueueFamilyPropertyFlag> queueFlags, int timestampValidBits, VulkanExtent3D minImageTransferGranularity)
Construct a new immutableVulkanQueueFamilyProperties
instance.- Parameters:
queueFamilyIndex
- The value for thequeueFamilyIndex
attributequeueCount
- The value for thequeueCount
attributequeueFlags
- The value for thequeueFlags
attributetimestampValidBits
- The value for thetimestampValidBits
attributeminImageTransferGranularity
- The value for theminImageTransferGranularity
attribute- Returns:
- An immutable VulkanQueueFamilyProperties instance
-
of
public static VulkanQueueFamilyProperties of(int queueFamilyIndex, int queueCount, java.lang.Iterable<VulkanQueueFamilyPropertyFlag> queueFlags, int timestampValidBits, VulkanExtent3D minImageTransferGranularity)
Construct a new immutableVulkanQueueFamilyProperties
instance.- Parameters:
queueFamilyIndex
- The value for thequeueFamilyIndex
attributequeueCount
- The value for thequeueCount
attributequeueFlags
- The value for thequeueFlags
attributetimestampValidBits
- The value for thetimestampValidBits
attributeminImageTransferGranularity
- The value for theminImageTransferGranularity
attribute- Returns:
- An immutable VulkanQueueFamilyProperties instance
-
copyOf
public static VulkanQueueFamilyProperties copyOf(VulkanQueueFamilyPropertiesType instance)
Creates an immutable copy of aVulkanQueueFamilyPropertiesType
value. 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
public static VulkanQueueFamilyProperties.Builder builder()
Creates a builder forVulkanQueueFamilyProperties
.- Returns:
- A new VulkanQueueFamilyProperties builder
-
-