Class VulkanPhysicalDeviceFeatures13.Builder

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

public static final class VulkanPhysicalDeviceFeatures13.Builder extends Object
Builds instances of type VulkanPhysicalDeviceFeatures13. 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 VulkanPhysicalDeviceFeatures13Type 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
    • setRobustImageAccess

      public final VulkanPhysicalDeviceFeatures13.Builder setRobustImageAccess(boolean robustImageAccess)
      Initializes the value for the robustImageAccess attribute.

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

      Parameters:
      robustImageAccess - The value for robustImageAccess
      Returns:
      this builder for use in a chained invocation
    • setInlineUniformBlock

      public final VulkanPhysicalDeviceFeatures13.Builder setInlineUniformBlock(boolean inlineUniformBlock)
      Initializes the value for the inlineUniformBlock attribute.

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

      Parameters:
      inlineUniformBlock - The value for inlineUniformBlock
      Returns:
      this builder for use in a chained invocation
    • setDescriptorBindingInlineUniformBlockUpdateAfterBind

      public final VulkanPhysicalDeviceFeatures13.Builder setDescriptorBindingInlineUniformBlockUpdateAfterBind(boolean descriptorBindingInlineUniformBlockUpdateAfterBind)
      Initializes the value for the descriptorBindingInlineUniformBlockUpdateAfterBind attribute.

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

      Parameters:
      descriptorBindingInlineUniformBlockUpdateAfterBind - The value for descriptorBindingInlineUniformBlockUpdateAfterBind
      Returns:
      this builder for use in a chained invocation
    • setPipelineCreationCacheControl

      public final VulkanPhysicalDeviceFeatures13.Builder setPipelineCreationCacheControl(boolean pipelineCreationCacheControl)
      Initializes the value for the pipelineCreationCacheControl attribute.

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

      Parameters:
      pipelineCreationCacheControl - The value for pipelineCreationCacheControl
      Returns:
      this builder for use in a chained invocation
    • setPrivateData

      public final VulkanPhysicalDeviceFeatures13.Builder setPrivateData(boolean privateData)
      Initializes the value for the privateData attribute.

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

      Parameters:
      privateData - The value for privateData
      Returns:
      this builder for use in a chained invocation
    • setShaderDemoteToHelperInvocation

      public final VulkanPhysicalDeviceFeatures13.Builder setShaderDemoteToHelperInvocation(boolean shaderDemoteToHelperInvocation)
      Initializes the value for the shaderDemoteToHelperInvocation attribute.

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

      Parameters:
      shaderDemoteToHelperInvocation - The value for shaderDemoteToHelperInvocation
      Returns:
      this builder for use in a chained invocation
    • setShaderTerminateInvocation

      public final VulkanPhysicalDeviceFeatures13.Builder setShaderTerminateInvocation(boolean shaderTerminateInvocation)
      Initializes the value for the shaderTerminateInvocation attribute.

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

      Parameters:
      shaderTerminateInvocation - The value for shaderTerminateInvocation
      Returns:
      this builder for use in a chained invocation
    • setSubgroupSizeControl

      public final VulkanPhysicalDeviceFeatures13.Builder setSubgroupSizeControl(boolean subgroupSizeControl)
      Initializes the value for the subgroupSizeControl attribute.

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

      Parameters:
      subgroupSizeControl - The value for subgroupSizeControl
      Returns:
      this builder for use in a chained invocation
    • setComputeFullSubgroups

      public final VulkanPhysicalDeviceFeatures13.Builder setComputeFullSubgroups(boolean computeFullSubgroups)
      Initializes the value for the computeFullSubgroups attribute.

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

      Parameters:
      computeFullSubgroups - The value for computeFullSubgroups
      Returns:
      this builder for use in a chained invocation
    • setSynchronization2

      public final VulkanPhysicalDeviceFeatures13.Builder setSynchronization2(boolean synchronization2)
      Initializes the value for the synchronization2 attribute.

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

      Parameters:
      synchronization2 - The value for synchronization2
      Returns:
      this builder for use in a chained invocation
    • setTextureCompressionASTC_HDR

      public final VulkanPhysicalDeviceFeatures13.Builder setTextureCompressionASTC_HDR(boolean textureCompressionASTC_HDR)
      Initializes the value for the textureCompressionASTC_HDR attribute.

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

      Parameters:
      textureCompressionASTC_HDR - The value for textureCompressionASTC_HDR
      Returns:
      this builder for use in a chained invocation
    • setShaderZeroInitializeWorkgroupMemory

      public final VulkanPhysicalDeviceFeatures13.Builder setShaderZeroInitializeWorkgroupMemory(boolean shaderZeroInitializeWorkgroupMemory)
      Initializes the value for the shaderZeroInitializeWorkgroupMemory attribute.

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

      Parameters:
      shaderZeroInitializeWorkgroupMemory - The value for shaderZeroInitializeWorkgroupMemory
      Returns:
      this builder for use in a chained invocation
    • setDynamicRendering

      public final VulkanPhysicalDeviceFeatures13.Builder setDynamicRendering(boolean dynamicRendering)
      Initializes the value for the dynamicRendering attribute.

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

      Parameters:
      dynamicRendering - The value for dynamicRendering
      Returns:
      this builder for use in a chained invocation
    • setShaderIntegerDotProduct

      public final VulkanPhysicalDeviceFeatures13.Builder setShaderIntegerDotProduct(boolean shaderIntegerDotProduct)
      Initializes the value for the shaderIntegerDotProduct attribute.

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

      Parameters:
      shaderIntegerDotProduct - The value for shaderIntegerDotProduct
      Returns:
      this builder for use in a chained invocation
    • setMaintenance4

      public final VulkanPhysicalDeviceFeatures13.Builder setMaintenance4(boolean maintenance4)
      Initializes the value for the maintenance4 attribute.

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

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

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