Class VulkanPhysicalDeviceFeatures14

java.lang.Object
com.io7m.jcoronado.api.VulkanPhysicalDeviceFeatures14
All Implemented Interfaces:
VulkanPhysicalDeviceFeatures14Type

public final class VulkanPhysicalDeviceFeatures14 extends Object implements VulkanPhysicalDeviceFeatures14Type
The features supported by a physical Vulkan 1.4 device.
See Also:
  • "VkPhysicalDeviceVulkan14Features"
  • Method Details

    • globalPriorityQuery

      public boolean globalPriorityQuery()
      Indicates whether the implementation supports the ability to query global queue priorities.
      Specified by:
      globalPriorityQuery in interface VulkanPhysicalDeviceFeatures14Type
      Returns:
      true if supported
    • shaderSubgroupRotate

      public boolean shaderSubgroupRotate()
      Indicates whether shader modules can declare the GroupNonUniformRotateKHR capability.
      Specified by:
      shaderSubgroupRotate in interface VulkanPhysicalDeviceFeatures14Type
      Returns:
      true if supported
    • shaderSubgroupRotateClustered

      public boolean shaderSubgroupRotateClustered()
      Indicates whether shader modules can declare the GroupNonUniformClusteredRotateKHR capability.
      Specified by:
      shaderSubgroupRotateClustered in interface VulkanPhysicalDeviceFeatures14Type
      Returns:
      true if supported
    • shaderFloatControls2

      public boolean shaderFloatControls2()
      Indicates whether shader modules can declare the FloatControls2 capability.
      Specified by:
      shaderFloatControls2 in interface VulkanPhysicalDeviceFeatures14Type
      Returns:
      true if supported
    • shaderExpectAssume

      public boolean shaderExpectAssume()
      Indicates whether shader modules can declare the Assume capability.
      Specified by:
      shaderExpectAssume in interface VulkanPhysicalDeviceFeatures14Type
      Returns:
      true if supported
    • rectangularLines

      public boolean rectangularLines()
      Indicates whether the implementation supports the VK_LINE_RASTERIZATION_MODE_RECTANGULAR line rasterization mode.
      Specified by:
      rectangularLines in interface VulkanPhysicalDeviceFeatures14Type
      Returns:
      true if supported
    • bresenhamLines

      public boolean bresenhamLines()
      Indicates whether the implementation supports the VK_LINE_RASTERIZATION_MODE_BRESENHAM line rasterization mode.
      Specified by:
      bresenhamLines in interface VulkanPhysicalDeviceFeatures14Type
      Returns:
      true if supported
    • smoothLines

      public boolean smoothLines()
      Indicates whether the implementation supports smooth lines with a functionally correct and deterministic rasterization coverage mask.
      Specified by:
      smoothLines in interface VulkanPhysicalDeviceFeatures14Type
      Returns:
      true if supported
    • stippledRectangularLines

      public boolean stippledRectangularLines()
      Indicates whether the implementation supports stippled rectangular lines with theVK_LINE_RASTERIZATION_MODE_RECTANGULAR line rasterization mode.
      Specified by:
      stippledRectangularLines in interface VulkanPhysicalDeviceFeatures14Type
      Returns:
      true if supported
    • stippledSmoothLines

      public boolean stippledSmoothLines()
      Indicates whether the implementation supports stippled smooth lines.
      Specified by:
      stippledSmoothLines in interface VulkanPhysicalDeviceFeatures14Type
      Returns:
      true if supported
    • vertexAttributeInstanceRateDivisor

      public boolean vertexAttributeInstanceRateDivisor()
      Indicates whether the implementation supports non-zero divisor values for vertex attribute fetch with divisor.
      Specified by:
      vertexAttributeInstanceRateDivisor in interface VulkanPhysicalDeviceFeatures14Type
      Returns:
      true if supported
    • vertexAttributeInstanceRateZeroDivisor

      public boolean vertexAttributeInstanceRateZeroDivisor()
      Indicates whether the implementation supports a divisor value of zero for vertex attribute fetch with divisor.
      Specified by:
      vertexAttributeInstanceRateZeroDivisor in interface VulkanPhysicalDeviceFeatures14Type
      Returns:
      true if supported
    • indexTypeUint8

      public boolean indexTypeUint8()
      Indicates whether the VK_INDEX_TYPE_UINT8 index type is supported.
      Specified by:
      indexTypeUint8 in interface VulkanPhysicalDeviceFeatures14Type
      Returns:
      true if supported
    • dynamicRenderingLocalRead

      public boolean dynamicRenderingLocalRead()
      Indicates whether the implementation supports the VK_RENDERING_LOCAL_READ_LINEAR_READ_ATTACHMENT_FB_READ flag.
      Specified by:
      dynamicRenderingLocalRead in interface VulkanPhysicalDeviceFeatures14Type
      Returns:
      true if supported
    • maintenance5

      public boolean maintenance5()
      Indicates whether the implementation supports the ability to query maintenance5 features.
      Specified by:
      maintenance5 in interface VulkanPhysicalDeviceFeatures14Type
      Returns:
      true if supported
    • maintenance6

      public boolean maintenance6()
      Indicates whether the implementation supports the ability to query maintenance6 features.
      Specified by:
      maintenance6 in interface VulkanPhysicalDeviceFeatures14Type
      Returns:
      true if supported
    • pipelineRobustness

      public boolean pipelineRobustness()
      Indicates whether the implementation supports pipelineRobustness.
      Specified by:
      pipelineRobustness in interface VulkanPhysicalDeviceFeatures14Type
      Returns:
      true if supported
    • hostImageCopy

      public boolean hostImageCopy()
      Indicates whether the implementation supports host image copy.
      Specified by:
      hostImageCopy in interface VulkanPhysicalDeviceFeatures14Type
      Returns:
      true if supported
    • pushDescriptor

      public boolean pushDescriptor()
      Indicates whether the implementation supports push descriptors.
      Specified by:
      pushDescriptor in interface VulkanPhysicalDeviceFeatures14Type
      Returns:
      true if supported
    • withGlobalPriorityQuery

      public final VulkanPhysicalDeviceFeatures14 withGlobalPriorityQuery(boolean value)
      Copy the current immutable object by setting a value for the globalPriorityQuery attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for globalPriorityQuery
      Returns:
      A modified copy or the this object
    • withShaderSubgroupRotate

      public final VulkanPhysicalDeviceFeatures14 withShaderSubgroupRotate(boolean value)
      Copy the current immutable object by setting a value for the shaderSubgroupRotate attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for shaderSubgroupRotate
      Returns:
      A modified copy or the this object
    • withShaderSubgroupRotateClustered

      public final VulkanPhysicalDeviceFeatures14 withShaderSubgroupRotateClustered(boolean value)
      Copy the current immutable object by setting a value for the shaderSubgroupRotateClustered attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for shaderSubgroupRotateClustered
      Returns:
      A modified copy or the this object
    • withShaderFloatControls2

      public final VulkanPhysicalDeviceFeatures14 withShaderFloatControls2(boolean value)
      Copy the current immutable object by setting a value for the shaderFloatControls2 attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for shaderFloatControls2
      Returns:
      A modified copy or the this object
    • withShaderExpectAssume

      public final VulkanPhysicalDeviceFeatures14 withShaderExpectAssume(boolean value)
      Copy the current immutable object by setting a value for the shaderExpectAssume attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for shaderExpectAssume
      Returns:
      A modified copy or the this object
    • withRectangularLines

      public final VulkanPhysicalDeviceFeatures14 withRectangularLines(boolean value)
      Copy the current immutable object by setting a value for the rectangularLines attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for rectangularLines
      Returns:
      A modified copy or the this object
    • withBresenhamLines

      public final VulkanPhysicalDeviceFeatures14 withBresenhamLines(boolean value)
      Copy the current immutable object by setting a value for the bresenhamLines attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for bresenhamLines
      Returns:
      A modified copy or the this object
    • withSmoothLines

      public final VulkanPhysicalDeviceFeatures14 withSmoothLines(boolean value)
      Copy the current immutable object by setting a value for the smoothLines attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for smoothLines
      Returns:
      A modified copy or the this object
    • withStippledRectangularLines

      public final VulkanPhysicalDeviceFeatures14 withStippledRectangularLines(boolean value)
      Copy the current immutable object by setting a value for the stippledRectangularLines attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for stippledRectangularLines
      Returns:
      A modified copy or the this object
    • withStippledSmoothLines

      public final VulkanPhysicalDeviceFeatures14 withStippledSmoothLines(boolean value)
      Copy the current immutable object by setting a value for the stippledSmoothLines attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for stippledSmoothLines
      Returns:
      A modified copy or the this object
    • withVertexAttributeInstanceRateDivisor

      public final VulkanPhysicalDeviceFeatures14 withVertexAttributeInstanceRateDivisor(boolean value)
      Copy the current immutable object by setting a value for the vertexAttributeInstanceRateDivisor attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for vertexAttributeInstanceRateDivisor
      Returns:
      A modified copy or the this object
    • withVertexAttributeInstanceRateZeroDivisor

      public final VulkanPhysicalDeviceFeatures14 withVertexAttributeInstanceRateZeroDivisor(boolean value)
      Copy the current immutable object by setting a value for the vertexAttributeInstanceRateZeroDivisor attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for vertexAttributeInstanceRateZeroDivisor
      Returns:
      A modified copy or the this object
    • withIndexTypeUint8

      public final VulkanPhysicalDeviceFeatures14 withIndexTypeUint8(boolean value)
      Copy the current immutable object by setting a value for the indexTypeUint8 attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for indexTypeUint8
      Returns:
      A modified copy or the this object
    • withDynamicRenderingLocalRead

      public final VulkanPhysicalDeviceFeatures14 withDynamicRenderingLocalRead(boolean value)
      Copy the current immutable object by setting a value for the dynamicRenderingLocalRead attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for dynamicRenderingLocalRead
      Returns:
      A modified copy or the this object
    • withMaintenance5

      public final VulkanPhysicalDeviceFeatures14 withMaintenance5(boolean value)
      Copy the current immutable object by setting a value for the maintenance5 attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for maintenance5
      Returns:
      A modified copy or the this object
    • withMaintenance6

      public final VulkanPhysicalDeviceFeatures14 withMaintenance6(boolean value)
      Copy the current immutable object by setting a value for the maintenance6 attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for maintenance6
      Returns:
      A modified copy or the this object
    • withPipelineRobustness

      public final VulkanPhysicalDeviceFeatures14 withPipelineRobustness(boolean value)
      Copy the current immutable object by setting a value for the pipelineRobustness attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for pipelineRobustness
      Returns:
      A modified copy or the this object
    • withHostImageCopy

      public final VulkanPhysicalDeviceFeatures14 withHostImageCopy(boolean value)
      Copy the current immutable object by setting a value for the hostImageCopy attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for hostImageCopy
      Returns:
      A modified copy or the this object
    • withPushDescriptor

      public final VulkanPhysicalDeviceFeatures14 withPushDescriptor(boolean value)
      Copy the current immutable object by setting a value for the pushDescriptor attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for pushDescriptor
      Returns:
      A modified copy or the this object
    • equals

      public boolean equals(Object another)
      This instance is equal to all instances of VulkanPhysicalDeviceFeatures14 that have equal attribute values.
      Overrides:
      equals in class Object
      Returns:
      true if this is equal to another instance
    • hashCode

      public int hashCode()
      Computes a hash code from attributes: globalPriorityQuery, shaderSubgroupRotate, shaderSubgroupRotateClustered, shaderFloatControls2, shaderExpectAssume, rectangularLines, bresenhamLines, smoothLines, stippledRectangularLines, stippledSmoothLines, vertexAttributeInstanceRateDivisor, vertexAttributeInstanceRateZeroDivisor, indexTypeUint8, dynamicRenderingLocalRead, maintenance5, maintenance6, pipelineRobustness, hostImageCopy, pushDescriptor.
      Overrides:
      hashCode in class Object
      Returns:
      hashCode value
    • toString

      public String toString()
      Prints the immutable value VulkanPhysicalDeviceFeatures14 with attribute values.
      Overrides:
      toString in class Object
      Returns:
      A string representation of the value
    • copyOf

      Creates an immutable copy of a VulkanPhysicalDeviceFeatures14Type value. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.
      Parameters:
      instance - The instance to copy
      Returns:
      A copied immutable VulkanPhysicalDeviceFeatures14 instance
    • builder

      public static VulkanPhysicalDeviceFeatures14.Builder builder()
      Creates a builder for VulkanPhysicalDeviceFeatures14.
      VulkanPhysicalDeviceFeatures14.builder()
         .setGlobalPriorityQuery(boolean) // optional globalPriorityQuery
         .setShaderSubgroupRotate(boolean) // optional shaderSubgroupRotate
         .setShaderSubgroupRotateClustered(boolean) // optional shaderSubgroupRotateClustered
         .setShaderFloatControls2(boolean) // optional shaderFloatControls2
         .setShaderExpectAssume(boolean) // optional shaderExpectAssume
         .setRectangularLines(boolean) // optional rectangularLines
         .setBresenhamLines(boolean) // optional bresenhamLines
         .setSmoothLines(boolean) // optional smoothLines
         .setStippledRectangularLines(boolean) // optional stippledRectangularLines
         .setStippledSmoothLines(boolean) // optional stippledSmoothLines
         .setVertexAttributeInstanceRateDivisor(boolean) // optional vertexAttributeInstanceRateDivisor
         .setVertexAttributeInstanceRateZeroDivisor(boolean) // optional vertexAttributeInstanceRateZeroDivisor
         .setIndexTypeUint8(boolean) // optional indexTypeUint8
         .setDynamicRenderingLocalRead(boolean) // optional dynamicRenderingLocalRead
         .setMaintenance5(boolean) // optional maintenance5
         .setMaintenance6(boolean) // optional maintenance6
         .setPipelineRobustness(boolean) // optional pipelineRobustness
         .setHostImageCopy(boolean) // optional hostImageCopy
         .setPushDescriptor(boolean) // optional pushDescriptor
         .build();
      
      Returns:
      A new VulkanPhysicalDeviceFeatures14 builder