Class VulkanComputeWorkGroupSize
java.lang.Object
com.io7m.jcoronado.api.VulkanComputeWorkGroupSize
- All Implemented Interfaces:
VulkanComputeWorkGroupSizeType
public final class VulkanComputeWorkGroupSize
extends Object
implements VulkanComputeWorkGroupSizeType
the maximum size of a local compute workgroup, per dimension. These three values represent the
maximum local workgroup size in the X, Y, and Z dimensions, respectively. The x, y, and z sizes
specified by the LocalSize execution mode and by the object decorated by the WorkgroupSize
decoration in shader modules must be less than or equal to the corresponding limit.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classBuilds instances of typeVulkanComputeWorkGroupSize. -
Method Summary
Modifier and TypeMethodDescriptionbuilder()Creates a builder forVulkanComputeWorkGroupSize.static VulkanComputeWorkGroupSizecopyOf(VulkanComputeWorkGroupSizeType instance) Creates an immutable copy of aVulkanComputeWorkGroupSizeTypevalue.booleanThis instance is equal to all instances ofVulkanComputeWorkGroupSizethat have equal attribute values.inthashCode()Computes a hash code from attributes:maximumX,maximumY,maximumZ.intmaximumX()intmaximumY()intmaximumZ()static VulkanComputeWorkGroupSizeof(int maximumX, int maximumY, int maximumZ) Construct a new immutableVulkanComputeWorkGroupSizeinstance.toString()Prints the immutable valueVulkanComputeWorkGroupSizewith attribute values.withMaximumX(int value) Copy the current immutable object by setting a value for themaximumXattribute.withMaximumY(int value) Copy the current immutable object by setting a value for themaximumYattribute.withMaximumZ(int value) Copy the current immutable object by setting a value for themaximumZattribute.
-
Method Details
-
maximumX
public int maximumX()- Specified by:
maximumXin interfaceVulkanComputeWorkGroupSizeType- Returns:
- The limit on the X dimension
-
maximumY
public int maximumY()- Specified by:
maximumYin interfaceVulkanComputeWorkGroupSizeType- Returns:
- The limit on the Y dimension
-
maximumZ
public int maximumZ()- Specified by:
maximumZin interfaceVulkanComputeWorkGroupSizeType- Returns:
- The limit on the Z dimension
-
withMaximumX
Copy the current immutable object by setting a value for themaximumXattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for maximumX- Returns:
- A modified copy of the
thisobject
-
withMaximumY
Copy the current immutable object by setting a value for themaximumYattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for maximumY- Returns:
- A modified copy of the
thisobject
-
withMaximumZ
Copy the current immutable object by setting a value for themaximumZattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for maximumZ- Returns:
- A modified copy of the
thisobject
-
equals
-
hashCode
-
toString
-
of
Construct a new immutableVulkanComputeWorkGroupSizeinstance.- Parameters:
maximumX- The value for themaximumXattributemaximumY- The value for themaximumYattributemaximumZ- The value for themaximumZattribute- Returns:
- An immutable VulkanComputeWorkGroupSize instance
-
copyOf
Creates an immutable copy of aVulkanComputeWorkGroupSizeTypevalue. 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 VulkanComputeWorkGroupSize instance
-
builder
Creates a builder forVulkanComputeWorkGroupSize.VulkanComputeWorkGroupSize.builder() .setMaximumX(int) // requiredmaximumX.setMaximumY(int) // requiredmaximumY.setMaximumZ(int) // requiredmaximumZ.build();- Returns:
- A new VulkanComputeWorkGroupSize builder
-