# Class VulkanPhysicalDeviceFeatures10

java.lang.Object
com.io7m.jcoronado.api.VulkanPhysicalDeviceFeatures10

All Implemented Interfaces:
  `VulkanPhysicalDeviceFeatures10Type`

public final class VulkanPhysicalDeviceFeatures10 extends Object implements VulkanPhysicalDeviceFeatures10Type
The features supported by a physical device.

See Also:
  - "VkPhysicalDeviceFeatures"

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static final class`
  `VulkanPhysicalDeviceFeatures10.Builder`
  Builds instances of type `VulkanPhysicalDeviceFeatures10`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `alphaToOne()`
  `static VulkanPhysicalDeviceFeatures10.Builder`
  `builder()`
  Creates a builder for `VulkanPhysicalDeviceFeatures10`.
  `static VulkanPhysicalDeviceFeatures10`
  `copyOf(VulkanPhysicalDeviceFeatures10Type instance)`
  Creates an immutable copy of a `VulkanPhysicalDeviceFeatures10Type` value.
  `boolean`
  `depthBiasClamp()`
  `boolean`
  `depthBounds()`
  `boolean`
  `depthClamp()`
  `boolean`
  `drawIndirectFirstInstance()`
  `boolean`
  `dualSrcBlend()`
  `boolean`
  `equals(Object another)`
  This instance is equal to all instances of `VulkanPhysicalDeviceFeatures10` that have equal attribute values.
  `boolean`
  `fillModeNonSolid()`
  `boolean`
  `fragmentStoresAndAtomics()`
  `boolean`
  `fullDrawIndexUint32()`
  `boolean`
  `geometryShader()`
  `int`
  `hashCode()`
  Computes a hash code from attributes: `alphaToOne`, `depthBiasClamp`, `depthBounds`, `depthClamp`, `drawIndirectFirstInstance`, `dualSrcBlend`, `fillModeNonSolid`, `fragmentStoresAndAtomics`, `fullDrawIndexUint32`, `geometryShader`, `imageCubeArray`, `independentBlend`, `inheritedQueries`, `largePoints`, `logicOp`, `multiDrawIndirect`, `multiViewport`, `occlusionQueryPrecise`, `pipelineStatisticsQuery`, `robustBufferAccess`, `samplerAnisotropy`, `sampleRateShading`, `shaderClipDistance`, `shaderCullDistance`, `shaderFloat64`, `shaderImageGatherExtended`, `shaderInt16`, `shaderInt64`, `shaderResourceMinLod`, `shaderResourceResidency`, `shaderSampledImageArrayDynamicIndexing`, `shaderStorageBufferArrayDynamicIndexing`, `shaderStorageImageArrayDynamicIndexing`, `shaderStorageImageExtendedFormats`, `shaderStorageImageMultisample`, `shaderStorageImageReadWithoutFormat`, `shaderStorageImageWriteWithoutFormat`, `shaderTessellationAndGeometryPointSize`, `shaderUniformBufferArrayDynamicIndexing`, `sparseBinding`, `sparseResidency16Samples`, `sparseResidency2Samples`, `sparseResidency4Samples`, `sparseResidency8Samples`, `sparseResidencyAliased`, `sparseResidencyBuffer`, `sparseResidencyImage2D`, `sparseResidencyImage3D`, `tessellationShader`, `textureCompressionASTC_LDR`, `textureCompressionBC`, `textureCompressionETC2`, `variableMultisampleRate`, `vertexPipelineStoresAndAtomics`, `wideLines`.
  `boolean`
  `imageCubeArray()`
  `boolean`
  `independentBlend()`
  `boolean`
  `inheritedQueries()`
  `boolean`
  `largePoints()`
  `boolean`
  `logicOp()`
  `boolean`
  `multiDrawIndirect()`
  `boolean`
  `multiViewport()`
  `boolean`
  `occlusionQueryPrecise()`
  `boolean`
  `pipelineStatisticsQuery()`
  `boolean`
  `robustBufferAccess()`
  `boolean`
  `samplerAnisotropy()`
  `boolean`
  `sampleRateShading()`
  `boolean`
  `shaderClipDistance()`
  `boolean`
  `shaderCullDistance()`
  `boolean`
  `shaderFloat64()`
  `boolean`
  `shaderImageGatherExtended()`
  `boolean`
  `shaderInt16()`
  `boolean`
  `shaderInt64()`
  `boolean`
  `shaderResourceMinLod()`
  `boolean`
  `shaderResourceResidency()`
  `boolean`
  `shaderSampledImageArrayDynamicIndexing()`
  `boolean`
  `shaderStorageBufferArrayDynamicIndexing()`
  `boolean`
  `shaderStorageImageArrayDynamicIndexing()`
  `boolean`
  `shaderStorageImageExtendedFormats()`
  `boolean`
  `shaderStorageImageMultisample()`
  `boolean`
  `shaderStorageImageReadWithoutFormat()`
  `boolean`
  `shaderStorageImageWriteWithoutFormat()`
  `boolean`
  `shaderTessellationAndGeometryPointSize()`
  `boolean`
  `shaderUniformBufferArrayDynamicIndexing()`
  `boolean`
  `sparseBinding()`
  `boolean`
  `sparseResidency16Samples()`
  `boolean`
  `sparseResidency2Samples()`
  `boolean`
  `sparseResidency4Samples()`
  `boolean`
  `sparseResidency8Samples()`
  `boolean`
  `sparseResidencyAliased()`
  `boolean`
  `sparseResidencyBuffer()`
  `boolean`
  `sparseResidencyImage2D()`
  `boolean`
  `sparseResidencyImage3D()`
  `boolean`
  `tessellationShader()`
  `boolean`
  `textureCompressionASTC_LDR()`
  `boolean`
  `textureCompressionBC()`
  `boolean`
  `textureCompressionETC2()`
  `String`
  `toString()`
  Prints the immutable value `VulkanPhysicalDeviceFeatures10` with attribute values.
  `boolean`
  `variableMultisampleRate()`
  `boolean`
  `vertexPipelineStoresAndAtomics()`
  `boolean`
  `wideLines()`
  `final VulkanPhysicalDeviceFeatures10`
  `withAlphaToOne(boolean value)`
  Copy the current immutable object by setting a value for the `alphaToOne` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withDepthBiasClamp(boolean value)`
  Copy the current immutable object by setting a value for the `depthBiasClamp` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withDepthBounds(boolean value)`
  Copy the current immutable object by setting a value for the `depthBounds` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withDepthClamp(boolean value)`
  Copy the current immutable object by setting a value for the `depthClamp` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withDrawIndirectFirstInstance(boolean value)`
  Copy the current immutable object by setting a value for the `drawIndirectFirstInstance` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withDualSrcBlend(boolean value)`
  Copy the current immutable object by setting a value for the `dualSrcBlend` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withFillModeNonSolid(boolean value)`
  Copy the current immutable object by setting a value for the `fillModeNonSolid` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withFragmentStoresAndAtomics(boolean value)`
  Copy the current immutable object by setting a value for the `fragmentStoresAndAtomics` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withFullDrawIndexUint32(boolean value)`
  Copy the current immutable object by setting a value for the `fullDrawIndexUint32` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withGeometryShader(boolean value)`
  Copy the current immutable object by setting a value for the `geometryShader` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withImageCubeArray(boolean value)`
  Copy the current immutable object by setting a value for the `imageCubeArray` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withIndependentBlend(boolean value)`
  Copy the current immutable object by setting a value for the `independentBlend` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withInheritedQueries(boolean value)`
  Copy the current immutable object by setting a value for the `inheritedQueries` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withLargePoints(boolean value)`
  Copy the current immutable object by setting a value for the `largePoints` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withLogicOp(boolean value)`
  Copy the current immutable object by setting a value for the `logicOp` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withMultiDrawIndirect(boolean value)`
  Copy the current immutable object by setting a value for the `multiDrawIndirect` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withMultiViewport(boolean value)`
  Copy the current immutable object by setting a value for the `multiViewport` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withOcclusionQueryPrecise(boolean value)`
  Copy the current immutable object by setting a value for the `occlusionQueryPrecise` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withPipelineStatisticsQuery(boolean value)`
  Copy the current immutable object by setting a value for the `pipelineStatisticsQuery` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withRobustBufferAccess(boolean value)`
  Copy the current immutable object by setting a value for the `robustBufferAccess` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withSamplerAnisotropy(boolean value)`
  Copy the current immutable object by setting a value for the `samplerAnisotropy` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withSampleRateShading(boolean value)`
  Copy the current immutable object by setting a value for the `sampleRateShading` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withShaderClipDistance(boolean value)`
  Copy the current immutable object by setting a value for the `shaderClipDistance` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withShaderCullDistance(boolean value)`
  Copy the current immutable object by setting a value for the `shaderCullDistance` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withShaderFloat64(boolean value)`
  Copy the current immutable object by setting a value for the `shaderFloat64` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withShaderImageGatherExtended(boolean value)`
  Copy the current immutable object by setting a value for the `shaderImageGatherExtended` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withShaderInt16(boolean value)`
  Copy the current immutable object by setting a value for the `shaderInt16` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withShaderInt64(boolean value)`
  Copy the current immutable object by setting a value for the `shaderInt64` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withShaderResourceMinLod(boolean value)`
  Copy the current immutable object by setting a value for the `shaderResourceMinLod` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withShaderResourceResidency(boolean value)`
  Copy the current immutable object by setting a value for the `shaderResourceResidency` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withShaderSampledImageArrayDynamicIndexing(boolean value)`
  Copy the current immutable object by setting a value for the `shaderSampledImageArrayDynamicIndexing` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withShaderStorageBufferArrayDynamicIndexing(boolean value)`
  Copy the current immutable object by setting a value for the `shaderStorageBufferArrayDynamicIndexing` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withShaderStorageImageArrayDynamicIndexing(boolean value)`
  Copy the current immutable object by setting a value for the `shaderStorageImageArrayDynamicIndexing` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withShaderStorageImageExtendedFormats(boolean value)`
  Copy the current immutable object by setting a value for the `shaderStorageImageExtendedFormats` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withShaderStorageImageMultisample(boolean value)`
  Copy the current immutable object by setting a value for the `shaderStorageImageMultisample` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withShaderStorageImageReadWithoutFormat(boolean value)`
  Copy the current immutable object by setting a value for the `shaderStorageImageReadWithoutFormat` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withShaderStorageImageWriteWithoutFormat(boolean value)`
  Copy the current immutable object by setting a value for the `shaderStorageImageWriteWithoutFormat` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withShaderTessellationAndGeometryPointSize(boolean value)`
  Copy the current immutable object by setting a value for the `shaderTessellationAndGeometryPointSize` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withShaderUniformBufferArrayDynamicIndexing(boolean value)`
  Copy the current immutable object by setting a value for the `shaderUniformBufferArrayDynamicIndexing` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withSparseBinding(boolean value)`
  Copy the current immutable object by setting a value for the `sparseBinding` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withSparseResidency16Samples(boolean value)`
  Copy the current immutable object by setting a value for the `sparseResidency16Samples` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withSparseResidency2Samples(boolean value)`
  Copy the current immutable object by setting a value for the `sparseResidency2Samples` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withSparseResidency4Samples(boolean value)`
  Copy the current immutable object by setting a value for the `sparseResidency4Samples` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withSparseResidency8Samples(boolean value)`
  Copy the current immutable object by setting a value for the `sparseResidency8Samples` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withSparseResidencyAliased(boolean value)`
  Copy the current immutable object by setting a value for the `sparseResidencyAliased` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withSparseResidencyBuffer(boolean value)`
  Copy the current immutable object by setting a value for the `sparseResidencyBuffer` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withSparseResidencyImage2D(boolean value)`
  Copy the current immutable object by setting a value for the `sparseResidencyImage2D` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withSparseResidencyImage3D(boolean value)`
  Copy the current immutable object by setting a value for the `sparseResidencyImage3D` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withTessellationShader(boolean value)`
  Copy the current immutable object by setting a value for the `tessellationShader` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withTextureCompressionASTC_LDR(boolean value)`
  Copy the current immutable object by setting a value for the `textureCompressionASTC_LDR` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withTextureCompressionBC(boolean value)`
  Copy the current immutable object by setting a value for the `textureCompressionBC` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withTextureCompressionETC2(boolean value)`
  Copy the current immutable object by setting a value for the `textureCompressionETC2` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withVariableMultisampleRate(boolean value)`
  Copy the current immutable object by setting a value for the `variableMultisampleRate` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withVertexPipelineStoresAndAtomics(boolean value)`
  Copy the current immutable object by setting a value for the `vertexPipelineStoresAndAtomics` attribute.
  `final VulkanPhysicalDeviceFeatures10`
  `withWideLines(boolean value)`
  Copy the current immutable object by setting a value for the `wideLines` attribute.

  ### Methods inherited from class Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Method Details

  - ### alphaToOne

    public boolean alphaToOne()
    Specified by:
      `alphaToOne` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      alphaToOne : specifies whether the implementation is able to replace the alpha value of the color fragment output from the fragment shader with the maximum representable alpha value for fixed-point colors or 1.0 for floating-point colors. If this feature is not enabled, then the alphaToOneEnable member of the VkPipelineMultisampleStateCreateInfo structure must be set to VK_FALSE. Otherwise setting alphaToOneEnable to VK_TRUE will enable alpha-to-one behavior.

  - ### depthBiasClamp

    public boolean depthBiasClamp()
    Specified by:
      `depthBiasClamp` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      depthBiasClamp : specifies whether depth bias clamping is supported. If this feature is not enabled, the depthBiasClamp member of the VkPipelineRasterizationStateCreateInfo structure must be set to 0.0 unless the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state is enabled, and the depthBiasClamp parameter to vkCmdSetDepthBias must be set to 0.0.

  - ### depthBounds

    public boolean depthBounds()
    Specified by:
      `depthBounds` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      depthBounds : specifies whether depth bounds tests are supported. If this feature is not enabled, the depthBoundsTestEnable member of the VkPipelineDepthStencilStateCreateInfo structure must be set to VK_FALSE. When depthBoundsTestEnable is set to VK_FALSE, the minDepthBounds and maxDepthBounds members of the VkPipelineDepthStencilStateCreateInfo structure are ignored.

  - ### depthClamp

    public boolean depthClamp()
    Specified by:
      `depthClamp` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      depthClamp : specifies whether depth clamping is supported. If this feature is not enabled, the depthClampEnable member of the VkPipelineRasterizationStateCreateInfo structure must be set to VK_FALSE. Otherwise, setting depthClampEnable to VK_TRUE will enable depth clamping.

  - ### drawIndirectFirstInstance

    public boolean drawIndirectFirstInstance()
    Specified by:
      `drawIndirectFirstInstance` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      drawIndirectFirstInstance : specifies whether indirect draw calls support the firstInstance parameter. If this feature is not enabled, the firstInstance member of all VkDrawIndirectCommand and VkDrawIndexedIndirectCommand structures that are provided to the vkCmdDrawIndirect and vkCmdDrawIndexedIndirect commands must be 0.

  - ### dualSrcBlend

    public boolean dualSrcBlend()
    Specified by:
      `dualSrcBlend` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      dualSrcBlend : specifies whether blend operations which take two sources are supported. If this feature is not enabled, the VK_BLEND_FACTOR_SRC1_COLOR, VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR, VK_BLEND_FACTOR_SRC1_ALPHA, and VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA enum values must not be used as source or destination blending factors. See ../../html/vkspec.html#framebuffer-dsb.

  - ### fillModeNonSolid

    public boolean fillModeNonSolid()
    Specified by:
      `fillModeNonSolid` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      fillModeNonSolid : specifies whether point and wireframe fill modes are supported. If this feature is not enabled, the VK_POLYGON_MODE_POINT and VK_POLYGON_MODE_LINE enum values must not be used.

  - ### fragmentStoresAndAtomics

    public boolean fragmentStoresAndAtomics()
    Specified by:
      `fragmentStoresAndAtomics` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      fragmentStoresAndAtomics : specifies whether storage buffers and images support stores and atomic operations in the fragment shader stage. If this feature is not enabled, all storage image, storage texel buffers, and storage buffer variables used by the fragment stage in shader modules must be decorated with the NonWriteable decoration (or the readonly memory qualifier in GLSL).

  - ### fullDrawIndexUint32

    public boolean fullDrawIndexUint32()
    Specified by:
      `fullDrawIndexUint32` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      fullDrawIndexUint32 : specifies the full 32-bit range of indices is supported for indexed draw calls when using a VkIndexType of VK_INDEX_TYPE_UINT32. maxDrawIndexedIndexValue is the maximum index value that may be used (aside from the primitive restart index, which is always 232-1 when the VkIndexType is VK_INDEX_TYPE_UINT32). If this feature is supported, maxDrawIndexedIndexValue must be 232-1; otherwise it must be no smaller than 224-1. See maxDrawIndexedIndexValue.

  - ### geometryShader

    public boolean geometryShader()
    Specified by:
      `geometryShader` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      geometryShader : specifies whether geometry shaders are supported. If this feature is not enabled, the VK_SHADER_STAGE_GEOMETRY_BIT and VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT enum values must not be used. This also specifies whether shader modules can declare the Geometry capability.

  - ### imageCubeArray

    public boolean imageCubeArray()
    Specified by:
      `imageCubeArray` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      imageCubeArray : specifies whether image views with a VkImageViewType of VK_IMAGE_VIEW_TYPE_CUBE_ARRAY can be created, and that the corresponding SampledCubeArray and ImageCubeArray SPIR-V capabilities can be used in shader code.

  - ### independentBlend

    public boolean independentBlend()
    Specified by:
      `independentBlend` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      independentBlend : specifies whether the VkPipelineColorBlendAttachmentState settings are controlled independently per-attachment. If this feature is not enabled, the VkPipelineColorBlendAttachmentState settings for all color attachments must be identical. Otherwise, a different VkPipelineColorBlendAttachmentState can be provided for each bound color attachment.

  - ### inheritedQueries

    public boolean inheritedQueries()
    Specified by:
      `inheritedQueries` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      inheritedQueries : specifies whether a secondary command buffer may be executed while a query is active.

  - ### largePoints

    public boolean largePoints()
    Specified by:
      `largePoints` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      largePoints : specifies whether points with size greater than 1.0 are supported. If this feature is not enabled, only a point size of 1.0 written by a shader is supported. The range and granularity of supported point sizes are indicated by the pointSizeRange and pointSizeGranularity members of the VkPhysicalDeviceLimits structure, respectively.

  - ### logicOp

    public boolean logicOp()
    Specified by:
      `logicOp` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      logicOp : specifies whether logic operations are supported. If this feature is not enabled, the logicOpEnable member of the VkPipelineColorBlendStateCreateInfo structure must be set to VK_FALSE, and the logicOp member is ignored.

  - ### multiDrawIndirect

    public boolean multiDrawIndirect()
    Specified by:
      `multiDrawIndirect` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      multiDrawIndirect : specifies whether multiple draw indirect is supported. If this feature is not enabled, the drawCount parameter to the vkCmdDrawIndirect and vkCmdDrawIndexedIndirect commands must be 0 or 1. The maxDrawIndirectCount member of the VkPhysicalDeviceLimits structure must also be 1 if this feature is not supported. See maxDrawIndirectCount.

  - ### multiViewport

    public boolean multiViewport()
    Specified by:
      `multiViewport` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      multiViewport : specifies whether more than one viewport is supported. If this feature is not enabled, the viewportCount and scissorCount members of the VkPipelineViewportStateCreateInfo structure must be set to 1. Similarly, the viewportCount parameter to the vkCmdSetViewport command and the scissorCount parameter to the vkCmdSetScissor command must be 1, and the firstViewport parameter to the vkCmdSetViewport command and the firstScissor parameter to the vkCmdSetScissor command must be 0.

  - ### occlusionQueryPrecise

    public boolean occlusionQueryPrecise()
    Specified by:
      `occlusionQueryPrecise` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      occlusionQueryPrecise : specifies whether occlusion queries returning actual sample counts are supported. Occlusion queries are created in a VkQueryPool by specifying the queryType of VK_QUERY_TYPE_OCCLUSION in the VkQueryPoolCreateInfo structure which is passed to vkCreateQueryPool. If this feature is enabled, queries of this type can enable VK_QUERY_CONTROL_PRECISE_BIT in the flags parameter to vkCmdBeginQuery. If this feature is not supported, the implementation supports only boolean occlusion queries. When any samples are passed, boolean queries will return a non-zero result value, otherwise a result value of zero is returned. When this feature is enabled and VK_QUERY_CONTROL_PRECISE_BIT is set, occlusion queries will report the actual number of samples passed.

  - ### pipelineStatisticsQuery

    public boolean pipelineStatisticsQuery()
    Specified by:
      `pipelineStatisticsQuery` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      pipelineStatisticsQuery : specifies whether the pipeline statistics queries are supported. If this feature is not enabled, queries of type VK_QUERY_TYPE_PIPELINE_STATISTICS cannot be created, and none of the VkQueryPipelineStatisticFlagBits bits can be set in the pipelineStatistics member of the VkQueryPoolCreateInfo structure.

  - ### robustBufferAccess

    public boolean robustBufferAccess()
    Specified by:
      `robustBufferAccess` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      robustBufferAccess : specifies that accesses to buffers are bounds-checked against the range of the buffer descriptor (as determined by VkDescriptorBufferInfo::range, VkBufferViewCreateInfo::range, or the size of the buffer). Out of bounds accesses must not cause application termination, and the effects of shader loads, stores, and atomics must conform to an implementation-dependent behavior as described below.

  - ### samplerAnisotropy

    public boolean samplerAnisotropy()
    Specified by:
      `samplerAnisotropy` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      samplerAnisotropy : specifies whether anisotropic filtering is supported. If this feature is not enabled, the anisotropyEnable member of the VkSamplerCreateInfo structure must be VK_FALSE.

  - ### sampleRateShading

    public boolean sampleRateShading()
    Specified by:
      `sampleRateShading` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      sampleRateShading : specifies whether Sample Shading and multisample interpolation are supported. If this feature is not enabled, the sampleShadingEnable member of the VkPipelineMultisampleStateCreateInfo structure must be set to VK_FALSE and the minSampleShading member is ignored. This also specifies whether shader modules can declare the SampleRateShading capability.

  - ### shaderClipDistance

    public boolean shaderClipDistance()
    Specified by:
      `shaderClipDistance` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      shaderClipDistance : specifies whether clip distances are supported in shader code. If this feature is not enabled, any members decorated with the ClipDistance built-in decoration must not be read from or written to in shader modules. This also specifies whether shader modules can declare the ClipDistance capability.

  - ### shaderCullDistance

    public boolean shaderCullDistance()
    Specified by:
      `shaderCullDistance` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      shaderCullDistance : specifies whether cull distances are supported in shader code. If this feature is not enabled, any members decorated with the CullDistance built-in decoration must not be read from or written to in shader modules. This also specifies whether shader modules can declare the CullDistance capability.

  - ### shaderFloat64

    public boolean shaderFloat64()
    Specified by:
      `shaderFloat64` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      shaderFloat64 : specifies whether 64-bit floats (doubles) are supported in shader code. If this feature is not enabled, 64-bit floating-point types must not be used in shader code. This also specifies whether shader modules can declare the Float64 capability.

  - ### shaderImageGatherExtended

    public boolean shaderImageGatherExtended()
    Specified by:
      `shaderImageGatherExtended` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      shaderImageGatherExtended : specifies whether the extended set of image gather instructions are available in shader code. If this feature is not enabled, the OpImage*Gather instructions do not support the Offset and ConstOffsets operands. This also specifies whether shader modules can declare the ImageGatherExtended capability.

  - ### shaderInt16

    public boolean shaderInt16()
    Specified by:
      `shaderInt16` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      shaderInt16 : specifies whether 16-bit integers (signed and unsigned) are supported in shader code. If this feature is not enabled, 16-bit integer types must not be used in shader code. This also specifies whether shader modules can declare the Int16 capability.

  - ### shaderInt64

    public boolean shaderInt64()
    Specified by:
      `shaderInt64` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      shaderInt64 : specifies whether 64-bit integers (signed and unsigned) are supported in shader code. If this feature is not enabled, 64-bit integer types must not be used in shader code. This also specifies whether shader modules can declare the Int64 capability.

  - ### shaderResourceMinLod

    public boolean shaderResourceMinLod()
    Specified by:
      `shaderResourceMinLod` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      shaderResourceMinLod : specifies whether image operations that specify the minimum resource LOD are supported in shader code. If this feature is not enabled, the MinLod image operand must not be used in shader code. This also specifies whether shader modules can declare the MinLod capability.

  - ### shaderResourceResidency

    public boolean shaderResourceResidency()
    Specified by:
      `shaderResourceResidency` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      shaderResourceResidency : specifies whether image operations that return resource residency information are supported in shader code. If this feature is not enabled, the OpImageSparse* instructions must not be used in shader code. This also specifies whether shader modules can declare the SparseResidency capability. The feature requires at least one of the sparseResidency* features to be supported.

  - ### shaderSampledImageArrayDynamicIndexing

    public boolean shaderSampledImageArrayDynamicIndexing()
    Specified by:
      `shaderSampledImageArrayDynamicIndexing` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      shaderSampledImageArrayDynamicIndexing : specifies whether arrays of samplers or sampled images can be indexed by dynamically uniform integer expressions in shader code. If this feature is not enabled, resources with a descriptor type of VK_DESCRIPTOR_TYPE_SAMPLER, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, or VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE must be indexed only by constant integral expressions when aggregated into arrays in shader code. This also specifies whether shader modules can declare the SampledImageArrayDynamicIndexing capability.

  - ### shaderStorageBufferArrayDynamicIndexing

    public boolean shaderStorageBufferArrayDynamicIndexing()
    Specified by:
      `shaderStorageBufferArrayDynamicIndexing` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      shaderStorageBufferArrayDynamicIndexing : specifies whether arrays of storage buffers can be indexed by dynamically uniform integer expressions in shader code. If this feature is not enabled, resources with a descriptor type of VK_DESCRIPTOR_TYPE_STORAGE_BUFFER or VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC must be indexed only by constant integral expressions when aggregated into arrays in shader code. This also specifies whether shader modules can declare the StorageBufferArrayDynamicIndexing capability.

  - ### shaderStorageImageArrayDynamicIndexing

    public boolean shaderStorageImageArrayDynamicIndexing()
    Specified by:
      `shaderStorageImageArrayDynamicIndexing` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      shaderStorageImageArrayDynamicIndexing : specifies whether arrays of storage images can be indexed by dynamically uniform integer expressions in shader code. If this feature is not enabled, resources with a descriptor type of VK_DESCRIPTOR_TYPE_STORAGE_IMAGE must be indexed only by constant integral expressions when aggregated into arrays in shader code. This also specifies whether shader modules can declare the StorageImageArrayDynamicIndexing capability.

  - ### shaderStorageImageExtendedFormats

    public boolean shaderStorageImageExtendedFormats()
    Specified by:
      `shaderStorageImageExtendedFormats` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      shaderStorageImageExtendedFormats : specifies whether the extended storage image formats are available in shader code. If this feature is not enabled, the formats requiring the StorageImageExtendedFormats capability are not supported for storage images. This also specifies whether shader modules can declare the StorageImageExtendedFormats capability.

  - ### shaderStorageImageMultisample

    public boolean shaderStorageImageMultisample()
    Specified by:
      `shaderStorageImageMultisample` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      shaderStorageImageMultisample : specifies whether multisampled storage images are supported. If this feature is not enabled, images that are created with a usage that includes VK_IMAGE_USAGE_STORAGE_BIT must be created with samples equal to VK_SAMPLE_COUNT_1_BIT. This also specifies whether shader modules can declare the StorageImageMultisample capability.

  - ### shaderStorageImageReadWithoutFormat

    public boolean shaderStorageImageReadWithoutFormat()
    Specified by:
      `shaderStorageImageReadWithoutFormat` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      shaderStorageImageReadWithoutFormat : specifies whether storage images require a format qualifier to be specified when reading from storage images. If this feature is not enabled, the OpImageRead instruction must not have an OpTypeImage of Unknown. This also specifies whether shader modules can declare the StorageImageReadWithoutFormat capability.

  - ### shaderStorageImageWriteWithoutFormat

    public boolean shaderStorageImageWriteWithoutFormat()
    Specified by:
      `shaderStorageImageWriteWithoutFormat` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      shaderStorageImageWriteWithoutFormat : specifies whether storage images require a format qualifier to be specified when writing to storage images. If this feature is not enabled, the OpImageWrite instruction must not have an OpTypeImage of Unknown. This also specifies whether shader modules can declare the StorageImageWriteWithoutFormat capability.

  - ### shaderTessellationAndGeometryPointSize

    public boolean shaderTessellationAndGeometryPointSize()
    Specified by:
      `shaderTessellationAndGeometryPointSize` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      shaderTessellationAndGeometryPointSize : specifies whether the PointSize built-in decoration is available in the tessellation control, tessellation evaluation, and geometry shader stages. If this feature is not enabled, members decorated with the PointSize built-in decoration must not be read from or written to and all points written from a tessellation or geometry shader will have a size of 1.0. This also specifies whether shader modules can declare the TessellationPointSize capability for tessellation control and evaluation shaders, or if the shader modules can declare the GeometryPointSize capability for geometry shaders. An implementation supporting this feature must also support one or both of the tessellationShader or geometryShader features.

  - ### shaderUniformBufferArrayDynamicIndexing

    public boolean shaderUniformBufferArrayDynamicIndexing()
    Specified by:
      `shaderUniformBufferArrayDynamicIndexing` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      shaderUniformBufferArrayDynamicIndexing : specifies whether arrays of uniform buffers can be indexed by dynamically uniform integer expressions in shader code. If this feature is not enabled, resources with a descriptor type of VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER or VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC must be indexed only by constant integral expressions when aggregated into arrays in shader code. This also specifies whether shader modules can declare the UniformBufferArrayDynamicIndexing capability.

  - ### sparseBinding

    public boolean sparseBinding()
    Specified by:
      `sparseBinding` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      sparseBinding : specifies whether resource memory can be managed at opaque sparse block level instead of at the object level. If this feature is not enabled, resource memory must be bound only on a per-object basis using the vkBindBufferMemory and vkBindImageMemory commands. In this case, buffers and images must not be created with VK_BUFFER_CREATE_SPARSE_BINDING_BIT and VK_IMAGE_CREATE_SPARSE_BINDING_BIT set in the flags member of the VkBufferCreateInfo and VkImageCreateInfo structures, respectively. Otherwise resource memory can be managed as described in Sparse Resource Features.

  - ### sparseResidency16Samples

    public boolean sparseResidency16Samples()
    Specified by:
      `sparseResidency16Samples` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      sparseResidency16Samples : specifies whether the physical device can access partially resident 2D images with 16 samples per pixel. If this feature is not enabled, images with an imageType of VK_IMAGE_TYPE_2D and samples set to VK_SAMPLE_COUNT_16_BIT must not be created with VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT set in the flags member of the VkImageCreateInfo structure.

  - ### sparseResidency2Samples

    public boolean sparseResidency2Samples()
    Specified by:
      `sparseResidency2Samples` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      sparseResidency2Samples : specifies whether the physical device can access partially resident 2D images with 2 samples per pixel. If this feature is not enabled, images with an imageType of VK_IMAGE_TYPE_2D and samples set to VK_SAMPLE_COUNT_2_BIT must not be created with VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT set in the flags member of the VkImageCreateInfo structure.

  - ### sparseResidency4Samples

    public boolean sparseResidency4Samples()
    Specified by:
      `sparseResidency4Samples` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      sparseResidency4Samples : specifies whether the physical device can access partially resident 2D images with 4 samples per pixel. If this feature is not enabled, images with an imageType of VK_IMAGE_TYPE_2D and samples set to VK_SAMPLE_COUNT_4_BIT must not be created with VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT set in the flags member of the VkImageCreateInfo structure.

  - ### sparseResidency8Samples

    public boolean sparseResidency8Samples()
    Specified by:
      `sparseResidency8Samples` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      sparseResidency8Samples : specifies whether the physical device can access partially resident 2D images with 8 samples per pixel. If this feature is not enabled, images with an imageType of VK_IMAGE_TYPE_2D and samples set to VK_SAMPLE_COUNT_8_BIT must not be created with VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT set in the flags member of the VkImageCreateInfo structure.

  - ### sparseResidencyAliased

    public boolean sparseResidencyAliased()
    Specified by:
      `sparseResidencyAliased` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      sparseResidencyAliased : specifies whether the physical device can correctly access data aliased into multiple locations. If this feature is not enabled, the VK_BUFFER_CREATE_SPARSE_ALIASED_BIT and VK_IMAGE_CREATE_SPARSE_ALIASED_BIT enum values must not be used in flags members of the VkBufferCreateInfo and VkImageCreateInfo structures, respectively.

  - ### sparseResidencyBuffer

    public boolean sparseResidencyBuffer()
    Specified by:
      `sparseResidencyBuffer` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      sparseResidencyBuffer : specifies whether the device can access partially resident buffers. If this feature is not enabled, buffers must not be created with VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT set in the flags member of the VkBufferCreateInfo structure.

  - ### sparseResidencyImage2D

    public boolean sparseResidencyImage2D()
    Specified by:
      `sparseResidencyImage2D` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      sparseResidencyImage2D : specifies whether the device can access partially resident 2D images with 1 sample per pixel. If this feature is not enabled, images with an imageType of VK_IMAGE_TYPE_2D and samples set to VK_SAMPLE_COUNT_1_BIT must not be created with VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT set in the flags member of the VkImageCreateInfo structure.

  - ### sparseResidencyImage3D

    public boolean sparseResidencyImage3D()
    Specified by:
      `sparseResidencyImage3D` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      sparseResidencyImage3D : specifies whether the device can access partially resident 3D images. If this feature is not enabled, images with an imageType of VK_IMAGE_TYPE_3D must not be created with VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT set in the flags member of the VkImageCreateInfo structure.

  - ### tessellationShader

    public boolean tessellationShader()
    Specified by:
      `tessellationShader` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      tessellationShader : specifies whether tessellation control and evaluation shaders are supported. If this feature is not enabled, the VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT, VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT, VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT, and VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO enum values must not be used. This also specifies whether shader modules can declare the Tessellation capability.

  - ### textureCompressionASTC_LDR

    public boolean textureCompressionASTC_LDR()
    Specified by:
      `textureCompressionASTC_LDR` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      textureCompressionASTC_LDR : specifies whether all of the ASTC LDR compressed texture formats are supported. vkGetPhysicalDeviceFormatProperties and vkGetPhysicalDeviceImageFormatProperties can be used to check for additional supported properties of individual formats.

  - ### textureCompressionBC

    public boolean textureCompressionBC()
    Specified by:
      `textureCompressionBC` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      textureCompressionBC : specifies whether all of the BC compressed texture formats are supported. vkGetPhysicalDeviceFormatProperties and vkGetPhysicalDeviceImageFormatProperties can be used to check for additional supported properties of individual formats.

  - ### textureCompressionETC2

    public boolean textureCompressionETC2()
    Specified by:
      `textureCompressionETC2` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      textureCompressionETC2 : specifies whether all of the ETC2 and EAC compressed texture formats are supported. vkGetPhysicalDeviceFormatProperties and vkGetPhysicalDeviceImageFormatProperties can be used to check for additional supported properties of individual formats.

  - ### variableMultisampleRate

    public boolean variableMultisampleRate()
    Specified by:
      `variableMultisampleRate` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      variableMultisampleRate : specifies whether all pipelines that will be bound to a command buffer during a subpass with no attachments must have the same value for VkPipelineMultisampleStateCreateInfo::rasterizationSamples. If set to VK_TRUE, the implementation supports variable multisample rates in a subpass with no attachments. If set to VK_FALSE, then all pipelines bound in such a subpass must have the same multisample rate. This has no effect in situations where a subpass uses any attachments.

  - ### vertexPipelineStoresAndAtomics

    public boolean vertexPipelineStoresAndAtomics()
    Specified by:
      `vertexPipelineStoresAndAtomics` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      vertexPipelineStoresAndAtomics : specifies whether storage buffers and images support stores and atomic operations in the vertex, tessellation, and geometry shader stages. If this feature is not enabled, all storage image, storage texel buffers, and storage buffer variables used by these stages in shader modules must be decorated with the NonWriteable decoration (or the readonly memory qualifier in GLSL).

  - ### wideLines

    public boolean wideLines()
    Specified by:
      `wideLines` in interface `VulkanPhysicalDeviceFeatures10Type`
    Returns:
      wideLines : specifies whether lines with width other than 1.0 are supported. If this feature is not enabled, the lineWidth member of the VkPipelineRasterizationStateCreateInfo structure must be set to 1.0 unless the VK_DYNAMIC_STATE_LINE_WIDTH dynamic state is enabled, and the lineWidth parameter to vkCmdSetLineWidth must be set to 1.0. When this feature is supported, the range and granularity of supported line widths are indicated by the lineWidthRange and lineWidthGranularity members of the VkPhysicalDeviceLimits structure, respectively.

  - ### withAlphaToOne

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

  - ### withDepthBiasClamp

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

  - ### withDepthBounds

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

  - ### withDepthClamp

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

  - ### withDrawIndirectFirstInstance

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

  - ### withDualSrcBlend

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

  - ### withFillModeNonSolid

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

  - ### withFragmentStoresAndAtomics

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

  - ### withFullDrawIndexUint32

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

  - ### withGeometryShader

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

  - ### withImageCubeArray

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

  - ### withIndependentBlend

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

  - ### withInheritedQueries

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

  - ### withLargePoints

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

  - ### withLogicOp

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

  - ### withMultiDrawIndirect

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

  - ### withMultiViewport

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

  - ### withOcclusionQueryPrecise

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

  - ### withPipelineStatisticsQuery

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

  - ### withRobustBufferAccess

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

  - ### withSamplerAnisotropy

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

  - ### withSampleRateShading

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

  - ### withShaderClipDistance

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

  - ### withShaderCullDistance

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

  - ### withShaderFloat64

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

  - ### withShaderImageGatherExtended

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

  - ### withShaderInt16

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

  - ### withShaderInt64

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

  - ### withShaderResourceMinLod

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

  - ### withShaderResourceResidency

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

  - ### withShaderSampledImageArrayDynamicIndexing

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

  - ### withShaderStorageBufferArrayDynamicIndexing

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

  - ### withShaderStorageImageArrayDynamicIndexing

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

  - ### withShaderStorageImageExtendedFormats

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

  - ### withShaderStorageImageMultisample

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

  - ### withShaderStorageImageReadWithoutFormat

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

  - ### withShaderStorageImageWriteWithoutFormat

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

  - ### withShaderTessellationAndGeometryPointSize

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

  - ### withShaderUniformBufferArrayDynamicIndexing

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

  - ### withSparseBinding

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

  - ### withSparseResidency16Samples

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

  - ### withSparseResidency2Samples

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

  - ### withSparseResidency4Samples

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

  - ### withSparseResidency8Samples

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

  - ### withSparseResidencyAliased

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

  - ### withSparseResidencyBuffer

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

  - ### withSparseResidencyImage2D

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

  - ### withSparseResidencyImage3D

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

  - ### withTessellationShader

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

  - ### withTextureCompressionASTC_LDR

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

  - ### withTextureCompressionBC

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

  - ### withTextureCompressionETC2

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

  - ### withVariableMultisampleRate

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

  - ### withVertexPipelineStoresAndAtomics

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

  - ### withWideLines

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

  - ### equals

    public boolean equals(Object another)
    This instance is equal to all instances of `VulkanPhysicalDeviceFeatures10` 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: `alphaToOne`, `depthBiasClamp`, `depthBounds`, `depthClamp`, `drawIndirectFirstInstance`, `dualSrcBlend`, `fillModeNonSolid`, `fragmentStoresAndAtomics`, `fullDrawIndexUint32`, `geometryShader`, `imageCubeArray`, `independentBlend`, `inheritedQueries`, `largePoints`, `logicOp`, `multiDrawIndirect`, `multiViewport`, `occlusionQueryPrecise`, `pipelineStatisticsQuery`, `robustBufferAccess`, `samplerAnisotropy`, `sampleRateShading`, `shaderClipDistance`, `shaderCullDistance`, `shaderFloat64`, `shaderImageGatherExtended`, `shaderInt16`, `shaderInt64`, `shaderResourceMinLod`, `shaderResourceResidency`, `shaderSampledImageArrayDynamicIndexing`, `shaderStorageBufferArrayDynamicIndexing`, `shaderStorageImageArrayDynamicIndexing`, `shaderStorageImageExtendedFormats`, `shaderStorageImageMultisample`, `shaderStorageImageReadWithoutFormat`, `shaderStorageImageWriteWithoutFormat`, `shaderTessellationAndGeometryPointSize`, `shaderUniformBufferArrayDynamicIndexing`, `sparseBinding`, `sparseResidency16Samples`, `sparseResidency2Samples`, `sparseResidency4Samples`, `sparseResidency8Samples`, `sparseResidencyAliased`, `sparseResidencyBuffer`, `sparseResidencyImage2D`, `sparseResidencyImage3D`, `tessellationShader`, `textureCompressionASTC_LDR`, `textureCompressionBC`, `textureCompressionETC2`, `variableMultisampleRate`, `vertexPipelineStoresAndAtomics`, `wideLines`.
    Overrides:
      `hashCode` in class `Object`
    Returns:
      hashCode value

  - ### toString

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

  - ### copyOf

    public static VulkanPhysicalDeviceFeatures10 copyOf(VulkanPhysicalDeviceFeatures10Type instance)
    Creates an immutable copy of a `VulkanPhysicalDeviceFeatures10Type` 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 VulkanPhysicalDeviceFeatures10 instance

  - ### builder

    public static VulkanPhysicalDeviceFeatures10.Builder builder()
    Creates a builder for `VulkanPhysicalDeviceFeatures10`.

        VulkanPhysicalDeviceFeatures10.builder()
           .setAlphaToOne(boolean) // optional alphaToOne
           .setDepthBiasClamp(boolean) // optional depthBiasClamp
           .setDepthBounds(boolean) // optional depthBounds
           .setDepthClamp(boolean) // optional depthClamp
           .setDrawIndirectFirstInstance(boolean) // optional drawIndirectFirstInstance
           .setDualSrcBlend(boolean) // optional dualSrcBlend
           .setFillModeNonSolid(boolean) // optional fillModeNonSolid
           .setFragmentStoresAndAtomics(boolean) // optional fragmentStoresAndAtomics
           .setFullDrawIndexUint32(boolean) // optional fullDrawIndexUint32
           .setGeometryShader(boolean) // optional geometryShader
           .setImageCubeArray(boolean) // optional imageCubeArray
           .setIndependentBlend(boolean) // optional independentBlend
           .setInheritedQueries(boolean) // optional inheritedQueries
           .setLargePoints(boolean) // optional largePoints
           .setLogicOp(boolean) // optional logicOp
           .setMultiDrawIndirect(boolean) // optional multiDrawIndirect
           .setMultiViewport(boolean) // optional multiViewport
           .setOcclusionQueryPrecise(boolean) // optional occlusionQueryPrecise
           .setPipelineStatisticsQuery(boolean) // optional pipelineStatisticsQuery
           .setRobustBufferAccess(boolean) // optional robustBufferAccess
           .setSamplerAnisotropy(boolean) // optional samplerAnisotropy
           .setSampleRateShading(boolean) // optional sampleRateShading
           .setShaderClipDistance(boolean) // optional shaderClipDistance
           .setShaderCullDistance(boolean) // optional shaderCullDistance
           .setShaderFloat64(boolean) // optional shaderFloat64
           .setShaderImageGatherExtended(boolean) // optional shaderImageGatherExtended
           .setShaderInt16(boolean) // optional shaderInt16
           .setShaderInt64(boolean) // optional shaderInt64
           .setShaderResourceMinLod(boolean) // optional shaderResourceMinLod
           .setShaderResourceResidency(boolean) // optional shaderResourceResidency
           .setShaderSampledImageArrayDynamicIndexing(boolean) // optional shaderSampledImageArrayDynamicIndexing
           .setShaderStorageBufferArrayDynamicIndexing(boolean) // optional shaderStorageBufferArrayDynamicIndexing
           .setShaderStorageImageArrayDynamicIndexing(boolean) // optional shaderStorageImageArrayDynamicIndexing
           .setShaderStorageImageExtendedFormats(boolean) // optional shaderStorageImageExtendedFormats
           .setShaderStorageImageMultisample(boolean) // optional shaderStorageImageMultisample
           .setShaderStorageImageReadWithoutFormat(boolean) // optional shaderStorageImageReadWithoutFormat
           .setShaderStorageImageWriteWithoutFormat(boolean) // optional shaderStorageImageWriteWithoutFormat
           .setShaderTessellationAndGeometryPointSize(boolean) // optional shaderTessellationAndGeometryPointSize
           .setShaderUniformBufferArrayDynamicIndexing(boolean) // optional shaderUniformBufferArrayDynamicIndexing
           .setSparseBinding(boolean) // optional sparseBinding
           .setSparseResidency16Samples(boolean) // optional sparseResidency16Samples
           .setSparseResidency2Samples(boolean) // optional sparseResidency2Samples
           .setSparseResidency4Samples(boolean) // optional sparseResidency4Samples
           .setSparseResidency8Samples(boolean) // optional sparseResidency8Samples
           .setSparseResidencyAliased(boolean) // optional sparseResidencyAliased
           .setSparseResidencyBuffer(boolean) // optional sparseResidencyBuffer
           .setSparseResidencyImage2D(boolean) // optional sparseResidencyImage2D
           .setSparseResidencyImage3D(boolean) // optional sparseResidencyImage3D
           .setTessellationShader(boolean) // optional tessellationShader
           .setTextureCompressionASTC_LDR(boolean) // optional textureCompressionASTC_LDR
           .setTextureCompressionBC(boolean) // optional textureCompressionBC
           .setTextureCompressionETC2(boolean) // optional textureCompressionETC2
           .setVariableMultisampleRate(boolean) // optional variableMultisampleRate
           .setVertexPipelineStoresAndAtomics(boolean) // optional vertexPipelineStoresAndAtomics
           .setWideLines(boolean) // optional wideLines
           .build();

    Returns:
      A new VulkanPhysicalDeviceFeatures10 builder