Skip to content

Instantly share code, notes, and snippets.

@mitchmindtree
Created February 27, 2020 17:41

Revisions

  1. mitchmindtree created this gist Feb 27, 2020.
    1,344 changes: 1,344 additions & 0 deletions vulkaninfo_output_20200227.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,1344 @@
    ==========
    VULKANINFO
    ==========

    Vulkan Instance Version: 1.1.114



    Instance Extensions:
    ====================
    Instance Extensions count = 18
    VK_EXT_acquire_xlib_display : extension revision 1
    VK_EXT_debug_report : extension revision 9
    VK_EXT_debug_utils : extension revision 1
    VK_EXT_direct_mode_display : extension revision 1
    VK_EXT_display_surface_counter : extension revision 1
    VK_KHR_device_group_creation : extension revision 1
    VK_KHR_display : extension revision 23
    VK_KHR_external_fence_capabilities : extension revision 1
    VK_KHR_external_memory_capabilities : extension revision 1
    VK_KHR_external_semaphore_capabilities: extension revision 1
    VK_KHR_get_display_properties2 : extension revision 1
    VK_KHR_get_physical_device_properties2: extension revision 1
    VK_KHR_get_surface_capabilities2 : extension revision 1
    VK_KHR_surface : extension revision 25
    VK_KHR_surface_protected_capabilities: extension revision 1
    VK_KHR_wayland_surface : extension revision 6
    VK_KHR_xcb_surface : extension revision 6
    VK_KHR_xlib_surface : extension revision 6
    Layers: count = 11
    =======
    VK_LAYER_GOOGLE_threading (Google Validation Layer) Vulkan version 1.1.114, layer version 1
    Layer Extensions count = 1
    VK_EXT_debug_report : extension revision 6
    Devices count = 1
    GPU id : 0 (Intel(R) HD Graphics 620 (Kaby Lake GT2))
    Layer-Device Extensions count = 0

    VK_LAYER_GOOGLE_unique_objects (Google Validation Layer) Vulkan version 1.1.114, layer version 1
    Layer Extensions count = 0
    Devices count = 1
    GPU id : 0 (Intel(R) HD Graphics 620 (Kaby Lake GT2))
    Layer-Device Extensions count = 0

    VK_LAYER_KHRONOS_validation (LunarG Validation Layer) Vulkan version 1.1.114, layer version 1
    Layer Extensions count = 1
    VK_EXT_debug_report : extension revision 6
    Devices count = 1
    GPU id : 0 (Intel(R) HD Graphics 620 (Kaby Lake GT2))
    Layer-Device Extensions count = 2
    VK_EXT_debug_marker : extension revision 4
    VK_EXT_validation_cache : extension revision 1

    VK_LAYER_LUNARG_core_validation (LunarG Validation Layer) Vulkan version 1.1.114, layer version 1
    Layer Extensions count = 1
    VK_EXT_debug_report : extension revision 6
    Devices count = 1
    GPU id : 0 (Intel(R) HD Graphics 620 (Kaby Lake GT2))
    Layer-Device Extensions count = 2
    VK_EXT_debug_marker : extension revision 4
    VK_EXT_validation_cache : extension revision 1

    VK_LAYER_LUNARG_object_tracker (LunarG Validation Layer) Vulkan version 1.1.114, layer version 1
    Layer Extensions count = 1
    VK_EXT_debug_report : extension revision 6
    Devices count = 1
    GPU id : 0 (Intel(R) HD Graphics 620 (Kaby Lake GT2))
    Layer-Device Extensions count = 1
    VK_EXT_debug_marker : extension revision 4

    VK_LAYER_LUNARG_parameter_validation (LunarG Validation Layer) Vulkan version 1.1.114, layer version 1
    Layer Extensions count = 1
    VK_EXT_debug_report : extension revision 6
    Devices count = 1
    GPU id : 0 (Intel(R) HD Graphics 620 (Kaby Lake GT2))
    Layer-Device Extensions count = 1
    VK_EXT_debug_marker : extension revision 4

    VK_LAYER_LUNARG_standard_validation (LunarG Standard Validation) Vulkan version 1.1.114, layer version 1
    Layer Extensions count = 1
    VK_EXT_debug_report : extension revision 6
    Devices count = 1
    GPU id : 0 (Intel(R) HD Graphics 620 (Kaby Lake GT2))
    Layer-Device Extensions count = 2
    VK_EXT_debug_marker : extension revision 4
    VK_EXT_validation_cache : extension revision 1

    VK_LAYER_VALVE_steam_fossilize_32 (Steam Pipeline Caching Layer) Vulkan version 1.1.73, layer version 1
    Layer Extensions count = 0
    Devices count = 1
    GPU id : 0 (Intel(R) HD Graphics 620 (Kaby Lake GT2))
    Layer-Device Extensions count = 0

    VK_LAYER_VALVE_steam_fossilize_64 (Steam Pipeline Caching Layer) Vulkan version 1.1.73, layer version 1
    Layer Extensions count = 0
    Devices count = 1
    GPU id : 0 (Intel(R) HD Graphics 620 (Kaby Lake GT2))
    Layer-Device Extensions count = 0

    VK_LAYER_VALVE_steam_overlay_32 (Steam Overlay Layer) Vulkan version 1.1.73, layer version 1
    Layer Extensions count = 0
    Devices count = 1
    GPU id : 0 (Intel(R) HD Graphics 620 (Kaby Lake GT2))
    Layer-Device Extensions count = 0

    VK_LAYER_VALVE_steam_overlay_64 (Steam Overlay Layer) Vulkan version 1.1.73, layer version 1
    Layer Extensions count = 0
    Devices count = 1
    GPU id : 0 (Intel(R) HD Graphics 620 (Kaby Lake GT2))
    Layer-Device Extensions count = 0

    Presentable Surfaces:
    =====================
    GPU id : 0 (Intel(R) HD Graphics 620 (Kaby Lake GT2))
    Surface type : VK_KHR_wayland_surface
    Formats: count = 2
    B8G8R8A8_SRGB
    B8G8R8A8_UNORM
    Present Modes: count = 2
    MAILBOX_KHR
    FIFO_KHR
    VkSurfaceCapabilitiesKHR:
    minImageCount = 4
    maxImageCount = 0
    currentExtent:
    width = 4294967295
    height = 4294967295
    minImageExtent:
    width = 1
    height = 1
    maxImageExtent:
    width = 16384
    height = 16384
    maxImageArrayLayers = 1
    supportedTransform:
    VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR
    currentTransform:
    VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR
    supportedCompositeAlpha:
    VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR
    VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR
    supportedUsageFlags:
    VK_IMAGE_USAGE_TRANSFER_SRC_BIT
    VK_IMAGE_USAGE_TRANSFER_DST_BIT
    VK_IMAGE_USAGE_SAMPLED_BIT
    VK_IMAGE_USAGE_STORAGE_BIT
    VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT
    VkSurfaceCapabilities2EXT:
    supportedSurfaceCounters:
    None

    GPU id : 0 (Intel(R) HD Graphics 620 (Kaby Lake GT2))
    Surface type : VK_KHR_xlib_surface
    Formats: count = 2
    B8G8R8A8_SRGB
    B8G8R8A8_UNORM
    Present Modes: count = 3
    IMMEDIATE_KHR
    MAILBOX_KHR
    FIFO_KHR
    VkSurfaceCapabilitiesKHR:
    minImageCount = 3
    maxImageCount = 0
    currentExtent:
    width = 256
    height = 256
    minImageExtent:
    width = 256
    height = 256
    maxImageExtent:
    width = 256
    height = 256
    maxImageArrayLayers = 1
    supportedTransform:
    VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR
    currentTransform:
    VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR
    supportedCompositeAlpha:
    VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR
    VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR
    supportedUsageFlags:
    VK_IMAGE_USAGE_TRANSFER_SRC_BIT
    VK_IMAGE_USAGE_TRANSFER_DST_BIT
    VK_IMAGE_USAGE_SAMPLED_BIT
    VK_IMAGE_USAGE_STORAGE_BIT
    VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT
    VkSurfaceCapabilities2EXT:
    supportedSurfaceCounters:
    None

    GPU id : 0 (Intel(R) HD Graphics 620 (Kaby Lake GT2))
    Surface type : VK_KHR_xcb_surface
    Formats: count = 2
    B8G8R8A8_SRGB
    B8G8R8A8_UNORM
    Present Modes: count = 3
    IMMEDIATE_KHR
    MAILBOX_KHR
    FIFO_KHR
    VkSurfaceCapabilitiesKHR:
    minImageCount = 3
    maxImageCount = 0
    currentExtent:
    width = 256
    height = 256
    minImageExtent:
    width = 256
    height = 256
    maxImageExtent:
    width = 256
    height = 256
    maxImageArrayLayers = 1
    supportedTransform:
    VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR
    currentTransform:
    VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR
    supportedCompositeAlpha:
    VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR
    VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR
    supportedUsageFlags:
    VK_IMAGE_USAGE_TRANSFER_SRC_BIT
    VK_IMAGE_USAGE_TRANSFER_DST_BIT
    VK_IMAGE_USAGE_SAMPLED_BIT
    VK_IMAGE_USAGE_STORAGE_BIT
    VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT
    VkSurfaceCapabilities2EXT:
    supportedSurfaceCounters:
    None


    Groups :
    ========
    Device Group Properties (Group 0) :
    physicalDeviceCount = 1

    Intel(R) HD Graphics 620 (Kaby Lake GT2) (ID: 0)

    subsetAllocation = 0

    Device Group Present Capabilities (Group 0) :

    Intel(R) HD Graphics 620 (Kaby Lake GT2) (ID: 0)
    Can present images from the following devices:
    Intel(R) HD Graphics 620 (Kaby Lake GT2) (ID: 0)

    Present modes:
    VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR



    Device Properties and Extensions :
    ==================================
    GPU0
    VkPhysicalDeviceProperties:
    ===========================
    apiVersion = 0x401066 (1.1.102)
    driverVersion = 79704066 (0x4c03002)
    vendorID = 0x8086
    deviceID = 0x5916
    deviceType = INTEGRATED_GPU
    deviceName = Intel(R) HD Graphics 620 (Kaby Lake GT2)
    VkPhysicalDeviceLimits:
    -----------------------
    maxImageDimension1D = 16384
    maxImageDimension2D = 16384
    maxImageDimension3D = 2048
    maxImageDimensionCube = 16384
    maxImageArrayLayers = 2048
    maxTexelBufferElements = 0x8000000
    maxUniformBufferRange = 0x8000000
    maxStorageBufferRange = 0x40000000
    maxPushConstantsSize = 128
    maxMemoryAllocationCount = 4294967295
    maxSamplerAllocationCount = 65536
    bufferImageGranularity = 0x40
    sparseAddressSpaceSize = 0x0
    maxBoundDescriptorSets = 8
    maxPerStageDescriptorSamplers = 65535
    maxPerStageDescriptorUniformBuffers = 64
    maxPerStageDescriptorStorageBuffers = 65535
    maxPerStageDescriptorSampledImages = 65535
    maxPerStageDescriptorStorageImages = 65535
    maxPerStageDescriptorInputAttachments = 64
    maxPerStageResources = 4294967295
    maxDescriptorSetSamplers = 393210
    maxDescriptorSetUniformBuffers = 384
    maxDescriptorSetUniformBuffersDynamic = 8
    maxDescriptorSetStorageBuffers = 393210
    maxDescriptorSetStorageBuffersDynamic = 8
    maxDescriptorSetSampledImages = 393210
    maxDescriptorSetStorageImages = 393210
    maxDescriptorSetInputAttachments = 256
    maxVertexInputAttributes = 28
    maxVertexInputBindings = 28
    maxVertexInputAttributeOffset = 0x7ff
    maxVertexInputBindingStride = 0x800
    maxVertexOutputComponents = 128
    maxTessellationGenerationLevel = 64
    maxTessellationPatchSize = 32
    maxTessellationControlPerVertexInputComponents = 128
    maxTessellationControlPerVertexOutputComponents = 128
    maxTessellationControlPerPatchOutputComponents = 128
    maxTessellationControlTotalOutputComponents = 2048
    maxTessellationEvaluationInputComponents = 128
    maxTessellationEvaluationOutputComponents = 128
    maxGeometryShaderInvocations = 32
    maxGeometryInputComponents = 64
    maxGeometryOutputComponents = 128
    maxGeometryOutputVertices = 256
    maxGeometryTotalOutputComponents = 1024
    maxFragmentInputComponents = 116
    maxFragmentOutputAttachments = 8
    maxFragmentDualSrcAttachments = 1
    maxFragmentCombinedOutputResources = 8
    maxComputeSharedMemorySize = 65536
    maxComputeWorkGroupCount[0] = 65535
    maxComputeWorkGroupCount[1] = 65535
    maxComputeWorkGroupCount[2] = 65535
    maxComputeWorkGroupInvocations = 1792
    maxComputeWorkGroupSize[0] = 1792
    maxComputeWorkGroupSize[1] = 1792
    maxComputeWorkGroupSize[2] = 1792
    subPixelPrecisionBits = 8
    subTexelPrecisionBits = 8
    mipmapPrecisionBits = 8
    maxDrawIndexedIndexValue = 4294967295
    maxDrawIndirectCount = 4294967295
    maxSamplerLodBias = 16.000000
    maxSamplerAnisotropy = 16.000000
    maxViewports = 16
    maxViewportDimensions[0] = 16384
    maxViewportDimensions[1] = 16384
    viewportBoundsRange[0] = -32768.000000
    viewportBoundsRange[1] = 32767.000000
    viewportSubPixelBits = 13
    minMemoryMapAlignment = 4096
    minTexelBufferOffsetAlignment = 0x10
    minUniformBufferOffsetAlignment = 0x20
    minStorageBufferOffsetAlignment = 0x4
    minTexelOffset = -8
    maxTexelOffset = 7
    minTexelGatherOffset = -32
    maxTexelGatherOffset = 31
    minInterpolationOffset = -0.500000
    maxInterpolationOffset = 0.437500
    subPixelInterpolationOffsetBits = 4
    maxFramebufferWidth = 16384
    maxFramebufferHeight = 16384
    maxFramebufferLayers = 2048
    framebufferColorSampleCounts = 31
    framebufferDepthSampleCounts = 31
    framebufferStencilSampleCounts = 31
    framebufferNoAttachmentsSampleCounts = 31
    maxColorAttachments = 8
    sampledImageColorSampleCounts = 31
    sampledImageDepthSampleCounts = 31
    sampledImageStencilSampleCounts = 31
    sampledImageIntegerSampleCounts = 31
    storageImageSampleCounts = 1
    maxSampleMaskWords = 1
    timestampComputeAndGraphics = 1
    timestampPeriod = 83.333336
    maxClipDistances = 8
    maxCullDistances = 8
    maxCombinedClipAndCullDistances = 8
    discreteQueuePriorities = 2
    pointSizeRange[0] = 0.125000
    pointSizeRange[1] = 255.875000
    lineWidthRange[0] = 0.000000
    lineWidthRange[1] = 2047.992188
    pointSizeGranularity = 0.125000
    lineWidthGranularity = 0.007812
    strictLines = 0
    standardSampleLocations = 1
    optimalBufferCopyOffsetAlignment = 0x80
    optimalBufferCopyRowPitchAlignment = 0x80
    nonCoherentAtomSize = 0x40
    VkPhysicalDeviceSparseProperties:
    ---------------------------------
    residencyStandard2DBlockShape = 0
    residencyStandard2DMultisampleBlockShape = 0
    residencyStandard3DBlockShape = 0
    residencyAlignedMipSize = 0
    residencyNonResidentStrict = 0

    VkPhysicalDevicePointClippingProperties:
    ========================================
    pointClippingBehavior = 1

    VkPhysicalDevicePushDescriptorProperties:
    =========================================
    maxPushDescriptors = 32

    VkPhysicalDeviceMultiviewProperties:
    ====================================
    maxMultiviewViewCount = 16
    maxMultiviewInstanceIndex = 268435455

    VkPhysicalDeviceMaintenance3Properties:
    =======================================
    maxPerSetDescriptors = 1024
    maxMemoryAllocationSize = 2147483648

    VkPhysicalDeviceIDProperties:
    =========================================
    deviceUUID = 6588f41d-5ce8-5159-bafd-03c69b748ef9
    driverUUID = e3184d83-f093-c8a8-1ecb-cbdfee09281c
    deviceLUIDValid = false

    VkPhysicalDeviceDriverProperties:
    =================================
    driverID = 6
    driverName = Intel open-source Mesa driver
    driverInfo = Mesa 19.3.2
    conformanceVersion:
    major = 1
    minor = 1
    subminor = 2
    patch = 0

    VkPhysicalDeviceFloatControlsProperties:
    ========================================
    separateDenormSettings = 1
    separateRoundingModeSettings = 2
    shaderSignedZeroInfNanPreserveFloat16 = 1
    shaderSignedZeroInfNanPreserveFloat32 = 1
    shaderSignedZeroInfNanPreserveFloat64 = 1
    shaderDenormPreserveFloat16 = 1
    shaderDenormPreserveFloat32 = 1
    shaderDenormPreserveFloat64 = 1
    shaderDenormFlushToZeroFloat16 = 0
    shaderDenormFlushToZeroFloat32 = 1
    shaderDenormFlushToZeroFloat64 = 1
    shaderRoundingModeRTEFloat16 = 1
    shaderRoundingModeRTEFloat32 = 1
    shaderRoundingModeRTEFloat64 = 1
    shaderRoundingModeRTZFloat16 = 1
    shaderRoundingModeRTZFloat32 = 1
    shaderRoundingModeRTZFloat64 = 1

    VkPhysicalDevicePCIBusInfoProperties
    ====================================
    pciDomain = 0
    pciBus = 0
    pciDevice = 2
    pciFunction = 0

    VkPhysicalDeviceTransformFeedbackProperties
    ===========================================
    maxTransformFeedbackStreams = 4
    maxTransformFeedbackBuffers = 4
    maxTransformFeedbackBufferSize = 4294967296
    maxTransformFeedbackStreamDataSize = 512
    maxTransformFeedbackBufferDataSize = 512
    maxTransformFeedbackBufferDataStride = 2048
    transformFeedbackQueries = 1
    transformFeedbackStreamsLinesTriangles = 0
    transformFeedbackRasterizationStreamSelect = 0
    transformFeedbackDraw = 1

    VkPhysicalDeviceDescriptorIndexingProperties
    ============================================
    maxUpdateAfterBindDescriptorsInAllPools = 524288
    shaderUniformBufferArrayNonUniformIndexingNative = 0
    shaderSampledImageArrayNonUniformIndexingNative = 0
    shaderStorageBufferArrayNonUniformIndexingNative = 1
    shaderStorageImageArrayNonUniformIndexingNative = 0
    shaderInputAttachmentArrayNonUniformIndexingNative = 0
    robustBufferAccessUpdateAfterBind = 1
    quadDivergentImplicitLod = 0
    maxPerStageDescriptorUpdateAfterBindSamplers = 524288
    maxPerStageDescriptorUpdateAfterBindUniformBuffers = 64
    maxPerStageDescriptorUpdateAfterBindStorageBuffers = 4294967295
    maxPerStageDescriptorUpdateAfterBindSampledImages = 524288
    maxPerStageDescriptorUpdateAfterBindStorageImages = 524288
    maxPerStageDescriptorUpdateAfterBindInputAttachments = 64
    maxPerStageUpdateAfterBindResources = 4294967295
    maxDescriptorSetUpdateAfterBindSamplers = 524288
    maxDescriptorSetUpdateAfterBindUniformBuffers = 384
    maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = 8
    maxDescriptorSetUpdateAfterBindStorageBuffer = 4294967295
    maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = 8
    maxDescriptorSetUpdateAfterBindSampledImages = 524288
    maxDescriptorSetUpdateAfterBindStorageImages = 524288
    maxDescriptorSetUpdateAfterBindInputAttachments = 256

    VkPhysicalDeviceDepthStencilResolveProperties
    ============================================
    supportedDepthResolveModes:
    VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR
    VK_RESOLVE_MODE_AVERAGE_BIT_KHR
    VK_RESOLVE_MODE_MIN_BIT_KHR
    VK_RESOLVE_MODE_MAX_BIT_KHR
    supportedStencilResolveModes:
    VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR
    VK_RESOLVE_MODE_MIN_BIT_KHR
    VK_RESOLVE_MODE_MAX_BIT_KHR
    independentResolveNone = 1
    independentResolve = 1

    Device Extensions count = 76
    VK_EXT_buffer_device_address : extension revision 1
    VK_EXT_calibrated_timestamps : extension revision 1
    VK_EXT_conditional_rendering : extension revision 1
    VK_EXT_depth_clip_enable : extension revision 1
    VK_EXT_descriptor_indexing : extension revision 2
    VK_EXT_display_control : extension revision 1
    VK_EXT_external_memory_dma_buf : extension revision 1
    VK_EXT_external_memory_host : extension revision 1
    VK_EXT_fragment_shader_interlock : extension revision 1
    VK_EXT_global_priority : extension revision 1
    VK_EXT_host_query_reset : extension revision 1
    VK_EXT_index_type_uint8 : extension revision 1
    VK_EXT_inline_uniform_block : extension revision 1
    VK_EXT_line_rasterization : extension revision 1
    VK_EXT_memory_budget : extension revision 1
    VK_EXT_pci_bus_info : extension revision 2
    VK_EXT_pipeline_creation_feedback : extension revision 1
    VK_EXT_post_depth_coverage : extension revision 1
    VK_EXT_sampler_filter_minmax : extension revision 1
    VK_EXT_scalar_block_layout : extension revision 1
    VK_EXT_separate_stencil_usage : extension revision 1
    VK_EXT_shader_demote_to_helper_invocation: extension revision 1
    VK_EXT_shader_stencil_export : extension revision 1
    VK_EXT_shader_subgroup_ballot : extension revision 1
    VK_EXT_shader_subgroup_vote : extension revision 1
    VK_EXT_shader_viewport_index_layer : extension revision 1
    VK_EXT_subgroup_size_control : extension revision 2
    VK_EXT_texel_buffer_alignment : extension revision 1
    VK_EXT_transform_feedback : extension revision 1
    VK_EXT_vertex_attribute_divisor : extension revision 3
    VK_EXT_ycbcr_image_arrays : extension revision 1
    VK_GOOGLE_decorate_string : extension revision 1
    VK_GOOGLE_hlsl_functionality1 : extension revision 1
    VK_INTEL_performance_query : extension revision 1
    VK_KHR_16bit_storage : extension revision 1
    VK_KHR_8bit_storage : extension revision 1
    VK_KHR_bind_memory2 : extension revision 1
    VK_KHR_create_renderpass2 : extension revision 1
    VK_KHR_dedicated_allocation : extension revision 1
    VK_KHR_depth_stencil_resolve : extension revision 1
    VK_KHR_descriptor_update_template : extension revision 1
    VK_KHR_device_group : extension revision 1
    VK_KHR_draw_indirect_count : extension revision 1
    VK_KHR_driver_properties : extension revision 1
    VK_KHR_external_fence : extension revision 1
    VK_KHR_external_fence_fd : extension revision 1
    VK_KHR_external_memory : extension revision 1
    VK_KHR_external_memory_fd : extension revision 1
    VK_KHR_external_semaphore : extension revision 1
    VK_KHR_external_semaphore_fd : extension revision 1
    VK_KHR_get_memory_requirements2 : extension revision 1
    VK_KHR_image_format_list : extension revision 1
    VK_KHR_imageless_framebuffer : extension revision 1
    VK_KHR_incremental_present : extension revision 1
    VK_KHR_maintenance1 : extension revision 1
    VK_KHR_maintenance2 : extension revision 1
    VK_KHR_maintenance3 : extension revision 1
    VK_KHR_multiview : extension revision 1
    VK_KHR_pipeline_executable_properties: extension revision 1
    VK_KHR_push_descriptor : extension revision 1
    VK_KHR_relaxed_block_layout : extension revision 1
    VK_KHR_sampler_mirror_clamp_to_edge : extension revision 1
    VK_KHR_sampler_ycbcr_conversion : extension revision 1
    VK_KHR_shader_atomic_int64 : extension revision 1
    VK_KHR_shader_clock : extension revision 1
    VK_KHR_shader_draw_parameters : extension revision 1
    VK_KHR_shader_float16_int8 : extension revision 1
    VK_KHR_shader_float_controls : extension revision 1
    VK_KHR_shader_subgroup_extended_types: extension revision 1
    VK_KHR_spirv_1_4 : extension revision 1
    VK_KHR_storage_buffer_storage_class : extension revision 1
    VK_KHR_swapchain : extension revision 70
    VK_KHR_uniform_buffer_standard_layout: extension revision 1
    VK_KHR_variable_pointers : extension revision 1
    VK_KHR_vulkan_memory_model : extension revision 3
    VK_NV_compute_shader_derivatives : extension revision 1

    VkQueueFamilyProperties[0]:
    ===========================
    queueFlags = GRAPHICS | COMPUTE | TRANSFER
    queueCount = 1
    timestampValidBits = 36
    minImageTransferGranularity = (1, 1, 1)
    present support = true

    VkPhysicalDeviceMemoryProperties:
    =================================
    memoryHeapCount = 2
    memoryHeaps[0] :
    size = 11439432704 (0x2a9d7e400) (10.65 GiB)
    budget = 11438915584
    usage = 0
    flags:
    VK_MEMORY_HEAP_DEVICE_LOCAL_BIT
    memoryHeaps[1] :
    size = 1073741824 (0x40000000) (1024.00 MiB)
    budget = 1073741824
    usage = 0
    flags:
    VK_MEMORY_HEAP_DEVICE_LOCAL_BIT
    memoryTypeCount = 2
    memoryTypes[0] :
    heapIndex = 0
    propertyFlags = 0xf:
    VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT
    VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT
    VK_MEMORY_PROPERTY_HOST_COHERENT_BIT
    VK_MEMORY_PROPERTY_HOST_CACHED_BIT
    usable for:
    OPTIMAL: color images, D16_UNORM, X8_D24_UNORM_PACK32, D32_SFLOAT, S8_UINT, D24_UNORM_S8_UINT, D32_SFLOAT_S8_UINT
    LINEAR: color images
    memoryTypes[1] :
    heapIndex = 1
    propertyFlags = 0xf:
    VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT
    VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT
    VK_MEMORY_PROPERTY_HOST_COHERENT_BIT
    VK_MEMORY_PROPERTY_HOST_CACHED_BIT
    usable for:
    OPTIMAL: color images, D16_UNORM, X8_D24_UNORM_PACK32, D32_SFLOAT, S8_UINT, D24_UNORM_S8_UINT, D32_SFLOAT_S8_UINT
    LINEAR: color images

    VkPhysicalDeviceFeatures:
    =========================
    robustBufferAccess = 1
    fullDrawIndexUint32 = 1
    imageCubeArray = 1
    independentBlend = 1
    geometryShader = 1
    tessellationShader = 1
    sampleRateShading = 1
    dualSrcBlend = 1
    logicOp = 1
    multiDrawIndirect = 1
    drawIndirectFirstInstance = 1
    depthClamp = 1
    depthBiasClamp = 1
    fillModeNonSolid = 1
    depthBounds = 0
    wideLines = 1
    largePoints = 1
    alphaToOne = 1
    multiViewport = 1
    samplerAnisotropy = 1
    textureCompressionETC2 = 1
    textureCompressionASTC_LDR = 1
    textureCompressionBC = 1
    occlusionQueryPrecise = 1
    pipelineStatisticsQuery = 1
    vertexPipelineStoresAndAtomics = 1
    fragmentStoresAndAtomics = 1
    shaderTessellationAndGeometryPointSize = 1
    shaderImageGatherExtended = 1
    shaderStorageImageExtendedFormats = 1
    shaderStorageImageMultisample = 0
    shaderStorageImageReadWithoutFormat = 0
    shaderStorageImageWriteWithoutFormat = 1
    shaderUniformBufferArrayDynamicIndexing = 1
    shaderSampledImageArrayDynamicIndexing = 1
    shaderStorageBufferArrayDynamicIndexing = 1
    shaderStorageImageArrayDynamicIndexing = 1
    shaderClipDistance = 1
    shaderCullDistance = 1
    shaderFloat64 = 1
    shaderInt64 = 1
    shaderInt16 = 1
    shaderResourceResidency = 0
    shaderResourceMinLod = 1
    sparseBinding = 0
    sparseResidencyBuffer = 0
    sparseResidencyImage2D = 0
    sparseResidencyImage3D = 0
    sparseResidency2Samples = 0
    sparseResidency4Samples = 0
    sparseResidency8Samples = 0
    sparseResidency16Samples = 0
    sparseResidencyAliased = 0
    variableMultisampleRate = 1
    inheritedQueries = 1

    VkPhysicalDevice8BitStorageFeatures:
    =====================================
    storageBuffer8BitAccess = 1
    uniformAndStorageBuffer8BitAccess = 1
    storagePushConstant8 = 1

    VkPhysicalDevice16BitStorageFeatures:
    =====================================
    storageBuffer16BitAccess = 1
    uniformAndStorageBuffer16BitAccess = 1
    storagePushConstant16 = 1
    storageInputOutput16 = 0

    VkPhysicalDeviceSamplerYcbcrConversionFeatures:
    ===============================================
    samplerYcbcrConversion = 1

    VkPhysicalDeviceVariablePointerFeatures:
    ========================================
    variablePointersStorageBuffer = 1
    variablePointers = 1

    VkPhysicalDeviceMultiviewFeatures:
    ==================================
    multiview = 1
    multiviewGeometryShader = 1
    multiviewTessellationShader = 1

    VkPhysicalDeviceFloat16Int8Features:
    ====================================
    shaderFloat16 = 1
    shaderInt8 = 1

    VkPhysicalDeviceShaderAtomicInt64Features:
    ==========================================
    shaderBufferInt64Atomics = 1
    shaderSharedInt64Atomics = 0

    VkPhysicalDeviceTransformFeedbackFeatures:
    ==========================================
    transformFeedback = 1
    geometryStreams = 1

    VkPhysicalDeviceScalarBlockLayoutFeatures:
    ==========================================
    scalarBlockLayout = 1

    VkPhysicalDeviceBufferAddressFeatures:
    ======================================
    bufferDeviceAddress = 1
    bufferDeviceAddressCaptureReplay = 0
    bufferDeviceAddressMultiDevice = 0

    VkPhysicalDeviceDescriptorIndexingFeatures:
    =======================================
    shaderInputAttachmentArrayDynamicIndexing = 0
    shaderUniformTexelBufferArrayDynamicIndexing = 1
    shaderStorageTexelBufferArrayDynamicIndexing = 1
    shaderUniformBufferArrayNonUniformIndexing = 0
    shaderSampledImageArrayNonUniformIndexing = 1
    shaderStorageBufferArrayNonUniformIndexing = 1
    shaderStorageImageArrayNonUniformIndexing = 1
    shaderInputAttachmentArrayNonUniformIndexing = 0
    shaderUniformTexelBufferArrayNonUniformIndexing = 1
    shaderStorageTexelBufferArrayNonUniformIndexing = 1
    descriptorBindingUniformBufferUpdateAfterBind = 0
    descriptorBindingSampledImageUpdateAfterBind = 1
    descriptorBindingStorageImageUpdateAfterBind = 1
    descriptorBindingStorageBufferUpdateAfterBind = 1
    descriptorBindingUniformTexelBufferUpdateAfterBind = 1
    descriptorBindingStorageTexelBufferUpdateAfterBind = 1
    descriptorBindingUpdateUnusedWhilePending = 1
    descriptorBindingPartiallyBound = 1
    descriptorBindingVariableDescriptorCount = 0
    runtimeDescriptorArray = 1

    VkPhysicalDeviceYcbcrImageArraysFeatures:
    =========================================
    ycbcrImageArrays = 1

    VkPhysicalDeviceHostQueryResetFeatures:
    =======================================
    hostQueryReset = 1

    Format Properties:
    ==================

    FORMAT_R4G4B4A4_UNORM_PACK16,
    FORMAT_B4G4R4A4_UNORM_PACK16:
    linearTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
    VK_FORMAT_FEATURE_BLIT_SRC_BIT
    VK_FORMAT_FEATURE_BLIT_DST_BIT
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    optimalTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
    VK_FORMAT_FEATURE_BLIT_SRC_BIT
    VK_FORMAT_FEATURE_BLIT_DST_BIT
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    bufferFeatures FormatFeatureFlags:
    VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT

    FORMAT_R5G6B5_UNORM_PACK16,
    FORMAT_B5G6R5_UNORM_PACK16,
    FORMAT_A1R5G5B5_UNORM_PACK16,
    FORMAT_R8G8B8A8_SRGB,
    FORMAT_B8G8R8A8_SRGB,
    FORMAT_A8B8G8R8_SRGB_PACK32:
    linearTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
    VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT
    VK_FORMAT_FEATURE_BLIT_SRC_BIT
    VK_FORMAT_FEATURE_BLIT_DST_BIT
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    optimalTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
    VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT
    VK_FORMAT_FEATURE_BLIT_SRC_BIT
    VK_FORMAT_FEATURE_BLIT_DST_BIT
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    bufferFeatures FormatFeatureFlags:
    VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT

    FORMAT_R8_UNORM,
    FORMAT_R8_SNORM,
    FORMAT_R8G8_UNORM,
    FORMAT_R8G8_SNORM,
    FORMAT_R8G8B8A8_UNORM,
    FORMAT_R8G8B8A8_SNORM,
    FORMAT_A8B8G8R8_UNORM_PACK32,
    FORMAT_A8B8G8R8_SNORM_PACK32,
    FORMAT_A2B10G10R10_UNORM_PACK32,
    FORMAT_R16_UNORM,
    FORMAT_R16_SNORM,
    FORMAT_R16_SFLOAT,
    FORMAT_R16G16_UNORM,
    FORMAT_R16G16_SNORM,
    FORMAT_R16G16_SFLOAT,
    FORMAT_R16G16B16A16_UNORM,
    FORMAT_R16G16B16A16_SNORM,
    FORMAT_R16G16B16A16_SFLOAT,
    FORMAT_R32_SFLOAT,
    FORMAT_R32G32_SFLOAT,
    FORMAT_R32G32B32A32_SFLOAT,
    FORMAT_B10G11R11_UFLOAT_PACK32:
    linearTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT
    VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
    VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT
    VK_FORMAT_FEATURE_BLIT_SRC_BIT
    VK_FORMAT_FEATURE_BLIT_DST_BIT
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    optimalTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT
    VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
    VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT
    VK_FORMAT_FEATURE_BLIT_SRC_BIT
    VK_FORMAT_FEATURE_BLIT_DST_BIT
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    bufferFeatures FormatFeatureFlags:
    VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT
    VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT
    VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT

    FORMAT_R8_USCALED,
    FORMAT_R8_SSCALED,
    FORMAT_R8G8_USCALED,
    FORMAT_R8G8_SSCALED,
    FORMAT_R8G8B8_USCALED,
    FORMAT_R8G8B8_SSCALED,
    FORMAT_R8G8B8A8_USCALED,
    FORMAT_R8G8B8A8_SSCALED,
    FORMAT_A8B8G8R8_USCALED_PACK32,
    FORMAT_A8B8G8R8_SSCALED_PACK32,
    FORMAT_A2R10G10B10_SNORM_PACK32,
    FORMAT_A2R10G10B10_USCALED_PACK32,
    FORMAT_A2R10G10B10_SSCALED_PACK32,
    FORMAT_A2R10G10B10_UINT_PACK32,
    FORMAT_A2R10G10B10_SINT_PACK32,
    FORMAT_A2B10G10R10_SNORM_PACK32,
    FORMAT_A2B10G10R10_USCALED_PACK32,
    FORMAT_A2B10G10R10_SSCALED_PACK32,
    FORMAT_A2B10G10R10_SINT_PACK32,
    FORMAT_R16_USCALED,
    FORMAT_R16_SSCALED,
    FORMAT_R16G16_USCALED,
    FORMAT_R16G16_SSCALED,
    FORMAT_R16G16B16_USCALED,
    FORMAT_R16G16B16_SSCALED,
    FORMAT_R16G16B16A16_USCALED,
    FORMAT_R16G16B16A16_SSCALED,
    FORMAT_R64_UINT,
    FORMAT_R64_SINT,
    FORMAT_R64_SFLOAT,
    FORMAT_R64G64_UINT,
    FORMAT_R64G64_SINT,
    FORMAT_R64G64_SFLOAT,
    FORMAT_R64G64B64_UINT,
    FORMAT_R64G64B64_SINT,
    FORMAT_R64G64B64_SFLOAT,
    FORMAT_R64G64B64A64_UINT,
    FORMAT_R64G64B64A64_SINT,
    FORMAT_R64G64B64A64_SFLOAT:
    linearTiling FormatFeatureFlags:
    None

    optimalTiling FormatFeatureFlags:
    None

    bufferFeatures FormatFeatureFlags:
    VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT

    FORMAT_R8_UINT,
    FORMAT_R8_SINT,
    FORMAT_R8G8_UINT,
    FORMAT_R8G8_SINT,
    FORMAT_R8G8B8A8_UINT,
    FORMAT_R8G8B8A8_SINT,
    FORMAT_A8B8G8R8_UINT_PACK32,
    FORMAT_A8B8G8R8_SINT_PACK32,
    FORMAT_A2B10G10R10_UINT_PACK32,
    FORMAT_R16_UINT,
    FORMAT_R16_SINT,
    FORMAT_R16G16_UINT,
    FORMAT_R16G16_SINT,
    FORMAT_R16G16B16A16_UINT,
    FORMAT_R16G16B16A16_SINT,
    FORMAT_R32G32_UINT,
    FORMAT_R32G32_SINT,
    FORMAT_R32G32B32A32_UINT,
    FORMAT_R32G32B32A32_SINT:
    linearTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT
    VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
    VK_FORMAT_FEATURE_BLIT_SRC_BIT
    VK_FORMAT_FEATURE_BLIT_DST_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    optimalTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT
    VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
    VK_FORMAT_FEATURE_BLIT_SRC_BIT
    VK_FORMAT_FEATURE_BLIT_DST_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    bufferFeatures FormatFeatureFlags:
    VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT
    VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT
    VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT

    FORMAT_R8_SRGB,
    FORMAT_R8G8B8_SRGB,
    FORMAT_E5B9G9R9_UFLOAT_PACK32:
    linearTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_BLIT_SRC_BIT
    VK_FORMAT_FEATURE_BLIT_DST_BIT
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    optimalTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_BLIT_SRC_BIT
    VK_FORMAT_FEATURE_BLIT_DST_BIT
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    bufferFeatures FormatFeatureFlags:
    VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT

    FORMAT_R8G8B8_UNORM,
    FORMAT_R16G16B16_UNORM,
    FORMAT_R32G32B32_SFLOAT:
    linearTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_BLIT_SRC_BIT
    VK_FORMAT_FEATURE_BLIT_DST_BIT
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    optimalTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_BLIT_SRC_BIT
    VK_FORMAT_FEATURE_BLIT_DST_BIT
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    bufferFeatures FormatFeatureFlags:
    VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT
    VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT

    FORMAT_R8G8B8_SNORM,
    FORMAT_R16G16B16_SNORM:
    linearTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_BLIT_SRC_BIT
    VK_FORMAT_FEATURE_BLIT_DST_BIT
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    optimalTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_BLIT_SRC_BIT
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    bufferFeatures FormatFeatureFlags:
    VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT
    VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT

    FORMAT_R8G8B8_UINT,
    FORMAT_R8G8B8_SINT,
    FORMAT_R16G16B16_UINT,
    FORMAT_R16G16B16_SINT,
    FORMAT_R32G32B32_UINT,
    FORMAT_R32G32B32_SINT:
    linearTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_BLIT_SRC_BIT
    VK_FORMAT_FEATURE_BLIT_DST_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    optimalTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_BLIT_SRC_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    bufferFeatures FormatFeatureFlags:
    VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT
    VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT

    FORMAT_B8G8R8A8_UNORM,
    FORMAT_A2R10G10B10_UNORM_PACK32:
    linearTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
    VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT
    VK_FORMAT_FEATURE_BLIT_SRC_BIT
    VK_FORMAT_FEATURE_BLIT_DST_BIT
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    optimalTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
    VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT
    VK_FORMAT_FEATURE_BLIT_SRC_BIT
    VK_FORMAT_FEATURE_BLIT_DST_BIT
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    bufferFeatures FormatFeatureFlags:
    VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT
    VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT

    FORMAT_R16G16B16_SFLOAT:
    linearTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_BLIT_SRC_BIT
    VK_FORMAT_FEATURE_BLIT_DST_BIT
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    optimalTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
    VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT
    VK_FORMAT_FEATURE_BLIT_SRC_BIT
    VK_FORMAT_FEATURE_BLIT_DST_BIT
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    bufferFeatures FormatFeatureFlags:
    VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT
    VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT

    FORMAT_R32_UINT,
    FORMAT_R32_SINT:
    linearTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT
    VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
    VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
    VK_FORMAT_FEATURE_BLIT_SRC_BIT
    VK_FORMAT_FEATURE_BLIT_DST_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    optimalTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT
    VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
    VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
    VK_FORMAT_FEATURE_BLIT_SRC_BIT
    VK_FORMAT_FEATURE_BLIT_DST_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    bufferFeatures FormatFeatureFlags:
    VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT
    VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT
    VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT
    VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT

    FORMAT_D16_UNORM,
    FORMAT_X8_D24_UNORM_PACK32,
    FORMAT_D32_SFLOAT,
    FORMAT_D24_UNORM_S8_UINT,
    FORMAT_D32_SFLOAT_S8_UINT:
    linearTiling FormatFeatureFlags:
    None

    optimalTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT
    VK_FORMAT_FEATURE_BLIT_SRC_BIT
    VK_FORMAT_FEATURE_BLIT_DST_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    bufferFeatures FormatFeatureFlags:
    None

    FORMAT_S8_UINT:
    linearTiling FormatFeatureFlags:
    None

    optimalTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT
    VK_FORMAT_FEATURE_BLIT_SRC_BIT
    VK_FORMAT_FEATURE_BLIT_DST_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    bufferFeatures FormatFeatureFlags:
    None

    FORMAT_BC1_RGB_UNORM_BLOCK,
    FORMAT_BC1_RGB_SRGB_BLOCK,
    FORMAT_BC1_RGBA_UNORM_BLOCK,
    FORMAT_BC1_RGBA_SRGB_BLOCK,
    FORMAT_BC2_UNORM_BLOCK,
    FORMAT_BC2_SRGB_BLOCK,
    FORMAT_BC3_UNORM_BLOCK,
    FORMAT_BC3_SRGB_BLOCK,
    FORMAT_BC4_UNORM_BLOCK,
    FORMAT_BC4_SNORM_BLOCK,
    FORMAT_BC5_UNORM_BLOCK,
    FORMAT_BC5_SNORM_BLOCK,
    FORMAT_BC6H_UFLOAT_BLOCK,
    FORMAT_BC6H_SFLOAT_BLOCK,
    FORMAT_BC7_UNORM_BLOCK,
    FORMAT_BC7_SRGB_BLOCK,
    FORMAT_ETC2_R8G8B8_UNORM_BLOCK,
    FORMAT_ETC2_R8G8B8_SRGB_BLOCK,
    FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK,
    FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK,
    FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK,
    FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK,
    FORMAT_EAC_R11_UNORM_BLOCK,
    FORMAT_EAC_R11_SNORM_BLOCK,
    FORMAT_EAC_R11G11_UNORM_BLOCK,
    FORMAT_EAC_R11G11_SNORM_BLOCK:
    linearTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_BLIT_SRC_BIT
    VK_FORMAT_FEATURE_BLIT_DST_BIT
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    optimalTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_BLIT_SRC_BIT
    VK_FORMAT_FEATURE_BLIT_DST_BIT
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    bufferFeatures FormatFeatureFlags:
    None

    FORMAT_ASTC_4x4_UNORM_BLOCK,
    FORMAT_ASTC_4x4_SRGB_BLOCK,
    FORMAT_ASTC_5x4_UNORM_BLOCK,
    FORMAT_ASTC_5x4_SRGB_BLOCK,
    FORMAT_ASTC_5x5_UNORM_BLOCK,
    FORMAT_ASTC_5x5_SRGB_BLOCK,
    FORMAT_ASTC_6x5_UNORM_BLOCK,
    FORMAT_ASTC_6x5_SRGB_BLOCK,
    FORMAT_ASTC_6x6_UNORM_BLOCK,
    FORMAT_ASTC_6x6_SRGB_BLOCK,
    FORMAT_ASTC_8x5_UNORM_BLOCK,
    FORMAT_ASTC_8x5_SRGB_BLOCK,
    FORMAT_ASTC_8x6_UNORM_BLOCK,
    FORMAT_ASTC_8x6_SRGB_BLOCK,
    FORMAT_ASTC_8x8_UNORM_BLOCK,
    FORMAT_ASTC_8x8_SRGB_BLOCK,
    FORMAT_ASTC_10x5_UNORM_BLOCK,
    FORMAT_ASTC_10x5_SRGB_BLOCK,
    FORMAT_ASTC_10x6_UNORM_BLOCK,
    FORMAT_ASTC_10x6_SRGB_BLOCK,
    FORMAT_ASTC_10x8_UNORM_BLOCK,
    FORMAT_ASTC_10x8_SRGB_BLOCK,
    FORMAT_ASTC_10x10_UNORM_BLOCK,
    FORMAT_ASTC_10x10_SRGB_BLOCK,
    FORMAT_ASTC_12x10_UNORM_BLOCK,
    FORMAT_ASTC_12x10_SRGB_BLOCK,
    FORMAT_ASTC_12x12_UNORM_BLOCK,
    FORMAT_ASTC_12x12_SRGB_BLOCK:
    linearTiling FormatFeatureFlags:
    None

    optimalTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_BLIT_SRC_BIT
    VK_FORMAT_FEATURE_BLIT_DST_BIT
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    bufferFeatures FormatFeatureFlags:
    None

    FORMAT_G8B8G8R8_422_UNORM,
    FORMAT_B8G8R8G8_422_UNORM:
    linearTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    optimalTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    bufferFeatures FormatFeatureFlags:
    None

    FORMAT_G8_B8_R8_3PLANE_420_UNORM,
    FORMAT_G8_B8R8_2PLANE_420_UNORM,
    FORMAT_G8_B8_R8_3PLANE_422_UNORM,
    FORMAT_G8_B8R8_2PLANE_422_UNORM,
    FORMAT_G16_B16_R16_3PLANE_420_UNORM,
    FORMAT_G16_B16R16_2PLANE_420_UNORM,
    FORMAT_G16_B16_R16_3PLANE_422_UNORM,
    FORMAT_G16_B16R16_2PLANE_422_UNORM:
    linearTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    optimalTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    bufferFeatures FormatFeatureFlags:
    None

    FORMAT_G8_B8_R8_3PLANE_444_UNORM,
    FORMAT_G16_B16_R16_3PLANE_444_UNORM:
    linearTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    optimalTiling FormatFeatureFlags:
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

    bufferFeatures FormatFeatureFlags:
    None

    Unsupported formats:
    FORMAT_UNDEFINED
    FORMAT_R4G4_UNORM_PACK8
    FORMAT_R5G5B5A1_UNORM_PACK16
    FORMAT_B5G5R5A1_UNORM_PACK16
    FORMAT_R8G8_SRGB
    FORMAT_B8G8R8_UNORM
    FORMAT_B8G8R8_SNORM
    FORMAT_B8G8R8_USCALED
    FORMAT_B8G8R8_SSCALED
    FORMAT_B8G8R8_UINT
    FORMAT_B8G8R8_SINT
    FORMAT_B8G8R8_SRGB
    FORMAT_B8G8R8A8_SNORM
    FORMAT_B8G8R8A8_USCALED
    FORMAT_B8G8R8A8_SSCALED
    FORMAT_B8G8R8A8_UINT
    FORMAT_B8G8R8A8_SINT
    FORMAT_D16_UNORM_S8_UINT
    FORMAT_R10X6_UNORM_PACK16
    FORMAT_R10X6G10X6_UNORM_2PACK16
    FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16
    FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16
    FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16
    FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16
    FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16
    FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16
    FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16
    FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16
    FORMAT_R12X4_UNORM_PACK16
    FORMAT_R12X4G12X4_UNORM_2PACK16
    FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16
    FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16
    FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16
    FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16
    FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16
    FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16
    FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16
    FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16
    FORMAT_G16B16G16R16_422_UNORM
    FORMAT_B16G16R16G16_422_UNORM