# Interface VulkanPhysicalDeviceFeatures13Type

All Known Implementing Classes:
  `VulkanPhysicalDeviceFeatures13`

@Immutable public interface VulkanPhysicalDeviceFeatures13Type
The features supported by a physical Vulkan 1.3 device.

See Also:
  - "VkPhysicalDeviceVulkan13Features"

- ## Method Summary

  Modifier and Type
  Method
  Description
  `default boolean`
  `computeFullSubgroups()`
  Indicates whether the implementation supports requiring full subgroups in compute, mesh, or task shaders via the VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT flag.
  `default boolean`
  `descriptorBindingInlineUniformBlockUpdateAfterBind()`
  Indicates whether the implementation supports updating inline uniform block descriptors after a set is bound.
  `default boolean`
  `dynamicRendering()`
  Specifies that the implementation supports dynamic render pass instances
  `default boolean`
  `inlineUniformBlock()`
  Indicates whether the implementation supports inline uniform block descriptors.
  `default boolean`
  `maintenance4()`
  Indicates that the implementation supports maintenance4.
  `default boolean`
  `pipelineCreationCacheControl()`
  `default boolean`
  `privateData()`
  Indicates whether the implementation supports private data.
  `default boolean`
  `robustImageAccess()`
  Indicates whether image accesses are tightly bounds-checked against the dimensions of the image view.
  `default boolean`
  `shaderDemoteToHelperInvocation()`
  Indicates whether the implementation supports the SPIR-V DemoteToHelperInvocationEXT capability.
  `default boolean`
  `shaderIntegerDotProduct()`
  Specifies whether shader modules can declare the DotProductInputAllKHR, DotProductInput4x8BitKHR, DotProductInput4x8BitPackedKHR and DotProductKHR capabilities.
  `default boolean`
  `shaderTerminateInvocation()`
  Specifies whether the implementation supports SPIR-V modules that use the SPV_KHR_terminate_invocation extension.
  `default boolean`
  `shaderZeroInitializeWorkgroupMemory()`
  Specifies whether the implementation supports initializing a variable in Workgroup storage class.
  `default boolean`
  `subgroupSizeControl()`
  Indicates whether the implementation supports controlling shader subgroup sizes via the VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT flag and the VkPipelineShaderStageRequiredSubgroupSizeCreateInfo structure.
  `default boolean`
  `synchronization2()`
  Indicates whether the implementation supports the new set of synchronization commands introduced in VK_KHR_synchronization2.
  `default boolean`
  `textureCompressionASTC_HDR()`
  Indicates whether all of the ASTC HDR compressed texture formats are supported.

- ## Method Details

  - ### robustImageAccess

    @Default default boolean robustImageAccess()
    Indicates whether image accesses are tightly bounds-checked against the dimensions of the image view. Invalid texels resulting from out of bounds image loads will be replaced as described in Texel Replacement, with either (0,0,1) or (0,0,0) values inserted for missing G, B, or A components based on the format.
    Returns:
      `true` if supported

  - ### inlineUniformBlock

    @Default default boolean inlineUniformBlock()
    Indicates whether the implementation supports inline uniform block descriptors. If this feature is not enabled, VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK must not be used.
    Returns:
      `true` if supported

  - ### descriptorBindingInlineUniformBlockUpdateAfterBind

    @Default default boolean descriptorBindingInlineUniformBlockUpdateAfterBind()
    Indicates whether the implementation supports updating inline uniform block descriptors after a set is bound. If this feature is not enabled, VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT must not be used with VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK.
    Returns:
      `true` if supported

  - ### pipelineCreationCacheControl

    @Default default boolean pipelineCreationCacheControl()
    Returns:
      `true` if supported

  - ### privateData

    @Default default boolean privateData()
    Indicates whether the implementation supports private data.
    Returns:
      `true` if supported

  - ### shaderDemoteToHelperInvocation

    @Default default boolean shaderDemoteToHelperInvocation()
    Indicates whether the implementation supports the SPIR-V DemoteToHelperInvocationEXT capability.
    Returns:
      `true` if supported

  - ### shaderTerminateInvocation

    @Default default boolean shaderTerminateInvocation()
    Specifies whether the implementation supports SPIR-V modules that use the SPV_KHR_terminate_invocation extension.
    Returns:
      `true` if supported

  - ### subgroupSizeControl

    @Default default boolean subgroupSizeControl()
    Indicates whether the implementation supports controlling shader subgroup sizes via the VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT flag and the VkPipelineShaderStageRequiredSubgroupSizeCreateInfo structure.
    Returns:
      `true` if supported

  - ### computeFullSubgroups

    @Default default boolean computeFullSubgroups()
    Indicates whether the implementation supports requiring full subgroups in compute, mesh, or task shaders via the VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT flag.
    Returns:
      `true` if supported

  - ### synchronization2

    @Default default boolean synchronization2()
    Indicates whether the implementation supports the new set of synchronization commands introduced in VK_KHR_synchronization2.
    Returns:
      `true` if supported

  - ### textureCompressionASTC_HDR

    @Default default boolean textureCompressionASTC_HDR()
    Indicates whether all of the ASTC HDR compressed texture formats are supported.
    Returns:
      `true` if supported

  - ### shaderZeroInitializeWorkgroupMemory

    @Default default boolean shaderZeroInitializeWorkgroupMemory()
    Specifies whether the implementation supports initializing a variable in Workgroup storage class.
    Returns:
      `true` if supported

  - ### dynamicRendering

    @Default default boolean dynamicRendering()
    Specifies that the implementation supports dynamic render pass instances
    Returns:
      `true` if supported

  - ### shaderIntegerDotProduct

    @Default default boolean shaderIntegerDotProduct()
    Specifies whether shader modules can declare the DotProductInputAllKHR, DotProductInput4x8BitKHR, DotProductInput4x8BitPackedKHR and DotProductKHR capabilities.
    Returns:
      `true` if supported

  - ### maintenance4

    @Default default boolean maintenance4()
    Indicates that the implementation supports maintenance4.
    Returns:
      `true` if supported