# 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 Summary

  Modifier and Type
  Method
  Description
  `VulkanPhysicalDeviceFeatures14`
  `build()`
  Builds a new `VulkanPhysicalDeviceFeatures14`.
  `final VulkanPhysicalDeviceFeatures14.Builder`
  `from(VulkanPhysicalDeviceFeatures14Type instance)`
  Fill a builder with attribute values from the provided `VulkanPhysicalDeviceFeatures14Type` instance.
  `final VulkanPhysicalDeviceFeatures14.Builder`
  `setBresenhamLines(boolean bresenhamLines)`
  Initializes the value for the `bresenhamLines` attribute.
  `final VulkanPhysicalDeviceFeatures14.Builder`
  `setDynamicRenderingLocalRead(boolean dynamicRenderingLocalRead)`
  Initializes the value for the `dynamicRenderingLocalRead` attribute.
  `final VulkanPhysicalDeviceFeatures14.Builder`
  `setGlobalPriorityQuery(boolean globalPriorityQuery)`
  Initializes the value for the `globalPriorityQuery` attribute.
  `final VulkanPhysicalDeviceFeatures14.Builder`
  `setHostImageCopy(boolean hostImageCopy)`
  Initializes the value for the `hostImageCopy` attribute.
  `final VulkanPhysicalDeviceFeatures14.Builder`
  `setIndexTypeUint8(boolean indexTypeUint8)`
  Initializes the value for the `indexTypeUint8` attribute.
  `final VulkanPhysicalDeviceFeatures14.Builder`
  `setMaintenance5(boolean maintenance5)`
  Initializes the value for the `maintenance5` attribute.
  `final VulkanPhysicalDeviceFeatures14.Builder`
  `setMaintenance6(boolean maintenance6)`
  Initializes the value for the `maintenance6` attribute.
  `final VulkanPhysicalDeviceFeatures14.Builder`
  `setPipelineRobustness(boolean pipelineRobustness)`
  Initializes the value for the `pipelineRobustness` attribute.
  `final VulkanPhysicalDeviceFeatures14.Builder`
  `setPushDescriptor(boolean pushDescriptor)`
  Initializes the value for the `pushDescriptor` attribute.
  `final VulkanPhysicalDeviceFeatures14.Builder`
  `setRectangularLines(boolean rectangularLines)`
  Initializes the value for the `rectangularLines` attribute.
  `final VulkanPhysicalDeviceFeatures14.Builder`
  `setShaderExpectAssume(boolean shaderExpectAssume)`
  Initializes the value for the `shaderExpectAssume` attribute.
  `final VulkanPhysicalDeviceFeatures14.Builder`
  `setShaderFloatControls2(boolean shaderFloatControls2)`
  Initializes the value for the `shaderFloatControls2` attribute.
  `final VulkanPhysicalDeviceFeatures14.Builder`
  `setShaderSubgroupRotate(boolean shaderSubgroupRotate)`
  Initializes the value for the `shaderSubgroupRotate` attribute.
  `final VulkanPhysicalDeviceFeatures14.Builder`
  `setShaderSubgroupRotateClustered(boolean shaderSubgroupRotateClustered)`
  Initializes the value for the `shaderSubgroupRotateClustered` attribute.
  `final VulkanPhysicalDeviceFeatures14.Builder`
  `setSmoothLines(boolean smoothLines)`
  Initializes the value for the `smoothLines` attribute.
  `final VulkanPhysicalDeviceFeatures14.Builder`
  `setStippledRectangularLines(boolean stippledRectangularLines)`
  Initializes the value for the `stippledRectangularLines` attribute.
  `final VulkanPhysicalDeviceFeatures14.Builder`
  `setStippledSmoothLines(boolean stippledSmoothLines)`
  Initializes the value for the `stippledSmoothLines` attribute.
  `final VulkanPhysicalDeviceFeatures14.Builder`
  `setVertexAttributeInstanceRateDivisor(boolean vertexAttributeInstanceRateDivisor)`
  Initializes the value for the `vertexAttributeInstanceRateDivisor` attribute.
  `final VulkanPhysicalDeviceFeatures14.Builder`
  `setVertexAttributeInstanceRateZeroDivisor(boolean vertexAttributeInstanceRateZeroDivisor)`
  Initializes the value for the `vertexAttributeInstanceRateZeroDivisor` attribute.

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Method Details

  - ### from

    public final VulkanPhysicalDeviceFeatures14.Builder from(VulkanPhysicalDeviceFeatures14Type instance)
    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

    public VulkanPhysicalDeviceFeatures14 build()
    Builds a new `VulkanPhysicalDeviceFeatures14`.
    Returns:
      An immutable instance of VulkanPhysicalDeviceFeatures14
    Throws:
      `IllegalStateException` - if any required attributes are missing