# Interface VulkanPhysicalDeviceFeatures10Type

All Known Implementing Classes:
  `VulkanPhysicalDeviceFeatures10`

@Immutable public interface VulkanPhysicalDeviceFeatures10Type
The features supported by a physical device.

See Also:
  - "VkPhysicalDeviceFeatures"

- ## Method Summary

  Modifier and Type
  Method
  Description
  `default boolean`
  `alphaToOne()`
  `default boolean`
  `depthBiasClamp()`
  `default boolean`
  `depthBounds()`
  `default boolean`
  `depthClamp()`
  `default boolean`
  `drawIndirectFirstInstance()`
  `default boolean`
  `dualSrcBlend()`
  `default boolean`
  `fillModeNonSolid()`
  `default boolean`
  `fragmentStoresAndAtomics()`
  `default boolean`
  `fullDrawIndexUint32()`
  `default boolean`
  `geometryShader()`
  `default boolean`
  `imageCubeArray()`
  `default boolean`
  `independentBlend()`
  `default boolean`
  `inheritedQueries()`
  `default boolean`
  `largePoints()`
  `default boolean`
  `logicOp()`
  `default boolean`
  `multiDrawIndirect()`
  `default boolean`
  `multiViewport()`
  `default boolean`
  `occlusionQueryPrecise()`
  `default boolean`
  `pipelineStatisticsQuery()`
  `default boolean`
  `robustBufferAccess()`
  `default boolean`
  `samplerAnisotropy()`
  `default boolean`
  `sampleRateShading()`
  `default boolean`
  `shaderClipDistance()`
  `default boolean`
  `shaderCullDistance()`
  `default boolean`
  `shaderFloat64()`
  `default boolean`
  `shaderImageGatherExtended()`
  `default boolean`
  `shaderInt16()`
  `default boolean`
  `shaderInt64()`
  `default boolean`
  `shaderResourceMinLod()`
  `default boolean`
  `shaderResourceResidency()`
  `default boolean`
  `shaderSampledImageArrayDynamicIndexing()`
  `default boolean`
  `shaderStorageBufferArrayDynamicIndexing()`
  `default boolean`
  `shaderStorageImageArrayDynamicIndexing()`
  `default boolean`
  `shaderStorageImageExtendedFormats()`
  `default boolean`
  `shaderStorageImageMultisample()`
  `default boolean`
  `shaderStorageImageReadWithoutFormat()`
  `default boolean`
  `shaderStorageImageWriteWithoutFormat()`
  `default boolean`
  `shaderTessellationAndGeometryPointSize()`
  `default boolean`
  `shaderUniformBufferArrayDynamicIndexing()`
  `default boolean`
  `sparseBinding()`
  `default boolean`
  `sparseResidency16Samples()`
  `default boolean`
  `sparseResidency2Samples()`
  `default boolean`
  `sparseResidency4Samples()`
  `default boolean`
  `sparseResidency8Samples()`
  `default boolean`
  `sparseResidencyAliased()`
  `default boolean`
  `sparseResidencyBuffer()`
  `default boolean`
  `sparseResidencyImage2D()`
  `default boolean`
  `sparseResidencyImage3D()`
  `default boolean`
  `tessellationShader()`
  `default boolean`
  `textureCompressionASTC_LDR()`
  `default boolean`
  `textureCompressionBC()`
  `default boolean`
  `textureCompressionETC2()`
  `default boolean`
  `variableMultisampleRate()`
  `default boolean`
  `vertexPipelineStoresAndAtomics()`
  `default boolean`
  `wideLines()`

- ## Method Details

  - ### alphaToOne

    @Default default boolean alphaToOne()
    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

    @Default default boolean depthBiasClamp()
    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

    @Default default boolean depthBounds()
    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

    @Default default boolean depthClamp()
    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

    @Default default boolean drawIndirectFirstInstance()
    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

    @Default default boolean dualSrcBlend()
    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

    @Default default boolean fillModeNonSolid()
    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

    @Default default boolean fragmentStoresAndAtomics()
    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

    @Default default boolean fullDrawIndexUint32()
    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

    @Default default boolean geometryShader()
    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

    @Default default boolean imageCubeArray()
    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

    @Default default boolean independentBlend()
    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

    @Default default boolean inheritedQueries()
    Returns:
      inheritedQueries : specifies whether a secondary command buffer may be executed while a query is active.

  - ### largePoints

    @Default default boolean largePoints()
    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

    @Default default boolean logicOp()
    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

    @Default default boolean multiDrawIndirect()
    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

    @Default default boolean multiViewport()
    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

    @Default default boolean occlusionQueryPrecise()
    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

    @Default default boolean pipelineStatisticsQuery()
    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

    @Default default boolean robustBufferAccess()
    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

    @Default default boolean samplerAnisotropy()
    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

    @Default default boolean sampleRateShading()
    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

    @Default default boolean shaderClipDistance()
    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

    @Default default boolean shaderCullDistance()
    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

    @Default default boolean shaderFloat64()
    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

    @Default default boolean shaderImageGatherExtended()
    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

    @Default default boolean shaderInt16()
    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

    @Default default boolean shaderInt64()
    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

    @Default default boolean shaderResourceMinLod()
    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

    @Default default boolean shaderResourceResidency()
    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

    @Default default boolean shaderSampledImageArrayDynamicIndexing()
    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

    @Default default boolean shaderStorageBufferArrayDynamicIndexing()
    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

    @Default default boolean shaderStorageImageArrayDynamicIndexing()
    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

    @Default default boolean shaderStorageImageExtendedFormats()
    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

    @Default default boolean shaderStorageImageMultisample()
    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

    @Default default boolean shaderStorageImageReadWithoutFormat()
    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

    @Default default boolean shaderStorageImageWriteWithoutFormat()
    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

    @Default default boolean shaderTessellationAndGeometryPointSize()
    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

    @Default default boolean shaderUniformBufferArrayDynamicIndexing()
    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

    @Default default boolean sparseBinding()
    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

    @Default default boolean sparseResidency16Samples()
    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

    @Default default boolean sparseResidency2Samples()
    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

    @Default default boolean sparseResidency4Samples()
    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

    @Default default boolean sparseResidency8Samples()
    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

    @Default default boolean sparseResidencyAliased()
    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

    @Default default boolean sparseResidencyBuffer()
    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

    @Default default boolean sparseResidencyImage2D()
    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

    @Default default boolean sparseResidencyImage3D()
    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

    @Default default boolean tessellationShader()
    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

    @Default default boolean textureCompressionASTC_LDR()
    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

    @Default default boolean textureCompressionBC()
    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

    @Default default boolean textureCompressionETC2()
    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

    @Default default boolean variableMultisampleRate()
    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

    @Default default boolean vertexPipelineStoresAndAtomics()
    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

    @Default default boolean wideLines()
    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.