# Class VulkanPhysicalDeviceFeatures11.Builder

java.lang.Object
com.io7m.jcoronado.api.VulkanPhysicalDeviceFeatures11.Builder

Enclosing class:
  `VulkanPhysicalDeviceFeatures11`

public static final class VulkanPhysicalDeviceFeatures11.Builder extends Object
Builds instances of type `VulkanPhysicalDeviceFeatures11`. 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
  `VulkanPhysicalDeviceFeatures11`
  `build()`
  Builds a new `VulkanPhysicalDeviceFeatures11`.
  `final VulkanPhysicalDeviceFeatures11.Builder`
  `from(VulkanPhysicalDeviceFeatures11Type instance)`
  Fill a builder with attribute values from the provided `VulkanPhysicalDeviceFeatures11Type` instance.
  `final VulkanPhysicalDeviceFeatures11.Builder`
  `setMultiview(boolean multiview)`
  Initializes the value for the `multiview` attribute.
  `final VulkanPhysicalDeviceFeatures11.Builder`
  `setMultiviewGeometryShader(boolean multiviewGeometryShader)`
  Initializes the value for the `multiviewGeometryShader` attribute.
  `final VulkanPhysicalDeviceFeatures11.Builder`
  `setMultiviewTessellationShader(boolean multiviewTessellationShader)`
  Initializes the value for the `multiviewTessellationShader` attribute.
  `final VulkanPhysicalDeviceFeatures11.Builder`
  `setProtectedMemory(boolean protectedMemory)`
  Initializes the value for the `protectedMemory` attribute.
  `final VulkanPhysicalDeviceFeatures11.Builder`
  `setSamplerYcbcrConversion(boolean samplerYcbcrConversion)`
  Initializes the value for the `samplerYcbcrConversion` attribute.
  `final VulkanPhysicalDeviceFeatures11.Builder`
  `setShaderDrawParameters(boolean shaderDrawParameters)`
  Initializes the value for the `shaderDrawParameters` attribute.
  `final VulkanPhysicalDeviceFeatures11.Builder`
  `setStorageBuffer16BitAccess(boolean storageBuffer16BitAccess)`
  Initializes the value for the `storageBuffer16BitAccess` attribute.
  `final VulkanPhysicalDeviceFeatures11.Builder`
  `setStorageInputOutput16(boolean storageInputOutput16)`
  Initializes the value for the `storageInputOutput16` attribute.
  `final VulkanPhysicalDeviceFeatures11.Builder`
  `setStoragePushConstant16(boolean storagePushConstant16)`
  Initializes the value for the `storagePushConstant16` attribute.
  `final VulkanPhysicalDeviceFeatures11.Builder`
  `setUniformAndStorageBuffer16BitAccess(boolean uniformAndStorageBuffer16BitAccess)`
  Initializes the value for the `uniformAndStorageBuffer16BitAccess` attribute.
  `final VulkanPhysicalDeviceFeatures11.Builder`
  `setVariablePointers(boolean variablePointers)`
  Initializes the value for the `variablePointers` attribute.
  `final VulkanPhysicalDeviceFeatures11.Builder`
  `setVariablePointersStorageBuffer(boolean variablePointersStorageBuffer)`
  Initializes the value for the `variablePointersStorageBuffer` attribute.

  ### Methods inherited from class java.lang.Object

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

- ## Method Details

  - ### from

    public final VulkanPhysicalDeviceFeatures11.Builder from(VulkanPhysicalDeviceFeatures11Type instance)
    Fill a builder with attribute values from the provided `VulkanPhysicalDeviceFeatures11Type` 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

  - ### setMultiview

    public final VulkanPhysicalDeviceFeatures11.Builder setMultiview(boolean multiview)
    Initializes the value for the `multiview` attribute.

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

    Parameters:
      `multiview` - The value for multiview
    Returns:
      `this` builder for use in a chained invocation

  - ### setMultiviewGeometryShader

    public final VulkanPhysicalDeviceFeatures11.Builder setMultiviewGeometryShader(boolean multiviewGeometryShader)
    Initializes the value for the `multiviewGeometryShader` attribute.

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

    Parameters:
      `multiviewGeometryShader` - The value for multiviewGeometryShader
    Returns:
      `this` builder for use in a chained invocation

  - ### setMultiviewTessellationShader

    public final VulkanPhysicalDeviceFeatures11.Builder setMultiviewTessellationShader(boolean multiviewTessellationShader)
    Initializes the value for the `multiviewTessellationShader` attribute.

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

    Parameters:
      `multiviewTessellationShader` - The value for multiviewTessellationShader
    Returns:
      `this` builder for use in a chained invocation

  - ### setProtectedMemory

    public final VulkanPhysicalDeviceFeatures11.Builder setProtectedMemory(boolean protectedMemory)
    Initializes the value for the `protectedMemory` attribute.

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

    Parameters:
      `protectedMemory` - The value for protectedMemory
    Returns:
      `this` builder for use in a chained invocation

  - ### setSamplerYcbcrConversion

    public final VulkanPhysicalDeviceFeatures11.Builder setSamplerYcbcrConversion(boolean samplerYcbcrConversion)
    Initializes the value for the `samplerYcbcrConversion` attribute.

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

    Parameters:
      `samplerYcbcrConversion` - The value for samplerYcbcrConversion
    Returns:
      `this` builder for use in a chained invocation

  - ### setShaderDrawParameters

    public final VulkanPhysicalDeviceFeatures11.Builder setShaderDrawParameters(boolean shaderDrawParameters)
    Initializes the value for the `shaderDrawParameters` attribute.

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

    Parameters:
      `shaderDrawParameters` - The value for shaderDrawParameters
    Returns:
      `this` builder for use in a chained invocation

  - ### setStorageBuffer16BitAccess

    public final VulkanPhysicalDeviceFeatures11.Builder setStorageBuffer16BitAccess(boolean storageBuffer16BitAccess)
    Initializes the value for the `storageBuffer16BitAccess` attribute.

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

    Parameters:
      `storageBuffer16BitAccess` - The value for storageBuffer16BitAccess
    Returns:
      `this` builder for use in a chained invocation

  - ### setStorageInputOutput16

    public final VulkanPhysicalDeviceFeatures11.Builder setStorageInputOutput16(boolean storageInputOutput16)
    Initializes the value for the `storageInputOutput16` attribute.

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

    Parameters:
      `storageInputOutput16` - The value for storageInputOutput16
    Returns:
      `this` builder for use in a chained invocation

  - ### setStoragePushConstant16

    public final VulkanPhysicalDeviceFeatures11.Builder setStoragePushConstant16(boolean storagePushConstant16)
    Initializes the value for the `storagePushConstant16` attribute.

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

    Parameters:
      `storagePushConstant16` - The value for storagePushConstant16
    Returns:
      `this` builder for use in a chained invocation

  - ### setUniformAndStorageBuffer16BitAccess

    public final VulkanPhysicalDeviceFeatures11.Builder setUniformAndStorageBuffer16BitAccess(boolean uniformAndStorageBuffer16BitAccess)
    Initializes the value for the `uniformAndStorageBuffer16BitAccess` attribute.

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

    Parameters:
      `uniformAndStorageBuffer16BitAccess` - The value for uniformAndStorageBuffer16BitAccess
    Returns:
      `this` builder for use in a chained invocation

  - ### setVariablePointers

    public final VulkanPhysicalDeviceFeatures11.Builder setVariablePointers(boolean variablePointers)
    Initializes the value for the `variablePointers` attribute.

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

    Parameters:
      `variablePointers` - The value for variablePointers
    Returns:
      `this` builder for use in a chained invocation

  - ### setVariablePointersStorageBuffer

    public final VulkanPhysicalDeviceFeatures11.Builder setVariablePointersStorageBuffer(boolean variablePointersStorageBuffer)
    Initializes the value for the `variablePointersStorageBuffer` attribute.

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

    Parameters:
      `variablePointersStorageBuffer` - The value for variablePointersStorageBuffer
    Returns:
      `this` builder for use in a chained invocation

  - ### build

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