# Interface VulkanPhysicalDeviceFeatures11Type

All Known Implementing Classes:
  `VulkanPhysicalDeviceFeatures11`

@Immutable public interface VulkanPhysicalDeviceFeatures11Type
The features supported by a physical Vulkan 1.1 device.

See Also:
  - "VkPhysicalDeviceVulkan11Features"

- ## Method Summary

  Modifier and Type
  Method
  Description
  `default boolean`
  `multiview()`
  multiview specifies whether the implementation supports multiview rendering within a render pass.
  `default boolean`
  `multiviewGeometryShader()`
  multiviewGeometryShader specifies whether the implementation supports multiview rendering within a render pass, with geometry shaders.
  `default boolean`
  `multiviewTessellationShader()`
  multiviewTessellationShader specifies whether the implementation supports multiview rendering within a render pass, with tessellation shaders.
  `default boolean`
  `protectedMemory()`
  protectedMemory specifies whether protected memory is supported.
  `default boolean`
  `samplerYcbcrConversion()`
  samplerYcbcrConversion specifies whether the implementation supports sampler Y′CBCR conversion.
  `default boolean`
  `shaderDrawParameters()`
  shaderDrawParameters specifies whether the implementation supports the SPIR-V DrawParameters capability.
  `default boolean`
  `storageBuffer16BitAccess()`
  storageBuffer16BitAccess specifies whether objects in the StorageBuffer, ShaderRecordBufferKHR, or PhysicalStorageBuffer storage class with the Block decoration can have 16-bit integer and 16-bit floating-point members.
  `default boolean`
  `storageInputOutput16()`
  storageInputOutput16 specifies whether objects in the Input and Output storage classes can have 16-bit integer and 16-bit floating-point members.
  `default boolean`
  `storagePushConstant16()`
  storagePushConstant16 specifies whether objects in the PushConstant storage class can have 16-bit integer and 16-bit floating-point members.
  `default boolean`
  `uniformAndStorageBuffer16BitAccess()`
  uniformAndStorageBuffer16BitAccess specifies whether objects in the Uniform storage class with the Block decoration can have 16-bit integer and 16-bit floating-point members.
  `default boolean`
  `variablePointers()`
  variablePointers specifies whether the implementation supports the SPIR-V VariablePointers capability.
  `default boolean`
  `variablePointersStorageBuffer()`
  variablePointersStorageBuffer specifies whether the implementation supports the SPIR-V VariablePointersStorageBuffer capability.

- ## Method Details

  - ### multiview

    @Default default boolean multiview()
    multiview specifies whether the implementation supports multiview rendering within a render pass. If this feature is not enabled, the view mask of each subpass must always be zero.
    Returns:
      `true if supported`

  - ### multiviewGeometryShader

    @Default default boolean multiviewGeometryShader()
    multiviewGeometryShader specifies whether the implementation supports multiview rendering within a render pass, with geometry shaders. If this feature is not enabled, then a pipeline compiled against a subpass with a non-zero view mask must not include a geometry shader.
    Returns:
      `true if supported`

  - ### multiviewTessellationShader

    @Default default boolean multiviewTessellationShader()
    multiviewTessellationShader specifies whether the implementation supports multiview rendering within a render pass, with tessellation shaders. If this feature is not enabled, then a pipeline compiled against a subpass with a non-zero view mask must not include any tessellation shaders.
    Returns:
      `true if supported`

  - ### protectedMemory

    @Default default boolean protectedMemory()
    protectedMemory specifies whether protected memory is supported.
    Returns:
      `true if supported`

  - ### samplerYcbcrConversion

    @Default default boolean samplerYcbcrConversion()
    samplerYcbcrConversion specifies whether the implementation supports sampler Y′CBCR conversion. If samplerYcbcrConversion is VK_FALSE, sampler Y′CBCR conversion is not supported, and samplers using sampler Y′CBCR conversion must not be used.
    Returns:
      `true if supported`

  - ### shaderDrawParameters

    @Default default boolean shaderDrawParameters()
    shaderDrawParameters specifies whether the implementation supports the SPIR-V DrawParameters capability. When this feature is not enabled, shader modules must not declare the SPV_KHR_shader_draw_parameters extension or the DrawParameters capability.
    Returns:
      `true if supported`

  - ### storageBuffer16BitAccess

    @Default default boolean storageBuffer16BitAccess()
    storageBuffer16BitAccess specifies whether objects in the StorageBuffer, ShaderRecordBufferKHR, or PhysicalStorageBuffer storage class with the Block decoration can have 16-bit integer and 16-bit floating-point members. If this feature is not enabled, 16-bit integer or 16-bit floating-point members must not be used in such objects. This also specifies whether shader modules can declare the StorageBuffer16BitAccess capability.
    Returns:
      `true if supported`

  - ### storageInputOutput16

    @Default default boolean storageInputOutput16()
    storageInputOutput16 specifies whether objects in the Input and Output storage classes can have 16-bit integer and 16-bit floating-point members. If this feature is not enabled, 16-bit integer or 16-bit floating-point members must not be used in such objects. This also specifies whether shader modules can declare the StorageInputOutput16 capability.
    Returns:
      `true if supported`

  - ### storagePushConstant16

    @Default default boolean storagePushConstant16()
    storagePushConstant16 specifies whether objects in the PushConstant storage class can have 16-bit integer and 16-bit floating-point members. If this feature is not enabled, 16-bit integer or floating-point members must not be used in such objects. This also specifies whether shader modules can declare the StoragePushConstant16 capability.
    Returns:
      `true if supported`

  - ### uniformAndStorageBuffer16BitAccess

    @Default default boolean uniformAndStorageBuffer16BitAccess()
    uniformAndStorageBuffer16BitAccess specifies whether objects in the Uniform storage class with the Block decoration can have 16-bit integer and 16-bit floating-point members. If this feature is not enabled, 16-bit integer or 16-bit floating-point members must not be used in such objects. This also specifies whether shader modules can declare the UniformAndStorageBuffer16BitAccess capability.
    Returns:
      `true if supported`

  - ### variablePointers

    @Default default boolean variablePointers()
    variablePointers specifies whether the implementation supports the SPIR-V VariablePointers capability. When this feature is not enabled, shader modules must not declare the VariablePointers capability.
    Returns:
      `true if supported`

  - ### variablePointersStorageBuffer

    @Default default boolean variablePointersStorageBuffer()
    variablePointersStorageBuffer specifies whether the implementation supports the SPIR-V VariablePointersStorageBuffer capability. When this feature is not enabled, shader modules must not declare the SPV_KHR_variable_pointers extension or the VariablePointersStorageBuffer capability.
    Returns:
      `true if supported`