Class VulkanPhysicalDeviceFeatures14.Builder

java.lang.Object
com.io7m.jcoronado.api.VulkanPhysicalDeviceFeatures14.Builder
Enclosing class:
VulkanPhysicalDeviceFeatures14

public static final class VulkanPhysicalDeviceFeatures14.Builder extends Object
Builds instances of type VulkanPhysicalDeviceFeatures14. Initialize attributes and then invoke the build() method to create an immutable instance.

Builder is not thread-safe and generally should not be stored in a field or collection, but instead used immediately to create instances.

  • Method Details

    • from

      Fill a builder with attribute values from the provided VulkanPhysicalDeviceFeatures14Type instance. Regular attribute values will be replaced with those from the given instance. Absent optional values will not replace present values.
      Parameters:
      instance - The instance from which to copy values
      Returns:
      this builder for use in a chained invocation
    • setGlobalPriorityQuery

      public final VulkanPhysicalDeviceFeatures14.Builder setGlobalPriorityQuery(boolean globalPriorityQuery)
      Initializes the value for the globalPriorityQuery attribute.

      If not set, this attribute will have a default value as returned by the initializer of globalPriorityQuery.

      Parameters:
      globalPriorityQuery - The value for globalPriorityQuery
      Returns:
      this builder for use in a chained invocation
    • setShaderSubgroupRotate

      public final VulkanPhysicalDeviceFeatures14.Builder setShaderSubgroupRotate(boolean shaderSubgroupRotate)
      Initializes the value for the shaderSubgroupRotate attribute.

      If not set, this attribute will have a default value as returned by the initializer of shaderSubgroupRotate.

      Parameters:
      shaderSubgroupRotate - The value for shaderSubgroupRotate
      Returns:
      this builder for use in a chained invocation
    • setShaderSubgroupRotateClustered

      public final VulkanPhysicalDeviceFeatures14.Builder setShaderSubgroupRotateClustered(boolean shaderSubgroupRotateClustered)
      Initializes the value for the shaderSubgroupRotateClustered attribute.

      If not set, this attribute will have a default value as returned by the initializer of shaderSubgroupRotateClustered.

      Parameters:
      shaderSubgroupRotateClustered - The value for shaderSubgroupRotateClustered
      Returns:
      this builder for use in a chained invocation
    • setShaderFloatControls2

      public final VulkanPhysicalDeviceFeatures14.Builder setShaderFloatControls2(boolean shaderFloatControls2)
      Initializes the value for the shaderFloatControls2 attribute.

      If not set, this attribute will have a default value as returned by the initializer of shaderFloatControls2.

      Parameters:
      shaderFloatControls2 - The value for shaderFloatControls2
      Returns:
      this builder for use in a chained invocation
    • setShaderExpectAssume

      public final VulkanPhysicalDeviceFeatures14.Builder setShaderExpectAssume(boolean shaderExpectAssume)
      Initializes the value for the shaderExpectAssume attribute.

      If not set, this attribute will have a default value as returned by the initializer of shaderExpectAssume.

      Parameters:
      shaderExpectAssume - The value for shaderExpectAssume
      Returns:
      this builder for use in a chained invocation
    • setRectangularLines

      public final VulkanPhysicalDeviceFeatures14.Builder setRectangularLines(boolean rectangularLines)
      Initializes the value for the rectangularLines attribute.

      If not set, this attribute will have a default value as returned by the initializer of rectangularLines.

      Parameters:
      rectangularLines - The value for rectangularLines
      Returns:
      this builder for use in a chained invocation
    • setBresenhamLines

      public final VulkanPhysicalDeviceFeatures14.Builder setBresenhamLines(boolean bresenhamLines)
      Initializes the value for the bresenhamLines attribute.

      If not set, this attribute will have a default value as returned by the initializer of bresenhamLines.

      Parameters:
      bresenhamLines - The value for bresenhamLines
      Returns:
      this builder for use in a chained invocation
    • setSmoothLines

      public final VulkanPhysicalDeviceFeatures14.Builder setSmoothLines(boolean smoothLines)
      Initializes the value for the smoothLines attribute.

      If not set, this attribute will have a default value as returned by the initializer of smoothLines.

      Parameters:
      smoothLines - The value for smoothLines
      Returns:
      this builder for use in a chained invocation
    • setStippledRectangularLines

      public final VulkanPhysicalDeviceFeatures14.Builder setStippledRectangularLines(boolean stippledRectangularLines)
      Initializes the value for the stippledRectangularLines attribute.

      If not set, this attribute will have a default value as returned by the initializer of stippledRectangularLines.

      Parameters:
      stippledRectangularLines - The value for stippledRectangularLines
      Returns:
      this builder for use in a chained invocation
    • setStippledSmoothLines

      public final VulkanPhysicalDeviceFeatures14.Builder setStippledSmoothLines(boolean stippledSmoothLines)
      Initializes the value for the stippledSmoothLines attribute.

      If not set, this attribute will have a default value as returned by the initializer of stippledSmoothLines.

      Parameters:
      stippledSmoothLines - The value for stippledSmoothLines
      Returns:
      this builder for use in a chained invocation
    • setVertexAttributeInstanceRateDivisor

      public final VulkanPhysicalDeviceFeatures14.Builder setVertexAttributeInstanceRateDivisor(boolean vertexAttributeInstanceRateDivisor)
      Initializes the value for the vertexAttributeInstanceRateDivisor attribute.

      If not set, this attribute will have a default value as returned by the initializer of vertexAttributeInstanceRateDivisor.

      Parameters:
      vertexAttributeInstanceRateDivisor - The value for vertexAttributeInstanceRateDivisor
      Returns:
      this builder for use in a chained invocation
    • setVertexAttributeInstanceRateZeroDivisor

      public final VulkanPhysicalDeviceFeatures14.Builder setVertexAttributeInstanceRateZeroDivisor(boolean vertexAttributeInstanceRateZeroDivisor)
      Initializes the value for the vertexAttributeInstanceRateZeroDivisor attribute.

      If not set, this attribute will have a default value as returned by the initializer of vertexAttributeInstanceRateZeroDivisor.

      Parameters:
      vertexAttributeInstanceRateZeroDivisor - The value for vertexAttributeInstanceRateZeroDivisor
      Returns:
      this builder for use in a chained invocation
    • setIndexTypeUint8

      public final VulkanPhysicalDeviceFeatures14.Builder setIndexTypeUint8(boolean indexTypeUint8)
      Initializes the value for the indexTypeUint8 attribute.

      If not set, this attribute will have a default value as returned by the initializer of indexTypeUint8.

      Parameters:
      indexTypeUint8 - The value for indexTypeUint8
      Returns:
      this builder for use in a chained invocation
    • setDynamicRenderingLocalRead

      public final VulkanPhysicalDeviceFeatures14.Builder setDynamicRenderingLocalRead(boolean dynamicRenderingLocalRead)
      Initializes the value for the dynamicRenderingLocalRead attribute.

      If not set, this attribute will have a default value as returned by the initializer of dynamicRenderingLocalRead.

      Parameters:
      dynamicRenderingLocalRead - The value for dynamicRenderingLocalRead
      Returns:
      this builder for use in a chained invocation
    • setMaintenance5

      public final VulkanPhysicalDeviceFeatures14.Builder setMaintenance5(boolean maintenance5)
      Initializes the value for the maintenance5 attribute.

      If not set, this attribute will have a default value as returned by the initializer of maintenance5.

      Parameters:
      maintenance5 - The value for maintenance5
      Returns:
      this builder for use in a chained invocation
    • setMaintenance6

      public final VulkanPhysicalDeviceFeatures14.Builder setMaintenance6(boolean maintenance6)
      Initializes the value for the maintenance6 attribute.

      If not set, this attribute will have a default value as returned by the initializer of maintenance6.

      Parameters:
      maintenance6 - The value for maintenance6
      Returns:
      this builder for use in a chained invocation
    • setPipelineRobustness

      public final VulkanPhysicalDeviceFeatures14.Builder setPipelineRobustness(boolean pipelineRobustness)
      Initializes the value for the pipelineRobustness attribute.

      If not set, this attribute will have a default value as returned by the initializer of pipelineRobustness.

      Parameters:
      pipelineRobustness - The value for pipelineRobustness
      Returns:
      this builder for use in a chained invocation
    • setHostImageCopy

      public final VulkanPhysicalDeviceFeatures14.Builder setHostImageCopy(boolean hostImageCopy)
      Initializes the value for the hostImageCopy attribute.

      If not set, this attribute will have a default value as returned by the initializer of hostImageCopy.

      Parameters:
      hostImageCopy - The value for hostImageCopy
      Returns:
      this builder for use in a chained invocation
    • setPushDescriptor

      public final VulkanPhysicalDeviceFeatures14.Builder setPushDescriptor(boolean pushDescriptor)
      Initializes the value for the pushDescriptor attribute.

      If not set, this attribute will have a default value as returned by the initializer of pushDescriptor.

      Parameters:
      pushDescriptor - The value for pushDescriptor
      Returns:
      this builder for use in a chained invocation
    • build

      Returns:
      An immutable instance of VulkanPhysicalDeviceFeatures14
      Throws:
      IllegalStateException - if any required attributes are missing