# Class VulkanPhysicalDeviceFeatures12.Builder

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

Enclosing class:
  `VulkanPhysicalDeviceFeatures12`

public static final class VulkanPhysicalDeviceFeatures12.Builder extends Object
Builds instances of type `VulkanPhysicalDeviceFeatures12`. 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
  `VulkanPhysicalDeviceFeatures12`
  `build()`
  Builds a new `VulkanPhysicalDeviceFeatures12`.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `from(VulkanPhysicalDeviceFeatures12Type instance)`
  Fill a builder with attribute values from the provided `VulkanPhysicalDeviceFeatures12Type` instance.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setBufferDeviceAddress(boolean bufferDeviceAddress)`
  Initializes the value for the `bufferDeviceAddress` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setBufferDeviceAddressCaptureReplay(boolean bufferDeviceAddressCaptureReplay)`
  Initializes the value for the `bufferDeviceAddressCaptureReplay` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setBufferDeviceAddressMultiDevice(boolean bufferDeviceAddressMultiDevice)`
  Initializes the value for the `bufferDeviceAddressMultiDevice` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setDescriptorBindingPartiallyBound(boolean descriptorBindingPartiallyBound)`
  Initializes the value for the `descriptorBindingPartiallyBound` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setDescriptorBindingSampledImageUpdateAfterBind(boolean descriptorBindingSampledImageUpdateAfterBind)`
  Initializes the value for the `descriptorBindingSampledImageUpdateAfterBind` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setDescriptorBindingStorageBufferUpdateAfterBind(boolean descriptorBindingStorageBufferUpdateAfterBind)`
  Initializes the value for the `descriptorBindingStorageBufferUpdateAfterBind` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setDescriptorBindingStorageImageUpdateAfterBind(boolean descriptorBindingStorageImageUpdateAfterBind)`
  Initializes the value for the `descriptorBindingStorageImageUpdateAfterBind` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setDescriptorBindingStorageTexelBufferUpdateAfterBind(boolean descriptorBindingStorageTexelBufferUpdateAfterBind)`
  Initializes the value for the `descriptorBindingStorageTexelBufferUpdateAfterBind` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setDescriptorBindingUniformBufferUpdateAfterBind(boolean descriptorBindingUniformBufferUpdateAfterBind)`
  Initializes the value for the `descriptorBindingUniformBufferUpdateAfterBind` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setDescriptorBindingUniformTexelBufferUpdateAfterBind(boolean descriptorBindingUniformTexelBufferUpdateAfterBind)`
  Initializes the value for the `descriptorBindingUniformTexelBufferUpdateAfterBind` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setDescriptorBindingUpdateUnusedWhilePending(boolean descriptorBindingUpdateUnusedWhilePending)`
  Initializes the value for the `descriptorBindingUpdateUnusedWhilePending` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setDescriptorBindingVariableDescriptorCount(boolean descriptorBindingVariableDescriptorCount)`
  Initializes the value for the `descriptorBindingVariableDescriptorCount` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setDescriptorIndexing(boolean descriptorIndexing)`
  Initializes the value for the `descriptorIndexing` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setDrawIndirectCount(boolean drawIndirectCount)`
  Initializes the value for the `drawIndirectCount` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setHostQueryReset(boolean hostQueryReset)`
  Initializes the value for the `hostQueryReset` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setImagelessFramebuffer(boolean imagelessFramebuffer)`
  Initializes the value for the `imagelessFramebuffer` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setRuntimeDescriptorArray(boolean runtimeDescriptorArray)`
  Initializes the value for the `runtimeDescriptorArray` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setSamplerFilterMinmax(boolean samplerFilterMinmax)`
  Initializes the value for the `samplerFilterMinmax` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setSamplerMirrorClampToEdge(boolean samplerMirrorClampToEdge)`
  Initializes the value for the `samplerMirrorClampToEdge` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setScalarBlockLayout(boolean scalarBlockLayout)`
  Initializes the value for the `scalarBlockLayout` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setSeparateDepthStencilLayouts(boolean separateDepthStencilLayouts)`
  Initializes the value for the `separateDepthStencilLayouts` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setShaderBufferInt64Atomics(boolean shaderBufferInt64Atomics)`
  Initializes the value for the `shaderBufferInt64Atomics` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setShaderFloat16(boolean shaderFloat16)`
  Initializes the value for the `shaderFloat16` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setShaderInputAttachmentArrayDynamicIndexing(boolean shaderInputAttachmentArrayDynamicIndexing)`
  Initializes the value for the `shaderInputAttachmentArrayDynamicIndexing` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setShaderInputAttachmentArrayNonUniformIndexing(boolean shaderInputAttachmentArrayNonUniformIndexing)`
  Initializes the value for the `shaderInputAttachmentArrayNonUniformIndexing` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setShaderInt8(boolean shaderInt8)`
  Initializes the value for the `shaderInt8` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setShaderOutputLayer(boolean shaderOutputLayer)`
  Initializes the value for the `shaderOutputLayer` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setShaderOutputViewportIndex(boolean shaderOutputViewportIndex)`
  Initializes the value for the `shaderOutputViewportIndex` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setShaderSampledImageArrayNonUniformIndexing(boolean shaderSampledImageArrayNonUniformIndexing)`
  Initializes the value for the `shaderSampledImageArrayNonUniformIndexing` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setShaderSharedInt64Atomics(boolean shaderSharedInt64Atomics)`
  Initializes the value for the `shaderSharedInt64Atomics` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setShaderStorageBufferArrayNonUniformIndexing(boolean shaderStorageBufferArrayNonUniformIndexing)`
  Initializes the value for the `shaderStorageBufferArrayNonUniformIndexing` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setShaderStorageImageArrayNonUniformIndexing(boolean shaderStorageImageArrayNonUniformIndexing)`
  Initializes the value for the `shaderStorageImageArrayNonUniformIndexing` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setShaderStorageTexelBufferArrayDynamicIndexing(boolean shaderStorageTexelBufferArrayDynamicIndexing)`
  Initializes the value for the `shaderStorageTexelBufferArrayDynamicIndexing` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setShaderStorageTexelBufferArrayNonUniformIndexing(boolean shaderStorageTexelBufferArrayNonUniformIndexing)`
  Initializes the value for the `shaderStorageTexelBufferArrayNonUniformIndexing` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setShaderSubgroupExtendedTypes(boolean shaderSubgroupExtendedTypes)`
  Initializes the value for the `shaderSubgroupExtendedTypes` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setShaderUniformBufferArrayNonUniformIndexing(boolean shaderUniformBufferArrayNonUniformIndexing)`
  Initializes the value for the `shaderUniformBufferArrayNonUniformIndexing` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setShaderUniformTexelBufferArrayDynamicIndexing(boolean shaderUniformTexelBufferArrayDynamicIndexing)`
  Initializes the value for the `shaderUniformTexelBufferArrayDynamicIndexing` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setShaderUniformTexelBufferArrayNonUniformIndexing(boolean shaderUniformTexelBufferArrayNonUniformIndexing)`
  Initializes the value for the `shaderUniformTexelBufferArrayNonUniformIndexing` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setStorageBuffer8BitAccess(boolean storageBuffer8BitAccess)`
  Initializes the value for the `storageBuffer8BitAccess` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setStoragePushConstant8(boolean storagePushConstant8)`
  Initializes the value for the `storagePushConstant8` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setSubgroupBroadcastDynamicId(boolean subgroupBroadcastDynamicId)`
  Initializes the value for the `subgroupBroadcastDynamicId` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setTimelineSemaphore(boolean timelineSemaphore)`
  Initializes the value for the `timelineSemaphore` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setUniformAndStorageBuffer8BitAccess(boolean uniformAndStorageBuffer8BitAccess)`
  Initializes the value for the `uniformAndStorageBuffer8BitAccess` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setUniformBufferStandardLayout(boolean uniformBufferStandardLayout)`
  Initializes the value for the `uniformBufferStandardLayout` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setVulkanMemoryModel(boolean vulkanMemoryModel)`
  Initializes the value for the `vulkanMemoryModel` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setVulkanMemoryModelAvailabilityVisibilityChains(boolean vulkanMemoryModelAvailabilityVisibilityChains)`
  Initializes the value for the `vulkanMemoryModelAvailabilityVisibilityChains` attribute.
  `final VulkanPhysicalDeviceFeatures12.Builder`
  `setVulkanMemoryModelDeviceScope(boolean vulkanMemoryModelDeviceScope)`
  Initializes the value for the `vulkanMemoryModelDeviceScope` attribute.

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

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

- ## Method Details

  - ### from

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

  - ### setBufferDeviceAddress

    public final VulkanPhysicalDeviceFeatures12.Builder setBufferDeviceAddress(boolean bufferDeviceAddress)
    Initializes the value for the `bufferDeviceAddress` attribute.

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

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

  - ### setBufferDeviceAddressCaptureReplay

    public final VulkanPhysicalDeviceFeatures12.Builder setBufferDeviceAddressCaptureReplay(boolean bufferDeviceAddressCaptureReplay)
    Initializes the value for the `bufferDeviceAddressCaptureReplay` attribute.

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

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

  - ### setBufferDeviceAddressMultiDevice

    public final VulkanPhysicalDeviceFeatures12.Builder setBufferDeviceAddressMultiDevice(boolean bufferDeviceAddressMultiDevice)
    Initializes the value for the `bufferDeviceAddressMultiDevice` attribute.

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

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

  - ### setDescriptorBindingPartiallyBound

    public final VulkanPhysicalDeviceFeatures12.Builder setDescriptorBindingPartiallyBound(boolean descriptorBindingPartiallyBound)
    Initializes the value for the `descriptorBindingPartiallyBound` attribute.

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

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

  - ### setDescriptorBindingSampledImageUpdateAfterBind

    public final VulkanPhysicalDeviceFeatures12.Builder setDescriptorBindingSampledImageUpdateAfterBind(boolean descriptorBindingSampledImageUpdateAfterBind)
    Initializes the value for the `descriptorBindingSampledImageUpdateAfterBind` attribute.

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

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

  - ### setDescriptorBindingStorageBufferUpdateAfterBind

    public final VulkanPhysicalDeviceFeatures12.Builder setDescriptorBindingStorageBufferUpdateAfterBind(boolean descriptorBindingStorageBufferUpdateAfterBind)
    Initializes the value for the `descriptorBindingStorageBufferUpdateAfterBind` attribute.

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

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

  - ### setDescriptorBindingStorageImageUpdateAfterBind

    public final VulkanPhysicalDeviceFeatures12.Builder setDescriptorBindingStorageImageUpdateAfterBind(boolean descriptorBindingStorageImageUpdateAfterBind)
    Initializes the value for the `descriptorBindingStorageImageUpdateAfterBind` attribute.

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

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

  - ### setDescriptorBindingStorageTexelBufferUpdateAfterBind

    public final VulkanPhysicalDeviceFeatures12.Builder setDescriptorBindingStorageTexelBufferUpdateAfterBind(boolean descriptorBindingStorageTexelBufferUpdateAfterBind)
    Initializes the value for the `descriptorBindingStorageTexelBufferUpdateAfterBind` attribute.

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

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

  - ### setDescriptorBindingUniformBufferUpdateAfterBind

    public final VulkanPhysicalDeviceFeatures12.Builder setDescriptorBindingUniformBufferUpdateAfterBind(boolean descriptorBindingUniformBufferUpdateAfterBind)
    Initializes the value for the `descriptorBindingUniformBufferUpdateAfterBind` attribute.

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

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

  - ### setDescriptorBindingUniformTexelBufferUpdateAfterBind

    public final VulkanPhysicalDeviceFeatures12.Builder setDescriptorBindingUniformTexelBufferUpdateAfterBind(boolean descriptorBindingUniformTexelBufferUpdateAfterBind)
    Initializes the value for the `descriptorBindingUniformTexelBufferUpdateAfterBind` attribute.

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

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

  - ### setDescriptorBindingUpdateUnusedWhilePending

    public final VulkanPhysicalDeviceFeatures12.Builder setDescriptorBindingUpdateUnusedWhilePending(boolean descriptorBindingUpdateUnusedWhilePending)
    Initializes the value for the `descriptorBindingUpdateUnusedWhilePending` attribute.

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

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

  - ### setDescriptorBindingVariableDescriptorCount

    public final VulkanPhysicalDeviceFeatures12.Builder setDescriptorBindingVariableDescriptorCount(boolean descriptorBindingVariableDescriptorCount)
    Initializes the value for the `descriptorBindingVariableDescriptorCount` attribute.

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

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

  - ### setDescriptorIndexing

    public final VulkanPhysicalDeviceFeatures12.Builder setDescriptorIndexing(boolean descriptorIndexing)
    Initializes the value for the `descriptorIndexing` attribute.

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

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

  - ### setDrawIndirectCount

    public final VulkanPhysicalDeviceFeatures12.Builder setDrawIndirectCount(boolean drawIndirectCount)
    Initializes the value for the `drawIndirectCount` attribute.

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

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

  - ### setHostQueryReset

    public final VulkanPhysicalDeviceFeatures12.Builder setHostQueryReset(boolean hostQueryReset)
    Initializes the value for the `hostQueryReset` attribute.

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

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

  - ### setImagelessFramebuffer

    public final VulkanPhysicalDeviceFeatures12.Builder setImagelessFramebuffer(boolean imagelessFramebuffer)
    Initializes the value for the `imagelessFramebuffer` attribute.

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

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

  - ### setRuntimeDescriptorArray

    public final VulkanPhysicalDeviceFeatures12.Builder setRuntimeDescriptorArray(boolean runtimeDescriptorArray)
    Initializes the value for the `runtimeDescriptorArray` attribute.

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

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

  - ### setSamplerFilterMinmax

    public final VulkanPhysicalDeviceFeatures12.Builder setSamplerFilterMinmax(boolean samplerFilterMinmax)
    Initializes the value for the `samplerFilterMinmax` attribute.

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

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

  - ### setSamplerMirrorClampToEdge

    public final VulkanPhysicalDeviceFeatures12.Builder setSamplerMirrorClampToEdge(boolean samplerMirrorClampToEdge)
    Initializes the value for the `samplerMirrorClampToEdge` attribute.

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

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

  - ### setScalarBlockLayout

    public final VulkanPhysicalDeviceFeatures12.Builder setScalarBlockLayout(boolean scalarBlockLayout)
    Initializes the value for the `scalarBlockLayout` attribute.

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

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

  - ### setSeparateDepthStencilLayouts

    public final VulkanPhysicalDeviceFeatures12.Builder setSeparateDepthStencilLayouts(boolean separateDepthStencilLayouts)
    Initializes the value for the `separateDepthStencilLayouts` attribute.

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

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

  - ### setShaderBufferInt64Atomics

    public final VulkanPhysicalDeviceFeatures12.Builder setShaderBufferInt64Atomics(boolean shaderBufferInt64Atomics)
    Initializes the value for the `shaderBufferInt64Atomics` attribute.

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

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

  - ### setShaderFloat16

    public final VulkanPhysicalDeviceFeatures12.Builder setShaderFloat16(boolean shaderFloat16)
    Initializes the value for the `shaderFloat16` attribute.

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

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

  - ### setShaderInputAttachmentArrayDynamicIndexing

    public final VulkanPhysicalDeviceFeatures12.Builder setShaderInputAttachmentArrayDynamicIndexing(boolean shaderInputAttachmentArrayDynamicIndexing)
    Initializes the value for the `shaderInputAttachmentArrayDynamicIndexing` attribute.

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

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

  - ### setShaderInputAttachmentArrayNonUniformIndexing

    public final VulkanPhysicalDeviceFeatures12.Builder setShaderInputAttachmentArrayNonUniformIndexing(boolean shaderInputAttachmentArrayNonUniformIndexing)
    Initializes the value for the `shaderInputAttachmentArrayNonUniformIndexing` attribute.

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

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

  - ### setShaderInt8

    public final VulkanPhysicalDeviceFeatures12.Builder setShaderInt8(boolean shaderInt8)
    Initializes the value for the `shaderInt8` attribute.

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

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

  - ### setShaderOutputLayer

    public final VulkanPhysicalDeviceFeatures12.Builder setShaderOutputLayer(boolean shaderOutputLayer)
    Initializes the value for the `shaderOutputLayer` attribute.

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

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

  - ### setShaderOutputViewportIndex

    public final VulkanPhysicalDeviceFeatures12.Builder setShaderOutputViewportIndex(boolean shaderOutputViewportIndex)
    Initializes the value for the `shaderOutputViewportIndex` attribute.

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

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

  - ### setShaderSampledImageArrayNonUniformIndexing

    public final VulkanPhysicalDeviceFeatures12.Builder setShaderSampledImageArrayNonUniformIndexing(boolean shaderSampledImageArrayNonUniformIndexing)
    Initializes the value for the `shaderSampledImageArrayNonUniformIndexing` attribute.

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

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

  - ### setShaderSharedInt64Atomics

    public final VulkanPhysicalDeviceFeatures12.Builder setShaderSharedInt64Atomics(boolean shaderSharedInt64Atomics)
    Initializes the value for the `shaderSharedInt64Atomics` attribute.

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

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

  - ### setShaderStorageBufferArrayNonUniformIndexing

    public final VulkanPhysicalDeviceFeatures12.Builder setShaderStorageBufferArrayNonUniformIndexing(boolean shaderStorageBufferArrayNonUniformIndexing)
    Initializes the value for the `shaderStorageBufferArrayNonUniformIndexing` attribute.

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

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

  - ### setShaderStorageImageArrayNonUniformIndexing

    public final VulkanPhysicalDeviceFeatures12.Builder setShaderStorageImageArrayNonUniformIndexing(boolean shaderStorageImageArrayNonUniformIndexing)
    Initializes the value for the `shaderStorageImageArrayNonUniformIndexing` attribute.

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

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

  - ### setShaderStorageTexelBufferArrayDynamicIndexing

    public final VulkanPhysicalDeviceFeatures12.Builder setShaderStorageTexelBufferArrayDynamicIndexing(boolean shaderStorageTexelBufferArrayDynamicIndexing)
    Initializes the value for the `shaderStorageTexelBufferArrayDynamicIndexing` attribute.

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

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

  - ### setShaderStorageTexelBufferArrayNonUniformIndexing

    public final VulkanPhysicalDeviceFeatures12.Builder setShaderStorageTexelBufferArrayNonUniformIndexing(boolean shaderStorageTexelBufferArrayNonUniformIndexing)
    Initializes the value for the `shaderStorageTexelBufferArrayNonUniformIndexing` attribute.

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

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

  - ### setShaderSubgroupExtendedTypes

    public final VulkanPhysicalDeviceFeatures12.Builder setShaderSubgroupExtendedTypes(boolean shaderSubgroupExtendedTypes)
    Initializes the value for the `shaderSubgroupExtendedTypes` attribute.

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

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

  - ### setShaderUniformBufferArrayNonUniformIndexing

    public final VulkanPhysicalDeviceFeatures12.Builder setShaderUniformBufferArrayNonUniformIndexing(boolean shaderUniformBufferArrayNonUniformIndexing)
    Initializes the value for the `shaderUniformBufferArrayNonUniformIndexing` attribute.

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

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

  - ### setShaderUniformTexelBufferArrayDynamicIndexing

    public final VulkanPhysicalDeviceFeatures12.Builder setShaderUniformTexelBufferArrayDynamicIndexing(boolean shaderUniformTexelBufferArrayDynamicIndexing)
    Initializes the value for the `shaderUniformTexelBufferArrayDynamicIndexing` attribute.

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

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

  - ### setShaderUniformTexelBufferArrayNonUniformIndexing

    public final VulkanPhysicalDeviceFeatures12.Builder setShaderUniformTexelBufferArrayNonUniformIndexing(boolean shaderUniformTexelBufferArrayNonUniformIndexing)
    Initializes the value for the `shaderUniformTexelBufferArrayNonUniformIndexing` attribute.

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

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

  - ### setStorageBuffer8BitAccess

    public final VulkanPhysicalDeviceFeatures12.Builder setStorageBuffer8BitAccess(boolean storageBuffer8BitAccess)
    Initializes the value for the `storageBuffer8BitAccess` attribute.

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

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

  - ### setStoragePushConstant8

    public final VulkanPhysicalDeviceFeatures12.Builder setStoragePushConstant8(boolean storagePushConstant8)
    Initializes the value for the `storagePushConstant8` attribute.

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

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

  - ### setSubgroupBroadcastDynamicId

    public final VulkanPhysicalDeviceFeatures12.Builder setSubgroupBroadcastDynamicId(boolean subgroupBroadcastDynamicId)
    Initializes the value for the `subgroupBroadcastDynamicId` attribute.

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

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

  - ### setTimelineSemaphore

    public final VulkanPhysicalDeviceFeatures12.Builder setTimelineSemaphore(boolean timelineSemaphore)
    Initializes the value for the `timelineSemaphore` attribute.

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

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

  - ### setUniformAndStorageBuffer8BitAccess

    public final VulkanPhysicalDeviceFeatures12.Builder setUniformAndStorageBuffer8BitAccess(boolean uniformAndStorageBuffer8BitAccess)
    Initializes the value for the `uniformAndStorageBuffer8BitAccess` attribute.

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

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

  - ### setUniformBufferStandardLayout

    public final VulkanPhysicalDeviceFeatures12.Builder setUniformBufferStandardLayout(boolean uniformBufferStandardLayout)
    Initializes the value for the `uniformBufferStandardLayout` attribute.

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

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

  - ### setVulkanMemoryModel

    public final VulkanPhysicalDeviceFeatures12.Builder setVulkanMemoryModel(boolean vulkanMemoryModel)
    Initializes the value for the `vulkanMemoryModel` attribute.

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

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

  - ### setVulkanMemoryModelAvailabilityVisibilityChains

    public final VulkanPhysicalDeviceFeatures12.Builder setVulkanMemoryModelAvailabilityVisibilityChains(boolean vulkanMemoryModelAvailabilityVisibilityChains)
    Initializes the value for the `vulkanMemoryModelAvailabilityVisibilityChains` attribute.

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

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

  - ### setVulkanMemoryModelDeviceScope

    public final VulkanPhysicalDeviceFeatures12.Builder setVulkanMemoryModelDeviceScope(boolean vulkanMemoryModelDeviceScope)
    Initializes the value for the `vulkanMemoryModelDeviceScope` attribute.

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

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

  - ### build

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