waifu2x converter ncnn version, runs fast on intel / amd / nvidia GPU with vulkan

Overview

waifu2x ncnn Vulkan

CI download

ncnn implementation of waifu2x converter. Runs fast on Intel / AMD / Nvidia with Vulkan API.

waifu2x-ncnn-vulkan uses ncnn project as the universal neural network inference framework.

Download

Download Windows/Linux/MacOS Executable for Intel/AMD/Nvidia GPU

https://github.com/nihui/waifu2x-ncnn-vulkan/releases

This package includes all the binaries and models required. It is portable, so no CUDA or Caffe runtime environment is needed :)

Usages

Example Command

waifu2x-ncnn-vulkan.exe -i input.jpg -o output.png -n 2 -s 2

Full Usages

Usage: waifu2x-ncnn-vulkan -i infile -o outfile [options]...

  -h                   show this help
  -v                   verbose output
  -i input-path        input image path (jpg/png/webp) or directory
  -o output-path       output image path (jpg/png/webp) or directory
  -n noise-level       denoise level (-1/0/1/2/3, default=0)
  -s scale             upscale ratio (1/2/4/8/16/32, default=2)
  -t tile-size         tile size (>=32/0=auto, default=0) can be 0,0,0 for multi-gpu
  -m model-path        waifu2x model path (default=models-cunet)
  -g gpu-id            gpu device to use (-1=cpu, default=auto) can be 0,1,2 for multi-gpu
  -j load:proc:save    thread count for load/proc/save (default=1:2:2) can be 1:2,2,2:2 for multi-gpu
  -x                   enable tta mode
  -f format            output image format (jpg/png/webp, default=ext/png)
  • input-path and output-path accept either file path or directory path
  • noise-level = noise level, large value means strong denoise effect, -1 = no effect
  • scale = scale level, 1 = no scaling, 2 = upscale 2x
  • tile-size = tile size, use smaller value to reduce GPU memory usage, default selects automatically
  • load:proc:save = thread count for the three stages (image decoding + waifu2x upscaling + image encoding), using larger values may increase GPU usage and consume more GPU memory. You can tune this configuration with "4:4:4" for many small-size images, and "2:2:2" for large-size images. The default setting usually works fine for most situations. If you find that your GPU is hungry, try increasing thread count to achieve faster processing.
  • format = the format of the image to be output, png is better supported, however webp generally yields smaller file sizes, both are losslessly encoded

If you encounter a crash or error, try upgrading your GPU driver:

Build from Source

  1. Download and setup the Vulkan SDK from https://vulkan.lunarg.com/
  • For Linux distributions, you can either get the essential build requirements from package manager
dnf install vulkan-headers vulkan-loader-devel
apt-get install libvulkan-dev
pacman -S vulkan-headers vulkan-icd-loader
  1. Clone this project with all submodules
git clone https://github.com/nihui/waifu2x-ncnn-vulkan.git
cd waifu2x-ncnn-vulkan
git submodule update --init --recursive
  1. Build with CMake
  • You can pass -DUSE_STATIC_MOLTENVK=ON option to avoid linking the vulkan loader library on MacOS
mkdir build
cd build
cmake ../src
cmake --build . -j 4

Speed Comparison with waifu2x-caffe-cui

Environment

  • Windows 10 1809
  • AMD R7-1700
  • Nvidia GTX-1070
  • Nvidia driver 419.67
  • CUDA 10.1.105
  • cuDNN 10.1
Measure-Command { waifu2x-ncnn-vulkan.exe -i input.png -o output.png -n 2 -s 2 -t [block size] -m [model dir] }
Measure-Command { waifu2x-caffe-cui.exe -t 0 --gpu 0 -b 1 -c [block size] -p cudnn --model_dir [model dir] -s 2 -n 2 -m noise_scale -i input.png -o output.png }

cunet

Image Size Target Size Block Size Total Time(s) GPU Memory(MB)
waifu2x-ncnn-vulkan 200x200 400x400 400/200/100 0.86/0.86/0.82 638/638/197
waifu2x-caffe-cui 200x200 400x400 400/200/100 2.54/2.39/2.36 3017/936/843
waifu2x-ncnn-vulkan 400x400 800x800 400/200/100 1.17/1.04/1.02 2430/638/197
waifu2x-caffe-cui 400x400 800x800 400/200/100 2.91/2.43/2.7 3202/1389/1178
waifu2x-ncnn-vulkan 1000x1000 2000x2000 400/200/100 2.35/2.26/2.46 2430/638/197
waifu2x-caffe-cui 1000x1000 2000x2000 400/200/100 4.04/3.79/4.35 3258/1582/1175
waifu2x-ncnn-vulkan 2000x2000 4000x4000 400/200/100 6.46/6.59/7.49 2430/686/213
waifu2x-caffe-cui 2000x2000 4000x4000 400/200/100 7.01/7.54/10.11 3258/1499/1200
waifu2x-ncnn-vulkan 4000x4000 8000x8000 400/200/100 22.78/23.78/27.61 2448/654/213
waifu2x-caffe-cui 4000x4000 8000x8000 400/200/100 18.45/21.85/31.82 3325/1652/1236

upconv_7_anime_style_art_rgb

Image Size Target Size Block Size Total Time(s) GPU Memory(MB)
waifu2x-ncnn-vulkan 200x200 400x400 400/200/100 0.74/0.75/0.72 482/482/142
waifu2x-caffe-cui 200x200 400x400 400/200/100 2.04/1.99/1.99 995/546/459
waifu2x-ncnn-vulkan 400x400 800x800 400/200/100 0.95/0.83/0.81 1762/482/142
waifu2x-caffe-cui 400x400 800x800 400/200/100 2.08/2.12/2.11 995/546/459
waifu2x-ncnn-vulkan 1000x1000 2000x2000 400/200/100 1.52/1.41/1.44 1778/482/142
waifu2x-caffe-cui 1000x1000 2000x2000 400/200/100 2.72/2.60/2.68 1015/570/459
waifu2x-ncnn-vulkan 2000x2000 4000x4000 400/200/100 3.45/3.42/3.63 1778/482/142
waifu2x-caffe-cui 2000x2000 4000x4000 400/200/100 3.90/4.01/4.35 1015/521/462
waifu2x-ncnn-vulkan 4000x4000 8000x8000 400/200/100 11.16/11.29/12.07 1796/498/158
waifu2x-caffe-cui 4000x4000 8000x8000 400/200/100 9.24/9.81/11.16 995/546/436

Sample Images

Original Image

origin

Upscale 2x with ImageMagick

convert origin.jpg -resize 200% output.png

browser

Upscale 2x with ImageMagick Lanczo4 Filter

convert origin.jpg -filter Lanczos -resize 200% output.png

browser

Upscale 2x with waifu2x noise=2 scale=2

waifu2x-ncnn-vulkan.exe -i origin.jpg -o output.png -n 2 -s 2

waifu2x

Original waifu2x Project

Other Open-Source Code Used

Issues
  • missing color channels ?

    missing color channels ?

    tried release version 20200224 cmd: run.exe -i .\input\2225654d7eac7d8b1706169d4bd75d3e_original.jpg -o .\output\test1.jpg -n 1 -s 2 -g 0 went from 2225654d7eac7d8b1706169d4bd75d3e_original

    to test1

    windows 10 64x 1909 gpu: rx 5700 xt and rx 470 (both gpu same result) driver: 20.2.2

    bug 
    opened by FluffyDiscord 47
  • The enlarged result is different from waifu2x-caffe.

    The enlarged result is different from waifu2x-caffe.

    Ryzen 2400G [0 AMD Radeon(TM) RX Vega 11 Graphics] queueC=1 queueT=2 memU=2 memDL=0 memHV=1 [0 AMD Radeon(TM) RX Vega 11 Graphics] fp16s=1 fp16a=1 int8s=1 int8a=1

    input file test

    waifu2x-ncnn-vulkan ver 20190407

    waifu2x.exe "%~1" "%~dpn1-ncnn-vulkan-2x.png" -1 2
    waifu2x.exe "%~dpn1-ncnn-vulkan-2x.png" "%~dpn1-ncnn-vulkan-4x.png" -1 2
    

    test-ncnn-vulkan-4x

    waifu2x-caffe ver 1.2.0.2

    waifu2x-caffe-cui.exe -t 0 -b 1 -c 128 -p cpu --model_dir ./models/cunet -s 2 -m scale -i "%~1" -o "%~dpn1-caffe-2x.png"
    waifu2x-caffe-cui.exe -t 0 -b 1 -c 128 -p cpu --model_dir ./models/cunet -s 2 -m scale -i "%~dpn1-caffe-2x.png" -o "%~dpn1-caffe-4x.png"
    

    test-caffe-4x

    bug 
    opened by f11894 21
  • The webp output is not working.

    The webp output is not working.

    When output png, there is no problem, but if you modify it to webp, the webp will not be output. Is this a bug? Or am I mistaken?

    Use version is 20200818.

    opened by Kafu-Yukimura 12
  • Error: _wfopen ??? failed ← when call waifu2x outside exe folder

    Error: _wfopen ??? failed ← when call waifu2x outside exe folder

    Tried to run any image through waifu2x, but get this error:

    >waifu2x-ncnn-vulkan -i i.jpg -o o.png -n 2 -s 2
    [0 GeForce GTX 1060 6GB]  queueC=2[8]  queueT=1[2]  memU=4294967295  memDL=7  memHV=9
    [0 GeForce GTX 1060 6GB]  fp16p=1  fp16s=1  fp16a=0  int8s=1  int8a=1
    _wfopen ??? failed
    

    Does I need any external requirements?

    CPU: Intel(R) Core(TM) i7-4820K CPU @ 3.70GHz GPU: GeForce GTX 1060 6GB NVIDIA Driver version: 436.02 OS: Windows 10.0.17134 x64

    EDIT: with help of gnattu I figured out, what I have that error if call waifu2x outside of exe folder (this folder in PATH variable), this issue only when console in different catalog, than waifu2x-ncnn-vulkan.exe.

    opened by XCanG 11
  • Upscaling  large image on Intel GPU and Linux will get black picture instead

    Upscaling large image on Intel GPU and Linux will get black picture instead

    Used the "1.png" as the original image, keep upscaling its upscaled result. The first result (1004 * 720) seems fine, but the second result (2008 * 1440) is a black image. The first result: 1_2x The second result: 1_4x

    Vulkan info:

    ===========
    VULKAN INFO
    ===========
    
    Vulkan Instance Version: 1.1.70
    
    
    
    Instance Extensions:
    ====================
    Instance Extensions	count = 16
    	VK_KHR_device_group_creation        : extension revision  1
    	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_physical_device_properties2: extension revision  1
    	VK_KHR_get_surface_capabilities2    : extension revision  1
    	VK_KHR_surface                      : extension revision 25
    	VK_KHR_wayland_surface              : extension revision  6
    	VK_KHR_xcb_surface                  : extension revision  6
    	VK_KHR_xlib_surface                 : extension revision  6
    	VK_KHR_display                      : extension revision 23
    	VK_EXT_direct_mode_display          : extension revision  1
    	VK_EXT_acquire_xlib_display         : extension revision  1
    	VK_EXT_display_surface_counter      : extension revision  1
    	VK_EXT_debug_report                 : extension revision  9
    	VK_EXT_debug_utils                  : extension revision  1
    Layers: count = 10
    =======
    VK_LAYER_LUNARG_parameter_validation (LunarG Validation Layer) Vulkan version 1.1.70, 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_core_validation (LunarG Validation Layer) Vulkan version 1.1.70, 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.70, 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_GOOGLE_threading (Google Validation Layer) Vulkan version 1.1.70, 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.70, 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_LUNARG_standard_validation (LunarG Standard Validation) Vulkan version 1.1.70, 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_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
    
    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_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_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
    
    Presentable Surfaces:
    =====================
    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       = 2
    	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_COLOR_ATTACHMENT_BIT
    
    VkSurfaceCapabilities2EXT:
    ==========================
    
    	supportedSurfaceCounters:
    		None
    
    
    Device Properties and Extensions :
    ==================================
    GPU0
    VkPhysicalDeviceProperties:
    ===========================
    	apiVersion     = 0x401050  (1.1.80)
    	driverVersion  = 75505672 (0x4802008)
    	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           = 128
    		maxPerStageDescriptorUniformBuffers     = 64
    		maxPerStageDescriptorStorageBuffers     = 64
    		maxPerStageDescriptorSampledImages      = 128
    		maxPerStageDescriptorStorageImages      = 64
    		maxPerStageDescriptorInputAttachments   = 64
    		maxPerStageResources                    = 250
    		maxDescriptorSetSamplers                = 768
    		maxDescriptorSetUniformBuffers          = 384
    		maxDescriptorSetUniformBuffersDynamic   = 8
    		maxDescriptorSetStorageBuffers          = 384
    		maxDescriptorSetStorageBuffersDynamic   = 8
    		maxDescriptorSetSampledImages           = 768
    		maxDescriptorSetStorageImages           = 384
    		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              = 112
    		maxFragmentOutputAttachments            = 8
    		maxFragmentDualSrcAttachments           = 1
    		maxFragmentCombinedOutputResources      = 8
    		maxComputeSharedMemorySize              = 0x8000
    		maxComputeWorkGroupCount[0]             = 65535
    		maxComputeWorkGroupCount[1]             = 65535
    		maxComputeWorkGroupCount[2]             = 65535
    		maxComputeWorkGroupInvocations          = 896
    		maxComputeWorkGroupSize[0]              = 896
    		maxComputeWorkGroupSize[1]              = 896
    		maxComputeWorkGroupSize[2]              = 896
    		subPixelPrecisionBits                   = 4
    		subTexelPrecisionBits                   = 4
    		mipmapPrecisionBits                     = 4
    		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           = 0x1
    		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         = 1
    		storageImageSampleCounts                = 1
    		maxSampleMaskWords                      = 1
    		timestampComputeAndGraphics             = 0
    		timestampPeriod                         = 83.333336
    		maxClipDistances                        = 8
    		maxCullDistances                        = 8
    		maxCombinedClipAndCullDistances         = 8
    		discreteQueuePriorities                 = 1
    		pointSizeRange[0]                       = 0.125000
    		pointSizeRange[1]                       = 255.875000
    		lineWidthRange[0]                       = 0.000000
    		lineWidthRange[1]                       = 7.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
    
    Device Extensions	count = 35
    	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_descriptor_update_template   : extension revision  1
    	VK_KHR_device_group                 : 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_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_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_draw_parameters       : extension revision  1
    	VK_KHR_storage_buffer_storage_class : extension revision  1
    	VK_KHR_swapchain                    : extension revision 68
    	VK_KHR_variable_pointers            : extension revision  1
    	VK_KHR_multiview                    : extension revision  1
    	VK_EXT_display_control              : extension revision  1
    	VK_EXT_external_memory_dma_buf      : extension revision  1
    	VK_EXT_global_priority              : extension revision  1
    	VK_EXT_shader_viewport_index_layer  : extension revision  1
    	VK_EXT_shader_stencil_export        : extension revision  1
    	VK_EXT_vertex_attribute_divisor     : extension revision  3
    	VK_EXT_post_depth_coverage          : extension revision  1
    
    VkQueueFamilyProperties[0]:
    ===========================
    	queueFlags         = GRAPHICS | COMPUTE | TRANSFER
    	queueCount         = 1
    	timestampValidBits = 36
    	minImageTransferGranularity = (1, 1, 1)
    
    VkPhysicalDeviceMemoryProperties:
    =================================
    	memoryHeapCount       = 2
    	memoryHeaps[0] :
    		size          = 11429983232 (0x2a947b400) (10.65 GiB)
    		flags:
    			VK_MEMORY_HEAP_DEVICE_LOCAL_BIT
    	memoryHeaps[1] :
    		size          = 1073741824 (0x40000000) (1024.00 MiB)
    		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
    	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
    
    VkPhysicalDeviceFeatures:
    =========================
    	alphaToOne                              = 1
    	depthBiasClamp                          = 1
    	depthBounds                             = 0
    	depthClamp                              = 1
    	drawIndirectFirstInstance               = 1
    	dualSrcBlend                            = 1
    	fillModeNonSolid                        = 1
    	fragmentStoresAndAtomics                = 1
    	fullDrawIndexUint32                     = 1
    	geometryShader                          = 1
    	imageCubeArray                          = 1
    	independentBlend                        = 1
    	inheritedQueries                        = 1
    	largePoints                             = 1
    	logicOp                                 = 1
    	multiDrawIndirect                       = 1
    	multiViewport                           = 1
    	occlusionQueryPrecise                   = 1
    	pipelineStatisticsQuery                 = 1
    	robustBufferAccess                      = 1
    	samplerAnisotropy                       = 1
    	sampleRateShading                       = 1
    	shaderClipDistance                      = 1
    	shaderCullDistance                      = 1
    	shaderFloat64                           = 1
    	shaderImageGatherExtended               = 1
    	shaderInt16                             = 1
    	shaderInt64                             = 1
    	shaderSampledImageArrayDynamicIndexing  = 1
    	shaderStorageBufferArrayDynamicIndexing = 1
    	shaderStorageImageArrayDynamicIndexing  = 1
    	shaderStorageImageExtendedFormats       = 1
    	shaderStorageImageMultisample           = 0
    	shaderStorageImageReadWithoutFormat     = 0
    	shaderStorageImageWriteWithoutFormat    = 1
    	shaderTessellationAndGeometryPointSize  = 1
    	shaderUniformBufferArrayDynamicIndexing = 1
    	sparseBinding                           = 0
    	sparseResidency2Samples                 = 0
    	sparseResidency4Samples                 = 0
    	sparseResidency8Samples                 = 0
    	sparseResidency16Samples                = 0
    	sparseResidencyAliased                  = 0
    	sparseResidencyBuffer                   = 0
    	sparseResidencyImage2D                  = 0
    	sparseResidencyImage3D                  = 0
    	shaderResourceMinLod                    = 0
    	shaderResourceResidency                 = 0
    	tessellationShader                      = 1
    	textureCompressionASTC_LDR              = 1
    	textureCompressionBC                    = 1
    	textureCompressionETC2                  = 1
    	variableMultisampleRate                 = 1
    	vertexPipelineStoresAndAtomics          = 1
    	wideLines                               = 1
    
    Format Properties:
    ==================
    FORMAT_UNDEFINED:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		None
    
    FORMAT_R4G4_UNORM_PACK8:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		None
    
    FORMAT_R4G4B4A4_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_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:
    	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_B5G6R5_UNORM_PACK16:
    	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_R5G5B5A1_UNORM_PACK16:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		None
    
    FORMAT_B5G5R5A1_UNORM_PACK16:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		None
    
    FORMAT_A1R5G5B5_UNORM_PACK16:
    	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:
    	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_SNORM:
    	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:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_R8_SSCALED:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_R8_UINT:
    	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_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:
    	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_R8G8_UNORM:
    	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_R8G8_SNORM:
    	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_R8G8_USCALED:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_R8G8_SSCALED:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_R8G8_UINT:
    	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_R8G8_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_R8G8_SRGB:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		None
    
    FORMAT_R8G8B8_UNORM:
    	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:
    	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_USCALED:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_R8G8B8_SSCALED:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_R8G8B8_UINT:
    	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_R8G8B8_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_R8G8B8_SRGB:
    	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_B8G8R8_UNORM:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		None
    
    FORMAT_B8G8R8_SNORM:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		None
    
    FORMAT_B8G8R8_USCALED:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		None
    
    FORMAT_B8G8R8_SSCALED:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		None
    
    FORMAT_B8G8R8_UINT:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		None
    
    FORMAT_B8G8R8_SINT:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		None
    
    FORMAT_B8G8R8_SRGB:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		None
    
    FORMAT_R8G8B8A8_UNORM:
    	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_R8G8B8A8_SNORM:
    	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_R8G8B8A8_USCALED:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_R8G8B8A8_SSCALED:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_R8G8B8A8_UINT:
    	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_R8G8B8A8_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_R8G8B8A8_SRGB:
    	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_B8G8R8A8_UNORM:
    	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_B8G8R8A8_SNORM:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		None
    
    FORMAT_B8G8R8A8_USCALED:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		None
    
    FORMAT_B8G8R8A8_SSCALED:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		None
    
    FORMAT_B8G8R8A8_UINT:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		None
    
    FORMAT_B8G8R8A8_SINT:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		None
    
    FORMAT_B8G8R8A8_SRGB:
    	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_A8B8G8R8_UNORM_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_A8B8G8R8_SNORM_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_A8B8G8R8_USCALED_PACK32:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_A8B8G8R8_SSCALED_PACK32:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_A8B8G8R8_UINT_PACK32:
    	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_A8B8G8R8_SINT_PACK32:
    	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_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_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_A2R10G10B10_SNORM_PACK32:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_A2R10G10B10_USCALED_PACK32:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_A2R10G10B10_SSCALED_PACK32:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_A2R10G10B10_UINT_PACK32:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_A2R10G10B10_SINT_PACK32:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_A2B10G10R10_UNORM_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_A2B10G10R10_SNORM_PACK32:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_A2B10G10R10_USCALED_PACK32:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_A2B10G10R10_SSCALED_PACK32:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_A2B10G10R10_UINT_PACK32:
    	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_A2B10G10R10_SINT_PACK32:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_R16_UNORM:
    	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_R16_SNORM:
    	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_R16_USCALED:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_R16_SSCALED:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_R16_UINT:
    	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_R16_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_R16_SFLOAT:
    	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_R16G16_UNORM:
    	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_R16G16_SNORM:
    	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_R16G16_USCALED:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_R16G16_SSCALED:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_R16G16_UINT:
    	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_R16G16_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_R16G16_SFLOAT:
    	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_R16G16B16_UNORM:
    	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_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_R16G16B16_USCALED:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_R16G16B16_SSCALED:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_R16G16B16_UINT:
    	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_R16G16B16_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_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_R16G16B16A16_UNORM:
    	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_R16G16B16A16_SNORM:
    	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_R16G16B16A16_USCALED:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_R16G16B16A16_SSCALED:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_R16G16B16A16_UINT:
    	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_R16G16B16A16_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_R16G16B16A16_SFLOAT:
    	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_R32_UINT:
    	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_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_R32_SFLOAT:
    	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_R32G32_UINT:
    	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_R32G32_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_R32G32_SFLOAT:
    	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_R32G32B32_UINT:
    	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_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_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_R32G32B32A32_UINT:
    	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_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_R32G32B32A32_SFLOAT:
    	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_R64_UINT:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_R64_SINT:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_R64_SFLOAT:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_R64G64_UINT:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_R64G64_SINT:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_R64G64_SFLOAT:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_R64G64B64_UINT:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_R64G64B64_SINT:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_R64G64B64_SFLOAT:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_R64G64B64A64_UINT:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_R64G64B64A64_SINT:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    FORMAT_R64G64B64A64_SFLOAT:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    
    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_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_D16_UNORM:
    	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_X8_D24_UNORM_PACK32:
    	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_D32_SFLOAT:
    	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_D16_UNORM_S8_UINT:
    	linearTiling   FormatFeatureFlags:
    		None
    	optimalTiling  FormatFeatureFlags:
    		None
    	bufferFeatures FormatFeatureFlags:
    		None
    
    FORMAT_D24_UNORM_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_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_BC1_RGB_UNORM_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_BC1_RGB_SRGB_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_BC1_RGBA_UNORM_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_BC1_RGBA_SRGB_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_BC2_UNORM_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_BC2_SRGB_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_BC3_UNORM_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_BC3_SRGB_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_BC4_UNORM_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_BC4_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_BC5_UNORM_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_BC5_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_BC6H_UFLOAT_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_BC6H_SFLOAT_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_BC7_UNORM_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_BC7_SRGB_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_ETC2_R8G8B8_UNORM_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_ETC2_R8G8B8_SRGB_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_ETC2_R8G8B8A1_UNORM_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_ETC2_R8G8B8A1_SRGB_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_ETC2_R8G8B8A8_UNORM_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_ETC2_R8G8B8A8_SRGB_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_EAC_R11_UNORM_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_EAC_R11_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_EAC_R11G11_UNORM_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_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:
    	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_ASTC_4x4_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_ASTC_5x4_UNORM_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_ASTC_5x4_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_ASTC_5x5_UNORM_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_ASTC_5x5_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_ASTC_6x5_UNORM_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_ASTC_6x5_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_ASTC_6x6_UNORM_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_ASTC_6x6_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_ASTC_8x5_UNORM_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_ASTC_8x5_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_ASTC_8x6_UNORM_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_ASTC_8x6_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_ASTC_8x8_UNORM_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_ASTC_8x8_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_ASTC_10x5_UNORM_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_ASTC_10x5_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_ASTC_10x6_UNORM_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_ASTC_10x6_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_ASTC_10x8_UNORM_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_ASTC_10x8_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_ASTC_10x10_UNORM_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_ASTC_10x10_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_ASTC_12x10_UNORM_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_ASTC_12x10_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_ASTC_12x12_UNORM_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_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
    
    bug 
    opened by ArchieMeng 11
  • Multi-gpu bottlenecking

    Multi-gpu bottlenecking

    I have a radeon rx 590 and a radeon rx 550 in my PC, one is significantly less powerful than the other and it bottlenecks the much more powerful one, I'm not sure if multi-gpu already works like this, but I was wondering if it's possible to run 2 instances of Waifu2x, 1 on one GPU, and the other on the other one, and make them convert from the same directory without one of the instances up scaling the same image twice

    opened by StratusFearMe21 9
  • Building under VS 2019 -- possible?

    Building under VS 2019 -- possible?

    Windows 10, VS 2019

    ncnn_DIR was specified at compile time to get around an error with including it within the CMakeList.

    Commands run were as follows:

    git clone https://github.com/nihui/waifu2x-ncnn-vulkan
    cd waifu2x-ncnn-vulkan
    mkdir build-vs2019 && cd build-vs2019
    cmake -Dncnn_DIR="C:\NeuralNet\ncnn-install\lib\cmake\ncnn" ..\src
    cmake --build . --config Release
    

    Output of first CMake run:

    -- Building for: Visual Studio 16 2019
    -- The C compiler identification is MSVC 19.24.28319.0
    -- The CXX compiler identification is MSVC 19.24.28319.0
    -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe
    -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe
    -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Found OpenMP_C: -openmp (found version "2.0")
    -- Found OpenMP_CXX: -openmp (found version "2.0")
    -- Found OpenMP: TRUE (found version "2.0")
    -- Found Vulkan: C:/VulkanSDK/1.1.114.0/Lib/vulkan-1.lib
    -- Found glslangValidator: C:/VulkanSDK/1.1.114.0/Bin/glslangValidator.exe
    -- Configuring done
    -- Generating done
    -- Build files have been written to: C:/NeuralNet/waifu2x-ncnn-vulkan/build
    

    Output of second CMake run:

    Microsoft (R) Build Engine version 16.4.0+e901037fe for .NET Framework
    Copyright (C) Microsoft Corporation. All rights reserved.
    
      Checking Build System
      Building SPIR-V module waifu2x_preproc.spv
      Building SPIR-V module waifu2x_preproc_fp16s.spv
      Building SPIR-V module waifu2x_preproc_int8s.spv
      Building SPIR-V module waifu2x_postproc.spv
      Building SPIR-V module waifu2x_postproc_fp16s.spv
      Building SPIR-V module waifu2x_postproc_int8s.spv
      Building SPIR-V module waifu2x_preproc_tta.spv
      Building SPIR-V module waifu2x_preproc_tta_fp16s.spv
      Building SPIR-V module waifu2x_preproc_tta_int8s.spv
      Building SPIR-V module waifu2x_postproc_tta.spv
      Building SPIR-V module waifu2x_postproc_tta_fp16s.spv
      Building SPIR-V module waifu2x_postproc_tta_int8s.spv
      Building Custom Rule C:/NeuralNet/waifu2x-ncnn-vulkan/src/CMakeLists.txt
      Building Custom Rule C:/NeuralNet/waifu2x-ncnn-vulkan/src/CMakeLists.txt
      main.cpp
    C:\NeuralNet\waifu2x-ncnn-vulkan\src\main.cpp(157,46): warning C4267: 'initializing': conversion from 'size_t' to 'int'
    , possible loss of data [C:\NeuralNet\waifu2x-ncnn-vulkan\build\waifu2x-ncnn-vulkan.vcxproj]
    C:\NeuralNet\waifu2x-ncnn-vulkan\src\main.cpp(157,46): warning C4267: 'initializing': conversion from 'size_t' to 'cons
    t int', possible loss of data [C:\NeuralNet\waifu2x-ncnn-vulkan\build\waifu2x-ncnn-vulkan.vcxproj]
    C:\NeuralNet\waifu2x-ncnn-vulkan\src\main.cpp(308,15): error C2065: 'LC_ALL': undeclared identifier [C:\NeuralNet\waifu
    2x-ncnn-vulkan\build\waifu2x-ncnn-vulkan.vcxproj]
    C:\NeuralNet\waifu2x-ncnn-vulkan\src\main.cpp(308,5): error C3861: 'setlocale': identifier not found [C:\NeuralNet\waif
    u2x-ncnn-vulkan\build\waifu2x-ncnn-vulkan.vcxproj]
    C:\NeuralNet\waifu2x-ncnn-vulkan\src\main.cpp(429,47): warning C4267: 'initializing': conversion from 'size_t' to 'int'
    , possible loss of data [C:\NeuralNet\waifu2x-ncnn-vulkan\build\waifu2x-ncnn-vulkan.vcxproj]
    C:\NeuralNet\waifu2x-ncnn-vulkan\src\main.cpp(429,47): warning C4267: 'initializing': conversion from 'size_t' to 'cons
    t int', possible loss of data [C:\NeuralNet\waifu2x-ncnn-vulkan\build\waifu2x-ncnn-vulkan.vcxproj]
    C:\NeuralNet\waifu2x-ncnn-vulkan\src\main.cpp(336,1): warning C4996: 'swscanf': This function or variable may be unsafe
    . Consider using swscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. [
    C:\NeuralNet\waifu2x-ncnn-vulkan\build\waifu2x-ncnn-vulkan.vcxproj]
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\corecrt_wstdio.h(2039): message : see declaration of '
    swscanf' [C:\NeuralNet\waifu2x-ncnn-vulkan\build\waifu2x-ncnn-vulkan.vcxproj]
      waifu2x.cpp
    C:\NeuralNet\waifu2x-ncnn-vulkan\src\waifu2x.cpp(79,1): warning C4996: '_wfopen': This function or variable may be unsa
    fe. Consider using _wfopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
     [C:\NeuralNet\waifu2x-ncnn-vulkan\build\waifu2x-ncnn-vulkan.vcxproj]
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\corecrt_wstdio.h(130): message : see declaration of '_
    wfopen' [C:\NeuralNet\waifu2x-ncnn-vulkan\build\waifu2x-ncnn-vulkan.vcxproj]
    C:\NeuralNet\waifu2x-ncnn-vulkan\src\waifu2x.cpp(90,1): warning C4996: '_wfopen': This function or variable may be unsa
    fe. Consider using _wfopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
     [C:\NeuralNet\waifu2x-ncnn-vulkan\build\waifu2x-ncnn-vulkan.vcxproj]
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\corecrt_wstdio.h(130): message : see declaration of '_
    wfopen' [C:\NeuralNet\waifu2x-ncnn-vulkan\build\waifu2x-ncnn-vulkan.vcxproj]
    C:\NeuralNet\waifu2x-ncnn-vulkan\src\waifu2x.cpp(275,50): warning C4267: '=': conversion from 'size_t' to 'int', possib
    le loss of data [C:\NeuralNet\waifu2x-ncnn-vulkan\build\waifu2x-ncnn-vulkan.vcxproj]
    C:\NeuralNet\waifu2x-ncnn-vulkan\src\waifu2x.cpp(278,58): warning C4267: '=': conversion from 'size_t' to 'int', possib
    le loss of data [C:\NeuralNet\waifu2x-ncnn-vulkan\build\waifu2x-ncnn-vulkan.vcxproj]
    C:\NeuralNet\waifu2x-ncnn-vulkan\src\waifu2x.cpp(317,59): warning C4267: '=': conversion from 'size_t' to 'int', possib
    le loss of data [C:\NeuralNet\waifu2x-ncnn-vulkan\build\waifu2x-ncnn-vulkan.vcxproj]
    C:\NeuralNet\waifu2x-ncnn-vulkan\src\waifu2x.cpp(320,51): warning C4267: '=': conversion from 'size_t' to 'int', possib
    le loss of data [C:\NeuralNet\waifu2x-ncnn-vulkan\build\waifu2x-ncnn-vulkan.vcxproj]
    C:\NeuralNet\waifu2x-ncnn-vulkan\src\waifu2x.cpp(352,50): warning C4267: '=': conversion from 'size_t' to 'int', possib
    le loss of data [C:\NeuralNet\waifu2x-ncnn-vulkan\build\waifu2x-ncnn-vulkan.vcxproj]
    C:\NeuralNet\waifu2x-ncnn-vulkan\src\waifu2x.cpp(355,55): warning C4267: '=': conversion from 'size_t' to 'int', possib
    le loss of data [C:\NeuralNet\waifu2x-ncnn-vulkan\build\waifu2x-ncnn-vulkan.vcxproj]
    C:\NeuralNet\waifu2x-ncnn-vulkan\src\waifu2x.cpp(386,56): warning C4267: '=': conversion from 'size_t' to 'int', possib
    le loss of data [C:\NeuralNet\waifu2x-ncnn-vulkan\build\waifu2x-ncnn-vulkan.vcxproj]
    C:\NeuralNet\waifu2x-ncnn-vulkan\src\waifu2x.cpp(389,51): warning C4267: '=': conversion from 'size_t' to 'int', possib
    le loss of data [C:\NeuralNet\waifu2x-ncnn-vulkan\build\waifu2x-ncnn-vulkan.vcxproj]
      Generating Code...
    

    No executable is produced. Is there any solution besides downgrading to VS 2017? Microsoft loves to make that difficult.

    opened by Irastris 9
  • [BUG?] Ramdon Wrong Blocks (Termux Android with ncnn-vulkan-armv8a-android 20200226 prebuild library)

    [BUG?] Ramdon Wrong Blocks (Termux Android with ncnn-vulkan-armv8a-android 20200226 prebuild library)

    I built the waifu2x-ncnn-vulkan in termux. The speed is impressive.

    I built it with ncnn-vulkan-armv8a-android 20200226 prebuilt library and lastest glslang. The libvulkan.so comes from /system/lib64. Build process finished in termux.

    The result is interesting: Sometimes it works propoerly, but sometimes it gives result like this:

    图片 图片 图片

    It happens also most randomly, independ with input pictures and TTA config, but seems to be relavent with GPU pressure (it happens more frequently wiht high process count and large block size.), the location are also random. BTW, relavence to model is untested yet.

    Anyideas about this phenomenon? Or how to get some logs about it?

    bug 
    opened by tanyiok1234 9
  • Low hardware request

    Low hardware request

    My computer only got 4gb RAM,and when I dealing with pics on my Linux laptop...it stucked and start fill up all my laptop's RAM and swap , but can't produce a pic

    waifu2x-ncnn-vulkan -i sn.jpeg -o op.png -n 2 -s 2

    (Sn.jpeg - 1000*1200 about)

    Only happens when I want to deal with big pics...

    opened by happyeggchen 8
  • windows下N卡,输出的图片放大倍率后变黑

    windows下N卡,输出的图片放大倍率后变黑

    WIN10 GTX1050 Intel cpu

    D:\waifu2x-ncnn-vulkan-20190408>waifu2x.exe 001.jpg n001.jpg 2 2 [0 GeForce GTX 1050] queueC=2 queueT=1 memU=4294967295 memDL=7 memHV=9 [0 GeForce GTX 1050] fp16s=1 fp16a=0 int8s=1 int8a=1

    输出后,输出图片变黑

    D:\waifu2x-ncnn-vulkan-20190408>waifu2x.exe 001.jpg n001.jpg 3 1 [0 GeForce GTX 1050] queueC=2 queueT=1 memU=4294967295 memDL=7 memHV=9 [0 GeForce GTX 1050] fp16s=1 fp16a=0 int8s=1 int8a=1

    输出图片正常,但是倍率不能放大

    opened by ljm000 8
  • ACO error with GCN 1 GPU

    ACO error with GCN 1 GPU

    $ ./waifu2x-ncnn-vulkan -i test.jpg -o test.png
    WARNING: radv is not a conformant vulkan implementation, testing use only.
    WARNING: lavapipe is not a conformant vulkan implementation, testing use only.
    MESA-INTEL: warning: Haswell Vulkan support is incomplete
    [0 AMD RADV TAHITI (ACO)]  queueC=1[2]  queueG=0[1]  queueT=0[1]
    [0 AMD RADV TAHITI (ACO)]  bugsbn1=0  bugcopc=0  bugihfa=0
    [0 AMD RADV TAHITI (ACO)]  fp16-p/s/a=1/1/0  int8-p/s/a=1/1/1
    [0 AMD RADV TAHITI (ACO)]  subgroup=64  basic=1  vote=1  ballot=1  shuffle=1
    [1 llvmpipe (LLVM 11.0.0, 256 bits)]  queueC=0[1]  queueG=0[1]  queueT=0[1]
    [1 llvmpipe (LLVM 11.0.0, 256 bits)]  bugsbn1=0  bugcopc=0  bugihfa=0
    [1 llvmpipe (LLVM 11.0.0, 256 bits)]  fp16-p/s/a=1/0/0  int8-p/s/a=1/0/0
    [1 llvmpipe (LLVM 11.0.0, 256 bits)]  subgroup=1  basic=0  vote=0  ballot=0  shuffle=0
    [2 Intel(R) HD Graphics 4600 (HSW GT2)]  queueC=0[1]  queueG=0[1]  queueT=0[1]
    [2 Intel(R) HD Graphics 4600 (HSW GT2)]  bugsbn1=0  bugcopc=0  bugihfa=0
    [2 Intel(R) HD Graphics 4600 (HSW GT2)]  fp16-p/s/a=1/0/0  int8-p/s/a=1/0/0
    [2 Intel(R) HD Graphics 4600 (HSW GT2)]  subgroup=32  basic=1  vote=1  ballot=1  shuffle=1
    ACO ERROR:
        In file ../src/amd/compiler/aco_assembler.cpp:95
        Unsupported opcode:  v2b: %68:v[2][0:16] = v_cvt_f16_u16 %47:v[3]
    Aborted (core dumped)
    

    It has been a while since I last used this program, and I don't remember ACO being utilized then. My R9 280 worked fine before but now it gives this error.

    System information as follows:

    Fedora 33 Kernel 5.10.9 Mesa 20.3.3 CPU: i5 4690k GPU: R9 280

    opened by DonKatsu 7
  • Weirdly colored blocky output with nvidia

    Weirdly colored blocky output with nvidia

    I'll let the output image explain the problem

    Original lain

    Upscaled with waifu2x-ncnn-vulkan -g 0 -i lain.png -o upscaled.png upscaled

    I also have an AMD iGPU and that works fine. When using the nvidia gpu though, the output appears blocky and weirdly colored.

    GPU in question: NVIDIA GeForce RTX 3060 Driver version: 515.57 CUDA Version: 11.7 Kernel: 5.18.11-gentoo waifu2x-ncnn-vulkan version: 20220419 (latest one from the gentoo repos)

    opened by Toasterbirb 0
  • How to get it to open??

    How to get it to open??

    I have no clue I am just plain stupid or if I'm doing something wrong. But for the life of me, I can't get this to run. I download the Mac version, and when I unzip the file, there's just more files. There are no instructions, at least none that I can see on how to get this to work. Please help!

    opened by siennk 1
  • Privacy Policy?

    Privacy Policy?

    I can't find any statement - even a casual/non-legal one - relating to privacy on here or the Tencent NCNN GitHub page. As I understand it this program can operate completely offline once installed so I'm probably just being a worrywart. Still, since I am in fact a worrywart about data privacy (especially given Tencent's abysmal privacy policies and history, and what their NCNN page features...) I figured I'd ask about this to be safe before installing. Unfortunately I don't have the know-how to check the code myself, and being FOSS doesn't make something's approach to privacy good or safe by default.

    So can anyone answer if there's telemetry or any non-local NCNN data gathering/usage that is part of this software? As far as I can see there isn't and I'm worrying over nothing, but again, I don't have the know-how to be sure.

    As a note: It may be good to add a section in the README for people like me who want/need a clear statement about privacy issues, even if it seem obvious or like common sense. Some may think that since telemetry/data gathering is not mentioned anywhere as a feature or issue, then of course it must not be one. But IMO it's better to be openly clear about it not being included rather than making it something people have to assume.

    opened by VagrantVulpine 3
  • How to get it to run?

    How to get it to run?

    I'm a newbie to the terminal. How do I get this to run on my mac? Can I run this with my own models as well? I've tried using my own models but i get this error: unknown model dir type.

    opened by mslmn 1
  • Failure when the output resolution is very high?

    Failure when the output resolution is very high?

    Input image

    waifu2x-ncnn-vulkan -s 32 -i black_1080p.png -o black_1080p.32x.png
    
    #0  __memmove_avx_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:517
    #1  0x000000000042f70d in ncnn::VkCompute::submit_and_wait (this=<optimized out>) at src/ncnn/src/command.cpp:2454
    #2  0x0000000000429d42 in Waifu2x::process (this=<optimized out>, inimage=..., outimage=...) at src/waifu2x.cpp:510
    #3  0x000000000040a54e in proc (args=<optimized out>) at src/main.cpp:367
    #4  0x00007fe592cbcd80 in start_thread (arg=0x7fe584fdd640) at pthread_create.c:481
    #5  0x00007fe592bd676f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
    

    Please note that I updated the ncnn submodule before generating the backtrace: Tencent/[email protected]

    I tried several resolutions:

    Crash

    • 1280x720
    • 1000x563
    • 999x562

    "encode image failed"

    • 975x548

    OK

    • 950x534
    • 900x506
    opened by davidebeatrici 0
Releases(20220728)
Owner
マジやばくね
null
The Intel 8080 ("eighty-eighty") is the second 8-bit microprocessor designed and manufactured by Intel.

i8080(Intel 8080) The Intel 8080 ("eighty-eighty") is the second 8-bit microprocessor designed and manufactured by Intel. It first appeared in April 1

VitorMob 13 Jul 20, 2022
nvidia nvmpi encoder for streamFX and obs-studio (e.g. for nvidia jetson. Requires nvmpi enabled ffmpeg / libavcodec)

nvmpi-streamFX-obs nvidia nvmpi encoder for streamFX and obs-studio (e.g. for nvidia jetson. Requires nvmpi enabled ffmpeg / libavcodec) Purpose This

null 16 Jun 25, 2022
Video, Image and GIF upscale/enlarge(Super-Resolution) and Video frame interpolation. Achieved with Waifu2x, SRMD, RealSR, Anime4K, RIFE, CAIN, DAIN and ACNet.

Video, Image and GIF upscale/enlarge(Super-Resolution) and Video frame interpolation. Achieved with Waifu2x, SRMD, RealSR, Anime4K, RIFE, CAIN, DAIN and ACNet.

Aaron Feng 7.3k Aug 7, 2022
Optimized & Generic ML Filter Runtimes for VapourSynth (with builtin support for waifu2x, RealESRGANv2 & DPIR)

vs-mlrt VapourSynth ML filter runtimes. Please see the wiki for supported models. vsov: OpenVINO-based Pure CPU Runtime OpenVINO is an AI inference ru

私立七森中ごらく部 40 Jul 23, 2022
This is a sample ncnn android project, it depends on ncnn library and opencv

This is a sample ncnn android project, it depends on ncnn library and opencv

null 220 Jul 28, 2022
GFPGAN-ncnn - a naive NCNN implementation of GFPGAN aims at developing Practical Algorithms for Real-world Face Restoration

GFPGAN-ncnn a naive ncnn implementation of GFPGAN aims at developing Practical Algorithms for Real-world Face Restoration model support: 1.GFPGANClean

FeiGeChuanShu 32 Jul 13, 2022
RealSR-NCNN-Android is a simple Android application that based on Realsr-NCNN & Real-ESRGAN.

RealSR-NCNN-Android Real-ESRGAN is a Practical Algorithms for General Image Restoration. RealSR-NCNN-Android is a simple Android application that base

null 137 Jul 27, 2022
GPU Cloth TOP in TouchDesigner using CUDA-enabled NVIDIA Flex

This project demonstrates how to use NVIDIA FleX for GPU cloth simulation in a TouchDesigner Custom Operator. It also shows how to render dynamic meshes from the texture data using custom PBR GLSL material shaders inside TouchDesigner.

Vinícius Ginja 37 Jul 27, 2022
GPU ray tracing framework using NVIDIA OptiX 7

GPU ray tracing framework using NVIDIA OptiX 7

Shunji Kiuchi 22 Jun 11, 2022
Hardware-accelerated DNN model inference ROS2 packages using NVIDIA Triton/TensorRT for both Jetson and x86_64 with CUDA-capable GPU.

Isaac ROS DNN Inference Overview This repository provides two NVIDIA GPU-accelerated ROS2 nodes that perform deep learning inference using custom mode

NVIDIA Isaac ROS 42 Jul 18, 2022
Docker files and scripts to setup and run VINS-FUSION-gpu on NVIDIA jetson boards inside a docker container.

jetson_vins_fusion_docker This repository provides Docker files and scripts to easily setup and run VINS-FUSION-gpu on NVIDIA jetson boards inside a d

Mohamed Abdelkader Zahana 18 May 30, 2022
Golang bindings for Nvidia Datacenter GPU Manager (DCGM)

Bindings Golang bindings are provided for NVIDIA Data Center GPU Manager (DCGM). DCGM is a set of tools for managing and monitoring NVIDIA GPUs in clu

NVIDIA Corporation 29 Jul 6, 2022
the C++ version of solov2 with ncnn

the C++ version of SOLOV2 with ncnn

DayBreak 66 Jul 13, 2022
the C++ version of Seq2Seq with ncnn

the C++ version of Seq2Seq with ncnn

DayBreak 19 Aug 7, 2022
Simple inference deep head pose ncnn version

ncnn-deep-head-pose Simple implement inference deep head pose ncnn version with high performance and optimized resource. This project based on deep-he

Đỗ Công Minh 11 Jun 13, 2022
Ncnn version demo of [CVPR21] LightTrack: Finding Lightweight Neural Network for Object Tracking via One-Shot Architecture Search

LightTrack: Finding Lightweight Neural Networks for Object Tracking via One-Shot Architecture Search (ncnn) The official implementation by pytorch: ht

null 20 Jul 26, 2022
4eisa40 GPU computing : exploiting the GPU to execute advanced simulations

GPU-computing 4eisa40 GPU computing : exploiting the GPU to execute advanced simulations Activities Parallel programming Algorithms Image processing O

Ecam 4MIN repositories 2 Jan 10, 2022
This is a list of hardware which is supports Intel SGX - Software Guard Extensions.

SGX-hardware list This is a list of hardware which supports Intel SGX - Software Guard Extensions. Desktop The CPU and the motherboard BIOS must suppo

Lars Lühr 497 Jul 6, 2022
We implemented our own sequential version of GA, PSO, SA and ACA using C++ and the parallelized version with CUDA support

We implemented our own sequential version of GA, PSO, SA and ACA using C++ (some using Eigen3 as matrix operation backend) and the parallelized version with CUDA support. All of them are much faster than the popular lib scikit-opt.

Aron751 4 May 7, 2022