Class VulkanComputeWorkGroupCount

java.lang.Object
com.io7m.jcoronado.api.VulkanComputeWorkGroupCount
All Implemented Interfaces:
VulkanComputeWorkGroupCountType

public final class VulkanComputeWorkGroupCount extends Object implements VulkanComputeWorkGroupCountType
the maximum number of local workgroups that can be dispatched by a single dispatch command. These three values represent the maximum number of local workgroups for the X, Y, and Z dimensions, respectively. The workgroup count parameters to the dispatch commands must be less than or equal to the corresponding limit.
See Also:
  • "VkPhysicalDeviceLimits"
  • Method Details

    • maximumX

      public int maximumX()
      Specified by:
      maximumX in interface VulkanComputeWorkGroupCountType
      Returns:
      The limit on the X dimension
    • maximumY

      public int maximumY()
      Specified by:
      maximumY in interface VulkanComputeWorkGroupCountType
      Returns:
      The limit on the Y dimension
    • maximumZ

      public int maximumZ()
      Specified by:
      maximumZ in interface VulkanComputeWorkGroupCountType
      Returns:
      The limit on the Z dimension
    • withMaximumX

      public final VulkanComputeWorkGroupCount withMaximumX(int value)
      Copy the current immutable object by setting a value for the maximumX attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for maximumX
      Returns:
      A modified copy or the this object
    • withMaximumY

      public final VulkanComputeWorkGroupCount withMaximumY(int value)
      Copy the current immutable object by setting a value for the maximumY attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for maximumY
      Returns:
      A modified copy or the this object
    • withMaximumZ

      public final VulkanComputeWorkGroupCount withMaximumZ(int value)
      Copy the current immutable object by setting a value for the maximumZ attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for maximumZ
      Returns:
      A modified copy or the this object
    • equals

      public boolean equals(Object another)
      This instance is equal to all instances of VulkanComputeWorkGroupCount that have equal attribute values.
      Overrides:
      equals in class Object
      Returns:
      true if this is equal to another instance
    • hashCode

      public int hashCode()
      Computes a hash code from attributes: maximumX, maximumY, maximumZ.
      Overrides:
      hashCode in class Object
      Returns:
      hashCode value
    • toString

      public String toString()
      Prints the immutable value VulkanComputeWorkGroupCount with attribute values.
      Overrides:
      toString in class Object
      Returns:
      A string representation of the value
    • copyOf

      Creates an immutable copy of a VulkanComputeWorkGroupCountType 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 VulkanComputeWorkGroupCount instance
    • builder

      public static VulkanComputeWorkGroupCount.Builder builder()
      Creates a builder for VulkanComputeWorkGroupCount.
      VulkanComputeWorkGroupCount.builder()
         .setMaximumX(int) // optional maximumX
         .setMaximumY(int) // optional maximumY
         .setMaximumZ(int) // optional maximumZ
         .build();
      
      Returns:
      A new VulkanComputeWorkGroupCount builder