#
tokens: 23460/50000 1/78 files (page 6/7)
lines: off (toggle) GitHub
raw markdown copy
This is page 6 of 7. Use http://codebase.md/mehmetoguzderin/shaderc-vkrunner-mcp?page={x} to view the full context.

# Directory Structure

```
├── .devcontainer
│   ├── devcontainer.json
│   ├── docker-compose.yml
│   └── Dockerfile
├── .gitattributes
├── .github
│   └── workflows
│       └── build-push-image.yml
├── .gitignore
├── .vscode
│   └── mcp.json
├── Cargo.lock
├── Cargo.toml
├── Dockerfile
├── LICENSE
├── README.adoc
├── shaderc-vkrunner-mcp.jpg
├── src
│   └── main.rs
└── vkrunner
    ├── .editorconfig
    ├── .gitignore
    ├── .gitlab-ci.yml
    ├── build.rs
    ├── Cargo.toml
    ├── COPYING
    ├── examples
    │   ├── compute-shader.shader_test
    │   ├── cooperative-matrix.shader_test
    │   ├── depth-buffer.shader_test
    │   ├── desc_set_and_binding.shader_test
    │   ├── entrypoint.shader_test
    │   ├── float-framebuffer.shader_test
    │   ├── frexp.shader_test
    │   ├── geometry.shader_test
    │   ├── indices.shader_test
    │   ├── layouts.shader_test
    │   ├── properties.shader_test
    │   ├── push-constants.shader_test
    │   ├── require-subgroup-size.shader_test
    │   ├── row-major.shader_test
    │   ├── spirv.shader_test
    │   ├── ssbo.shader_test
    │   ├── tolerance.shader_test
    │   ├── tricolore.shader_test
    │   ├── ubo.shader_test
    │   ├── vertex-data-piglit.shader_test
    │   └── vertex-data.shader_test
    ├── include
    │   ├── vk_video
    │   │   ├── vulkan_video_codec_av1std_decode.h
    │   │   ├── vulkan_video_codec_av1std_encode.h
    │   │   ├── vulkan_video_codec_av1std.h
    │   │   ├── vulkan_video_codec_h264std_decode.h
    │   │   ├── vulkan_video_codec_h264std_encode.h
    │   │   ├── vulkan_video_codec_h264std.h
    │   │   ├── vulkan_video_codec_h265std_decode.h
    │   │   ├── vulkan_video_codec_h265std_encode.h
    │   │   ├── vulkan_video_codec_h265std.h
    │   │   └── vulkan_video_codecs_common.h
    │   └── vulkan
    │       ├── vk_platform.h
    │       ├── vulkan_core.h
    │       └── vulkan.h
    ├── precompile-script.py
    ├── README.md
    ├── scripts
    │   └── update-vulkan.sh
    ├── src
    │   └── main.rs
    ├── test-build.sh
    └── vkrunner
        ├── allocate_store.rs
        ├── buffer.rs
        ├── compiler
        │   └── fake_process.rs
        ├── compiler.rs
        ├── config.rs
        ├── context.rs
        ├── enum_table.rs
        ├── env_var_test.rs
        ├── executor.rs
        ├── fake_vulkan.rs
        ├── features.rs
        ├── flush_memory.rs
        ├── format_table.rs
        ├── format.rs
        ├── half_float.rs
        ├── hex.rs
        ├── inspect.rs
        ├── lib.rs
        ├── logger.rs
        ├── make-enums.py
        ├── make-features.py
        ├── make-formats.py
        ├── make-pipeline-key-data.py
        ├── make-vulkan-funcs-data.py
        ├── parse_num.rs
        ├── pipeline_key_data.rs
        ├── pipeline_key.rs
        ├── pipeline_set.rs
        ├── requirements.rs
        ├── result.rs
        ├── script.rs
        ├── shader_stage.rs
        ├── slot.rs
        ├── small_float.rs
        ├── source.rs
        ├── stream.rs
        ├── temp_file.rs
        ├── tester.rs
        ├── tolerance.rs
        ├── util.rs
        ├── vbo.rs
        ├── vk.rs
        ├── vulkan_funcs_data.rs
        ├── vulkan_funcs.rs
        ├── window_format.rs
        └── window.rs
```

# Files

--------------------------------------------------------------------------------
/vkrunner/vkrunner/format_table.rs:
--------------------------------------------------------------------------------

```rust
// Automatically generated by make-formats.py

static FORMATS: [Format; 135] = [
    Format {
        vk_format: vk::VK_FORMAT_A1B5G5R5_UNORM_PACK16,
        name: "A1B5G5R5_UNORM_PACK16",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(16)
        }),
        n_parts: 4,
        parts: [
            Part {
                bits: 1,
                component: Component::A,
                mode: Mode::UNORM,
            },
            Part {
                bits: 5,
                component: Component::B,
                mode: Mode::UNORM,
            },
            Part {
                bits: 5,
                component: Component::G,
                mode: Mode::UNORM,
            },
            Part {
                bits: 5,
                component: Component::R,
                mode: Mode::UNORM,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_A1R5G5B5_UNORM_PACK16,
        name: "A1R5G5B5_UNORM_PACK16",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(16)
        }),
        n_parts: 4,
        parts: [
            Part {
                bits: 1,
                component: Component::A,
                mode: Mode::UNORM,
            },
            Part {
                bits: 5,
                component: Component::R,
                mode: Mode::UNORM,
            },
            Part {
                bits: 5,
                component: Component::G,
                mode: Mode::UNORM,
            },
            Part {
                bits: 5,
                component: Component::B,
                mode: Mode::UNORM,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_A2B10G10R10_SINT_PACK32,
        name: "A2B10G10R10_SINT_PACK32",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(32)
        }),
        n_parts: 4,
        parts: [
            Part {
                bits: 2,
                component: Component::A,
                mode: Mode::SINT,
            },
            Part {
                bits: 10,
                component: Component::B,
                mode: Mode::SINT,
            },
            Part {
                bits: 10,
                component: Component::G,
                mode: Mode::SINT,
            },
            Part {
                bits: 10,
                component: Component::R,
                mode: Mode::SINT,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_A2B10G10R10_SNORM_PACK32,
        name: "A2B10G10R10_SNORM_PACK32",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(32)
        }),
        n_parts: 4,
        parts: [
            Part {
                bits: 2,
                component: Component::A,
                mode: Mode::SNORM,
            },
            Part {
                bits: 10,
                component: Component::B,
                mode: Mode::SNORM,
            },
            Part {
                bits: 10,
                component: Component::G,
                mode: Mode::SNORM,
            },
            Part {
                bits: 10,
                component: Component::R,
                mode: Mode::SNORM,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_A2B10G10R10_SSCALED_PACK32,
        name: "A2B10G10R10_SSCALED_PACK32",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(32)
        }),
        n_parts: 4,
        parts: [
            Part {
                bits: 2,
                component: Component::A,
                mode: Mode::SSCALED,
            },
            Part {
                bits: 10,
                component: Component::B,
                mode: Mode::SSCALED,
            },
            Part {
                bits: 10,
                component: Component::G,
                mode: Mode::SSCALED,
            },
            Part {
                bits: 10,
                component: Component::R,
                mode: Mode::SSCALED,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_A2B10G10R10_UINT_PACK32,
        name: "A2B10G10R10_UINT_PACK32",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(32)
        }),
        n_parts: 4,
        parts: [
            Part {
                bits: 2,
                component: Component::A,
                mode: Mode::UINT,
            },
            Part {
                bits: 10,
                component: Component::B,
                mode: Mode::UINT,
            },
            Part {
                bits: 10,
                component: Component::G,
                mode: Mode::UINT,
            },
            Part {
                bits: 10,
                component: Component::R,
                mode: Mode::UINT,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_A2B10G10R10_UNORM_PACK32,
        name: "A2B10G10R10_UNORM_PACK32",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(32)
        }),
        n_parts: 4,
        parts: [
            Part {
                bits: 2,
                component: Component::A,
                mode: Mode::UNORM,
            },
            Part {
                bits: 10,
                component: Component::B,
                mode: Mode::UNORM,
            },
            Part {
                bits: 10,
                component: Component::G,
                mode: Mode::UNORM,
            },
            Part {
                bits: 10,
                component: Component::R,
                mode: Mode::UNORM,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_A2B10G10R10_USCALED_PACK32,
        name: "A2B10G10R10_USCALED_PACK32",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(32)
        }),
        n_parts: 4,
        parts: [
            Part {
                bits: 2,
                component: Component::A,
                mode: Mode::USCALED,
            },
            Part {
                bits: 10,
                component: Component::B,
                mode: Mode::USCALED,
            },
            Part {
                bits: 10,
                component: Component::G,
                mode: Mode::USCALED,
            },
            Part {
                bits: 10,
                component: Component::R,
                mode: Mode::USCALED,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_A2R10G10B10_SINT_PACK32,
        name: "A2R10G10B10_SINT_PACK32",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(32)
        }),
        n_parts: 4,
        parts: [
            Part {
                bits: 2,
                component: Component::A,
                mode: Mode::SINT,
            },
            Part {
                bits: 10,
                component: Component::R,
                mode: Mode::SINT,
            },
            Part {
                bits: 10,
                component: Component::G,
                mode: Mode::SINT,
            },
            Part {
                bits: 10,
                component: Component::B,
                mode: Mode::SINT,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_A2R10G10B10_SNORM_PACK32,
        name: "A2R10G10B10_SNORM_PACK32",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(32)
        }),
        n_parts: 4,
        parts: [
            Part {
                bits: 2,
                component: Component::A,
                mode: Mode::SNORM,
            },
            Part {
                bits: 10,
                component: Component::R,
                mode: Mode::SNORM,
            },
            Part {
                bits: 10,
                component: Component::G,
                mode: Mode::SNORM,
            },
            Part {
                bits: 10,
                component: Component::B,
                mode: Mode::SNORM,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_A2R10G10B10_SSCALED_PACK32,
        name: "A2R10G10B10_SSCALED_PACK32",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(32)
        }),
        n_parts: 4,
        parts: [
            Part {
                bits: 2,
                component: Component::A,
                mode: Mode::SSCALED,
            },
            Part {
                bits: 10,
                component: Component::R,
                mode: Mode::SSCALED,
            },
            Part {
                bits: 10,
                component: Component::G,
                mode: Mode::SSCALED,
            },
            Part {
                bits: 10,
                component: Component::B,
                mode: Mode::SSCALED,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_A2R10G10B10_UINT_PACK32,
        name: "A2R10G10B10_UINT_PACK32",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(32)
        }),
        n_parts: 4,
        parts: [
            Part {
                bits: 2,
                component: Component::A,
                mode: Mode::UINT,
            },
            Part {
                bits: 10,
                component: Component::R,
                mode: Mode::UINT,
            },
            Part {
                bits: 10,
                component: Component::G,
                mode: Mode::UINT,
            },
            Part {
                bits: 10,
                component: Component::B,
                mode: Mode::UINT,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_A2R10G10B10_UNORM_PACK32,
        name: "A2R10G10B10_UNORM_PACK32",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(32)
        }),
        n_parts: 4,
        parts: [
            Part {
                bits: 2,
                component: Component::A,
                mode: Mode::UNORM,
            },
            Part {
                bits: 10,
                component: Component::R,
                mode: Mode::UNORM,
            },
            Part {
                bits: 10,
                component: Component::G,
                mode: Mode::UNORM,
            },
            Part {
                bits: 10,
                component: Component::B,
                mode: Mode::UNORM,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_A2R10G10B10_USCALED_PACK32,
        name: "A2R10G10B10_USCALED_PACK32",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(32)
        }),
        n_parts: 4,
        parts: [
            Part {
                bits: 2,
                component: Component::A,
                mode: Mode::USCALED,
            },
            Part {
                bits: 10,
                component: Component::R,
                mode: Mode::USCALED,
            },
            Part {
                bits: 10,
                component: Component::G,
                mode: Mode::USCALED,
            },
            Part {
                bits: 10,
                component: Component::B,
                mode: Mode::USCALED,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_A4B4G4R4_UNORM_PACK16,
        name: "A4B4G4R4_UNORM_PACK16",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(16)
        }),
        n_parts: 4,
        parts: [
            Part {
                bits: 4,
                component: Component::A,
                mode: Mode::UNORM,
            },
            Part {
                bits: 4,
                component: Component::B,
                mode: Mode::UNORM,
            },
            Part {
                bits: 4,
                component: Component::G,
                mode: Mode::UNORM,
            },
            Part {
                bits: 4,
                component: Component::R,
                mode: Mode::UNORM,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_A4R4G4B4_UNORM_PACK16,
        name: "A4R4G4B4_UNORM_PACK16",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(16)
        }),
        n_parts: 4,
        parts: [
            Part {
                bits: 4,
                component: Component::A,
                mode: Mode::UNORM,
            },
            Part {
                bits: 4,
                component: Component::R,
                mode: Mode::UNORM,
            },
            Part {
                bits: 4,
                component: Component::G,
                mode: Mode::UNORM,
            },
            Part {
                bits: 4,
                component: Component::B,
                mode: Mode::UNORM,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_A8B8G8R8_SINT_PACK32,
        name: "A8B8G8R8_SINT_PACK32",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(32)
        }),
        n_parts: 4,
        parts: [
            Part {
                bits: 8,
                component: Component::A,
                mode: Mode::SINT,
            },
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::SINT,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::SINT,
            },
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::SINT,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_A8B8G8R8_SNORM_PACK32,
        name: "A8B8G8R8_SNORM_PACK32",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(32)
        }),
        n_parts: 4,
        parts: [
            Part {
                bits: 8,
                component: Component::A,
                mode: Mode::SNORM,
            },
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::SNORM,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::SNORM,
            },
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::SNORM,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_A8B8G8R8_SRGB_PACK32,
        name: "A8B8G8R8_SRGB_PACK32",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(32)
        }),
        n_parts: 4,
        parts: [
            Part {
                bits: 8,
                component: Component::A,
                mode: Mode::SRGB,
            },
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::SRGB,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::SRGB,
            },
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::SRGB,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_A8B8G8R8_SSCALED_PACK32,
        name: "A8B8G8R8_SSCALED_PACK32",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(32)
        }),
        n_parts: 4,
        parts: [
            Part {
                bits: 8,
                component: Component::A,
                mode: Mode::SSCALED,
            },
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::SSCALED,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::SSCALED,
            },
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::SSCALED,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_A8B8G8R8_UINT_PACK32,
        name: "A8B8G8R8_UINT_PACK32",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(32)
        }),
        n_parts: 4,
        parts: [
            Part {
                bits: 8,
                component: Component::A,
                mode: Mode::UINT,
            },
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::UINT,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::UINT,
            },
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::UINT,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_A8B8G8R8_UNORM_PACK32,
        name: "A8B8G8R8_UNORM_PACK32",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(32)
        }),
        n_parts: 4,
        parts: [
            Part {
                bits: 8,
                component: Component::A,
                mode: Mode::UNORM,
            },
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::UNORM,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::UNORM,
            },
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::UNORM,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_A8B8G8R8_USCALED_PACK32,
        name: "A8B8G8R8_USCALED_PACK32",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(32)
        }),
        n_parts: 4,
        parts: [
            Part {
                bits: 8,
                component: Component::A,
                mode: Mode::USCALED,
            },
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::USCALED,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::USCALED,
            },
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::USCALED,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_A8_UNORM,
        name: "A8_UNORM",
        packed_size: None,
        n_parts: 1,
        parts: [
            Part {
                bits: 8,
                component: Component::A,
                mode: Mode::UNORM,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_B10G11R11_UFLOAT_PACK32,
        name: "B10G11R11_UFLOAT_PACK32",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(32)
        }),
        n_parts: 3,
        parts: [
            Part {
                bits: 10,
                component: Component::B,
                mode: Mode::UFLOAT,
            },
            Part {
                bits: 11,
                component: Component::G,
                mode: Mode::UFLOAT,
            },
            Part {
                bits: 11,
                component: Component::R,
                mode: Mode::UFLOAT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_B4G4R4A4_UNORM_PACK16,
        name: "B4G4R4A4_UNORM_PACK16",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(16)
        }),
        n_parts: 4,
        parts: [
            Part {
                bits: 4,
                component: Component::B,
                mode: Mode::UNORM,
            },
            Part {
                bits: 4,
                component: Component::G,
                mode: Mode::UNORM,
            },
            Part {
                bits: 4,
                component: Component::R,
                mode: Mode::UNORM,
            },
            Part {
                bits: 4,
                component: Component::A,
                mode: Mode::UNORM,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_B5G5R5A1_UNORM_PACK16,
        name: "B5G5R5A1_UNORM_PACK16",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(16)
        }),
        n_parts: 4,
        parts: [
            Part {
                bits: 5,
                component: Component::B,
                mode: Mode::UNORM,
            },
            Part {
                bits: 5,
                component: Component::G,
                mode: Mode::UNORM,
            },
            Part {
                bits: 5,
                component: Component::R,
                mode: Mode::UNORM,
            },
            Part {
                bits: 1,
                component: Component::A,
                mode: Mode::UNORM,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_B5G6R5_UNORM_PACK16,
        name: "B5G6R5_UNORM_PACK16",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(16)
        }),
        n_parts: 3,
        parts: [
            Part {
                bits: 5,
                component: Component::B,
                mode: Mode::UNORM,
            },
            Part {
                bits: 6,
                component: Component::G,
                mode: Mode::UNORM,
            },
            Part {
                bits: 5,
                component: Component::R,
                mode: Mode::UNORM,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_B8G8R8A8_SINT,
        name: "B8G8R8A8_SINT",
        packed_size: None,
        n_parts: 4,
        parts: [
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::SINT,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::SINT,
            },
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::SINT,
            },
            Part {
                bits: 8,
                component: Component::A,
                mode: Mode::SINT,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_B8G8R8A8_SNORM,
        name: "B8G8R8A8_SNORM",
        packed_size: None,
        n_parts: 4,
        parts: [
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::SNORM,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::SNORM,
            },
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::SNORM,
            },
            Part {
                bits: 8,
                component: Component::A,
                mode: Mode::SNORM,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_B8G8R8A8_SRGB,
        name: "B8G8R8A8_SRGB",
        packed_size: None,
        n_parts: 4,
        parts: [
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::SRGB,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::SRGB,
            },
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::SRGB,
            },
            Part {
                bits: 8,
                component: Component::A,
                mode: Mode::SRGB,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_B8G8R8A8_SSCALED,
        name: "B8G8R8A8_SSCALED",
        packed_size: None,
        n_parts: 4,
        parts: [
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::SSCALED,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::SSCALED,
            },
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::SSCALED,
            },
            Part {
                bits: 8,
                component: Component::A,
                mode: Mode::SSCALED,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_B8G8R8A8_UINT,
        name: "B8G8R8A8_UINT",
        packed_size: None,
        n_parts: 4,
        parts: [
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::UINT,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::UINT,
            },
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::UINT,
            },
            Part {
                bits: 8,
                component: Component::A,
                mode: Mode::UINT,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_B8G8R8A8_UNORM,
        name: "B8G8R8A8_UNORM",
        packed_size: None,
        n_parts: 4,
        parts: [
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::UNORM,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::UNORM,
            },
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::UNORM,
            },
            Part {
                bits: 8,
                component: Component::A,
                mode: Mode::UNORM,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_B8G8R8A8_USCALED,
        name: "B8G8R8A8_USCALED",
        packed_size: None,
        n_parts: 4,
        parts: [
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::USCALED,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::USCALED,
            },
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::USCALED,
            },
            Part {
                bits: 8,
                component: Component::A,
                mode: Mode::USCALED,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_B8G8R8_SINT,
        name: "B8G8R8_SINT",
        packed_size: None,
        n_parts: 3,
        parts: [
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::SINT,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::SINT,
            },
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::SINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_B8G8R8_SNORM,
        name: "B8G8R8_SNORM",
        packed_size: None,
        n_parts: 3,
        parts: [
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::SNORM,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::SNORM,
            },
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::SNORM,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_B8G8R8_SRGB,
        name: "B8G8R8_SRGB",
        packed_size: None,
        n_parts: 3,
        parts: [
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::SRGB,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::SRGB,
            },
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::SRGB,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_B8G8R8_SSCALED,
        name: "B8G8R8_SSCALED",
        packed_size: None,
        n_parts: 3,
        parts: [
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::SSCALED,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::SSCALED,
            },
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::SSCALED,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_B8G8R8_UINT,
        name: "B8G8R8_UINT",
        packed_size: None,
        n_parts: 3,
        parts: [
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::UINT,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::UINT,
            },
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::UINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_B8G8R8_UNORM,
        name: "B8G8R8_UNORM",
        packed_size: None,
        n_parts: 3,
        parts: [
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::UNORM,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::UNORM,
            },
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::UNORM,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_B8G8R8_USCALED,
        name: "B8G8R8_USCALED",
        packed_size: None,
        n_parts: 3,
        parts: [
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::USCALED,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::USCALED,
            },
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::USCALED,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_D16_UNORM,
        name: "D16_UNORM",
        packed_size: None,
        n_parts: 1,
        parts: [
            Part {
                bits: 16,
                component: Component::D,
                mode: Mode::UNORM,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_D16_UNORM_S8_UINT,
        name: "D16_UNORM_S8_UINT",
        packed_size: None,
        n_parts: 2,
        parts: [
            Part {
                bits: 16,
                component: Component::D,
                mode: Mode::UNORM,
            },
            Part {
                bits: 8,
                component: Component::S,
                mode: Mode::UINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_D24_UNORM_S8_UINT,
        name: "D24_UNORM_S8_UINT",
        packed_size: None,
        n_parts: 2,
        parts: [
            Part {
                bits: 24,
                component: Component::D,
                mode: Mode::UNORM,
            },
            Part {
                bits: 8,
                component: Component::S,
                mode: Mode::UINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_D32_SFLOAT,
        name: "D32_SFLOAT",
        packed_size: None,
        n_parts: 1,
        parts: [
            Part {
                bits: 32,
                component: Component::D,
                mode: Mode::SFLOAT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_D32_SFLOAT_S8_UINT,
        name: "D32_SFLOAT_S8_UINT",
        packed_size: None,
        n_parts: 2,
        parts: [
            Part {
                bits: 32,
                component: Component::D,
                mode: Mode::SFLOAT,
            },
            Part {
                bits: 8,
                component: Component::S,
                mode: Mode::UINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R10X6_UNORM_PACK16,
        name: "R10X6_UNORM_PACK16",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(16)
        }),
        n_parts: 2,
        parts: [
            Part {
                bits: 10,
                component: Component::R,
                mode: Mode::UNORM,
            },
            Part {
                bits: 6,
                component: Component::X,
                mode: Mode::UNORM,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R12X4_UNORM_PACK16,
        name: "R12X4_UNORM_PACK16",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(16)
        }),
        n_parts: 2,
        parts: [
            Part {
                bits: 12,
                component: Component::R,
                mode: Mode::UNORM,
            },
            Part {
                bits: 4,
                component: Component::X,
                mode: Mode::UNORM,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R16G16B16A16_SFLOAT,
        name: "R16G16B16A16_SFLOAT",
        packed_size: None,
        n_parts: 4,
        parts: [
            Part {
                bits: 16,
                component: Component::R,
                mode: Mode::SFLOAT,
            },
            Part {
                bits: 16,
                component: Component::G,
                mode: Mode::SFLOAT,
            },
            Part {
                bits: 16,
                component: Component::B,
                mode: Mode::SFLOAT,
            },
            Part {
                bits: 16,
                component: Component::A,
                mode: Mode::SFLOAT,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R16G16B16A16_SINT,
        name: "R16G16B16A16_SINT",
        packed_size: None,
        n_parts: 4,
        parts: [
            Part {
                bits: 16,
                component: Component::R,
                mode: Mode::SINT,
            },
            Part {
                bits: 16,
                component: Component::G,
                mode: Mode::SINT,
            },
            Part {
                bits: 16,
                component: Component::B,
                mode: Mode::SINT,
            },
            Part {
                bits: 16,
                component: Component::A,
                mode: Mode::SINT,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R16G16B16A16_SNORM,
        name: "R16G16B16A16_SNORM",
        packed_size: None,
        n_parts: 4,
        parts: [
            Part {
                bits: 16,
                component: Component::R,
                mode: Mode::SNORM,
            },
            Part {
                bits: 16,
                component: Component::G,
                mode: Mode::SNORM,
            },
            Part {
                bits: 16,
                component: Component::B,
                mode: Mode::SNORM,
            },
            Part {
                bits: 16,
                component: Component::A,
                mode: Mode::SNORM,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R16G16B16A16_SSCALED,
        name: "R16G16B16A16_SSCALED",
        packed_size: None,
        n_parts: 4,
        parts: [
            Part {
                bits: 16,
                component: Component::R,
                mode: Mode::SSCALED,
            },
            Part {
                bits: 16,
                component: Component::G,
                mode: Mode::SSCALED,
            },
            Part {
                bits: 16,
                component: Component::B,
                mode: Mode::SSCALED,
            },
            Part {
                bits: 16,
                component: Component::A,
                mode: Mode::SSCALED,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R16G16B16A16_UINT,
        name: "R16G16B16A16_UINT",
        packed_size: None,
        n_parts: 4,
        parts: [
            Part {
                bits: 16,
                component: Component::R,
                mode: Mode::UINT,
            },
            Part {
                bits: 16,
                component: Component::G,
                mode: Mode::UINT,
            },
            Part {
                bits: 16,
                component: Component::B,
                mode: Mode::UINT,
            },
            Part {
                bits: 16,
                component: Component::A,
                mode: Mode::UINT,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R16G16B16A16_UNORM,
        name: "R16G16B16A16_UNORM",
        packed_size: None,
        n_parts: 4,
        parts: [
            Part {
                bits: 16,
                component: Component::R,
                mode: Mode::UNORM,
            },
            Part {
                bits: 16,
                component: Component::G,
                mode: Mode::UNORM,
            },
            Part {
                bits: 16,
                component: Component::B,
                mode: Mode::UNORM,
            },
            Part {
                bits: 16,
                component: Component::A,
                mode: Mode::UNORM,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R16G16B16A16_USCALED,
        name: "R16G16B16A16_USCALED",
        packed_size: None,
        n_parts: 4,
        parts: [
            Part {
                bits: 16,
                component: Component::R,
                mode: Mode::USCALED,
            },
            Part {
                bits: 16,
                component: Component::G,
                mode: Mode::USCALED,
            },
            Part {
                bits: 16,
                component: Component::B,
                mode: Mode::USCALED,
            },
            Part {
                bits: 16,
                component: Component::A,
                mode: Mode::USCALED,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R16G16B16_SFLOAT,
        name: "R16G16B16_SFLOAT",
        packed_size: None,
        n_parts: 3,
        parts: [
            Part {
                bits: 16,
                component: Component::R,
                mode: Mode::SFLOAT,
            },
            Part {
                bits: 16,
                component: Component::G,
                mode: Mode::SFLOAT,
            },
            Part {
                bits: 16,
                component: Component::B,
                mode: Mode::SFLOAT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R16G16B16_SINT,
        name: "R16G16B16_SINT",
        packed_size: None,
        n_parts: 3,
        parts: [
            Part {
                bits: 16,
                component: Component::R,
                mode: Mode::SINT,
            },
            Part {
                bits: 16,
                component: Component::G,
                mode: Mode::SINT,
            },
            Part {
                bits: 16,
                component: Component::B,
                mode: Mode::SINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R16G16B16_SNORM,
        name: "R16G16B16_SNORM",
        packed_size: None,
        n_parts: 3,
        parts: [
            Part {
                bits: 16,
                component: Component::R,
                mode: Mode::SNORM,
            },
            Part {
                bits: 16,
                component: Component::G,
                mode: Mode::SNORM,
            },
            Part {
                bits: 16,
                component: Component::B,
                mode: Mode::SNORM,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R16G16B16_SSCALED,
        name: "R16G16B16_SSCALED",
        packed_size: None,
        n_parts: 3,
        parts: [
            Part {
                bits: 16,
                component: Component::R,
                mode: Mode::SSCALED,
            },
            Part {
                bits: 16,
                component: Component::G,
                mode: Mode::SSCALED,
            },
            Part {
                bits: 16,
                component: Component::B,
                mode: Mode::SSCALED,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R16G16B16_UINT,
        name: "R16G16B16_UINT",
        packed_size: None,
        n_parts: 3,
        parts: [
            Part {
                bits: 16,
                component: Component::R,
                mode: Mode::UINT,
            },
            Part {
                bits: 16,
                component: Component::G,
                mode: Mode::UINT,
            },
            Part {
                bits: 16,
                component: Component::B,
                mode: Mode::UINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R16G16B16_UNORM,
        name: "R16G16B16_UNORM",
        packed_size: None,
        n_parts: 3,
        parts: [
            Part {
                bits: 16,
                component: Component::R,
                mode: Mode::UNORM,
            },
            Part {
                bits: 16,
                component: Component::G,
                mode: Mode::UNORM,
            },
            Part {
                bits: 16,
                component: Component::B,
                mode: Mode::UNORM,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R16G16B16_USCALED,
        name: "R16G16B16_USCALED",
        packed_size: None,
        n_parts: 3,
        parts: [
            Part {
                bits: 16,
                component: Component::R,
                mode: Mode::USCALED,
            },
            Part {
                bits: 16,
                component: Component::G,
                mode: Mode::USCALED,
            },
            Part {
                bits: 16,
                component: Component::B,
                mode: Mode::USCALED,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R16G16_SFLOAT,
        name: "R16G16_SFLOAT",
        packed_size: None,
        n_parts: 2,
        parts: [
            Part {
                bits: 16,
                component: Component::R,
                mode: Mode::SFLOAT,
            },
            Part {
                bits: 16,
                component: Component::G,
                mode: Mode::SFLOAT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R16G16_SINT,
        name: "R16G16_SINT",
        packed_size: None,
        n_parts: 2,
        parts: [
            Part {
                bits: 16,
                component: Component::R,
                mode: Mode::SINT,
            },
            Part {
                bits: 16,
                component: Component::G,
                mode: Mode::SINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R16G16_SNORM,
        name: "R16G16_SNORM",
        packed_size: None,
        n_parts: 2,
        parts: [
            Part {
                bits: 16,
                component: Component::R,
                mode: Mode::SNORM,
            },
            Part {
                bits: 16,
                component: Component::G,
                mode: Mode::SNORM,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R16G16_SSCALED,
        name: "R16G16_SSCALED",
        packed_size: None,
        n_parts: 2,
        parts: [
            Part {
                bits: 16,
                component: Component::R,
                mode: Mode::SSCALED,
            },
            Part {
                bits: 16,
                component: Component::G,
                mode: Mode::SSCALED,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R16G16_UINT,
        name: "R16G16_UINT",
        packed_size: None,
        n_parts: 2,
        parts: [
            Part {
                bits: 16,
                component: Component::R,
                mode: Mode::UINT,
            },
            Part {
                bits: 16,
                component: Component::G,
                mode: Mode::UINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R16G16_UNORM,
        name: "R16G16_UNORM",
        packed_size: None,
        n_parts: 2,
        parts: [
            Part {
                bits: 16,
                component: Component::R,
                mode: Mode::UNORM,
            },
            Part {
                bits: 16,
                component: Component::G,
                mode: Mode::UNORM,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R16G16_USCALED,
        name: "R16G16_USCALED",
        packed_size: None,
        n_parts: 2,
        parts: [
            Part {
                bits: 16,
                component: Component::R,
                mode: Mode::USCALED,
            },
            Part {
                bits: 16,
                component: Component::G,
                mode: Mode::USCALED,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R16_SFLOAT,
        name: "R16_SFLOAT",
        packed_size: None,
        n_parts: 1,
        parts: [
            Part {
                bits: 16,
                component: Component::R,
                mode: Mode::SFLOAT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R16_SINT,
        name: "R16_SINT",
        packed_size: None,
        n_parts: 1,
        parts: [
            Part {
                bits: 16,
                component: Component::R,
                mode: Mode::SINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R16_SNORM,
        name: "R16_SNORM",
        packed_size: None,
        n_parts: 1,
        parts: [
            Part {
                bits: 16,
                component: Component::R,
                mode: Mode::SNORM,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R16_SSCALED,
        name: "R16_SSCALED",
        packed_size: None,
        n_parts: 1,
        parts: [
            Part {
                bits: 16,
                component: Component::R,
                mode: Mode::SSCALED,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R16_UINT,
        name: "R16_UINT",
        packed_size: None,
        n_parts: 1,
        parts: [
            Part {
                bits: 16,
                component: Component::R,
                mode: Mode::UINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R16_UNORM,
        name: "R16_UNORM",
        packed_size: None,
        n_parts: 1,
        parts: [
            Part {
                bits: 16,
                component: Component::R,
                mode: Mode::UNORM,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R16_USCALED,
        name: "R16_USCALED",
        packed_size: None,
        n_parts: 1,
        parts: [
            Part {
                bits: 16,
                component: Component::R,
                mode: Mode::USCALED,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R32G32B32A32_SFLOAT,
        name: "R32G32B32A32_SFLOAT",
        packed_size: None,
        n_parts: 4,
        parts: [
            Part {
                bits: 32,
                component: Component::R,
                mode: Mode::SFLOAT,
            },
            Part {
                bits: 32,
                component: Component::G,
                mode: Mode::SFLOAT,
            },
            Part {
                bits: 32,
                component: Component::B,
                mode: Mode::SFLOAT,
            },
            Part {
                bits: 32,
                component: Component::A,
                mode: Mode::SFLOAT,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R32G32B32A32_SINT,
        name: "R32G32B32A32_SINT",
        packed_size: None,
        n_parts: 4,
        parts: [
            Part {
                bits: 32,
                component: Component::R,
                mode: Mode::SINT,
            },
            Part {
                bits: 32,
                component: Component::G,
                mode: Mode::SINT,
            },
            Part {
                bits: 32,
                component: Component::B,
                mode: Mode::SINT,
            },
            Part {
                bits: 32,
                component: Component::A,
                mode: Mode::SINT,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R32G32B32A32_UINT,
        name: "R32G32B32A32_UINT",
        packed_size: None,
        n_parts: 4,
        parts: [
            Part {
                bits: 32,
                component: Component::R,
                mode: Mode::UINT,
            },
            Part {
                bits: 32,
                component: Component::G,
                mode: Mode::UINT,
            },
            Part {
                bits: 32,
                component: Component::B,
                mode: Mode::UINT,
            },
            Part {
                bits: 32,
                component: Component::A,
                mode: Mode::UINT,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R32G32B32_SFLOAT,
        name: "R32G32B32_SFLOAT",
        packed_size: None,
        n_parts: 3,
        parts: [
            Part {
                bits: 32,
                component: Component::R,
                mode: Mode::SFLOAT,
            },
            Part {
                bits: 32,
                component: Component::G,
                mode: Mode::SFLOAT,
            },
            Part {
                bits: 32,
                component: Component::B,
                mode: Mode::SFLOAT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R32G32B32_SINT,
        name: "R32G32B32_SINT",
        packed_size: None,
        n_parts: 3,
        parts: [
            Part {
                bits: 32,
                component: Component::R,
                mode: Mode::SINT,
            },
            Part {
                bits: 32,
                component: Component::G,
                mode: Mode::SINT,
            },
            Part {
                bits: 32,
                component: Component::B,
                mode: Mode::SINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R32G32B32_UINT,
        name: "R32G32B32_UINT",
        packed_size: None,
        n_parts: 3,
        parts: [
            Part {
                bits: 32,
                component: Component::R,
                mode: Mode::UINT,
            },
            Part {
                bits: 32,
                component: Component::G,
                mode: Mode::UINT,
            },
            Part {
                bits: 32,
                component: Component::B,
                mode: Mode::UINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R32G32_SFLOAT,
        name: "R32G32_SFLOAT",
        packed_size: None,
        n_parts: 2,
        parts: [
            Part {
                bits: 32,
                component: Component::R,
                mode: Mode::SFLOAT,
            },
            Part {
                bits: 32,
                component: Component::G,
                mode: Mode::SFLOAT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R32G32_SINT,
        name: "R32G32_SINT",
        packed_size: None,
        n_parts: 2,
        parts: [
            Part {
                bits: 32,
                component: Component::R,
                mode: Mode::SINT,
            },
            Part {
                bits: 32,
                component: Component::G,
                mode: Mode::SINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R32G32_UINT,
        name: "R32G32_UINT",
        packed_size: None,
        n_parts: 2,
        parts: [
            Part {
                bits: 32,
                component: Component::R,
                mode: Mode::UINT,
            },
            Part {
                bits: 32,
                component: Component::G,
                mode: Mode::UINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R32_SFLOAT,
        name: "R32_SFLOAT",
        packed_size: None,
        n_parts: 1,
        parts: [
            Part {
                bits: 32,
                component: Component::R,
                mode: Mode::SFLOAT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R32_SINT,
        name: "R32_SINT",
        packed_size: None,
        n_parts: 1,
        parts: [
            Part {
                bits: 32,
                component: Component::R,
                mode: Mode::SINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R32_UINT,
        name: "R32_UINT",
        packed_size: None,
        n_parts: 1,
        parts: [
            Part {
                bits: 32,
                component: Component::R,
                mode: Mode::UINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R4G4B4A4_UNORM_PACK16,
        name: "R4G4B4A4_UNORM_PACK16",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(16)
        }),
        n_parts: 4,
        parts: [
            Part {
                bits: 4,
                component: Component::R,
                mode: Mode::UNORM,
            },
            Part {
                bits: 4,
                component: Component::G,
                mode: Mode::UNORM,
            },
            Part {
                bits: 4,
                component: Component::B,
                mode: Mode::UNORM,
            },
            Part {
                bits: 4,
                component: Component::A,
                mode: Mode::UNORM,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R4G4_UNORM_PACK8,
        name: "R4G4_UNORM_PACK8",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(8)
        }),
        n_parts: 2,
        parts: [
            Part {
                bits: 4,
                component: Component::R,
                mode: Mode::UNORM,
            },
            Part {
                bits: 4,
                component: Component::G,
                mode: Mode::UNORM,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R5G5B5A1_UNORM_PACK16,
        name: "R5G5B5A1_UNORM_PACK16",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(16)
        }),
        n_parts: 4,
        parts: [
            Part {
                bits: 5,
                component: Component::R,
                mode: Mode::UNORM,
            },
            Part {
                bits: 5,
                component: Component::G,
                mode: Mode::UNORM,
            },
            Part {
                bits: 5,
                component: Component::B,
                mode: Mode::UNORM,
            },
            Part {
                bits: 1,
                component: Component::A,
                mode: Mode::UNORM,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R5G6B5_UNORM_PACK16,
        name: "R5G6B5_UNORM_PACK16",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(16)
        }),
        n_parts: 3,
        parts: [
            Part {
                bits: 5,
                component: Component::R,
                mode: Mode::UNORM,
            },
            Part {
                bits: 6,
                component: Component::G,
                mode: Mode::UNORM,
            },
            Part {
                bits: 5,
                component: Component::B,
                mode: Mode::UNORM,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R64G64B64A64_SFLOAT,
        name: "R64G64B64A64_SFLOAT",
        packed_size: None,
        n_parts: 4,
        parts: [
            Part {
                bits: 64,
                component: Component::R,
                mode: Mode::SFLOAT,
            },
            Part {
                bits: 64,
                component: Component::G,
                mode: Mode::SFLOAT,
            },
            Part {
                bits: 64,
                component: Component::B,
                mode: Mode::SFLOAT,
            },
            Part {
                bits: 64,
                component: Component::A,
                mode: Mode::SFLOAT,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R64G64B64A64_SINT,
        name: "R64G64B64A64_SINT",
        packed_size: None,
        n_parts: 4,
        parts: [
            Part {
                bits: 64,
                component: Component::R,
                mode: Mode::SINT,
            },
            Part {
                bits: 64,
                component: Component::G,
                mode: Mode::SINT,
            },
            Part {
                bits: 64,
                component: Component::B,
                mode: Mode::SINT,
            },
            Part {
                bits: 64,
                component: Component::A,
                mode: Mode::SINT,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R64G64B64A64_UINT,
        name: "R64G64B64A64_UINT",
        packed_size: None,
        n_parts: 4,
        parts: [
            Part {
                bits: 64,
                component: Component::R,
                mode: Mode::UINT,
            },
            Part {
                bits: 64,
                component: Component::G,
                mode: Mode::UINT,
            },
            Part {
                bits: 64,
                component: Component::B,
                mode: Mode::UINT,
            },
            Part {
                bits: 64,
                component: Component::A,
                mode: Mode::UINT,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R64G64B64_SFLOAT,
        name: "R64G64B64_SFLOAT",
        packed_size: None,
        n_parts: 3,
        parts: [
            Part {
                bits: 64,
                component: Component::R,
                mode: Mode::SFLOAT,
            },
            Part {
                bits: 64,
                component: Component::G,
                mode: Mode::SFLOAT,
            },
            Part {
                bits: 64,
                component: Component::B,
                mode: Mode::SFLOAT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R64G64B64_SINT,
        name: "R64G64B64_SINT",
        packed_size: None,
        n_parts: 3,
        parts: [
            Part {
                bits: 64,
                component: Component::R,
                mode: Mode::SINT,
            },
            Part {
                bits: 64,
                component: Component::G,
                mode: Mode::SINT,
            },
            Part {
                bits: 64,
                component: Component::B,
                mode: Mode::SINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R64G64B64_UINT,
        name: "R64G64B64_UINT",
        packed_size: None,
        n_parts: 3,
        parts: [
            Part {
                bits: 64,
                component: Component::R,
                mode: Mode::UINT,
            },
            Part {
                bits: 64,
                component: Component::G,
                mode: Mode::UINT,
            },
            Part {
                bits: 64,
                component: Component::B,
                mode: Mode::UINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R64G64_SFLOAT,
        name: "R64G64_SFLOAT",
        packed_size: None,
        n_parts: 2,
        parts: [
            Part {
                bits: 64,
                component: Component::R,
                mode: Mode::SFLOAT,
            },
            Part {
                bits: 64,
                component: Component::G,
                mode: Mode::SFLOAT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R64G64_SINT,
        name: "R64G64_SINT",
        packed_size: None,
        n_parts: 2,
        parts: [
            Part {
                bits: 64,
                component: Component::R,
                mode: Mode::SINT,
            },
            Part {
                bits: 64,
                component: Component::G,
                mode: Mode::SINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R64G64_UINT,
        name: "R64G64_UINT",
        packed_size: None,
        n_parts: 2,
        parts: [
            Part {
                bits: 64,
                component: Component::R,
                mode: Mode::UINT,
            },
            Part {
                bits: 64,
                component: Component::G,
                mode: Mode::UINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R64_SFLOAT,
        name: "R64_SFLOAT",
        packed_size: None,
        n_parts: 1,
        parts: [
            Part {
                bits: 64,
                component: Component::R,
                mode: Mode::SFLOAT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R64_SINT,
        name: "R64_SINT",
        packed_size: None,
        n_parts: 1,
        parts: [
            Part {
                bits: 64,
                component: Component::R,
                mode: Mode::SINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R64_UINT,
        name: "R64_UINT",
        packed_size: None,
        n_parts: 1,
        parts: [
            Part {
                bits: 64,
                component: Component::R,
                mode: Mode::UINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R8G8B8A8_SINT,
        name: "R8G8B8A8_SINT",
        packed_size: None,
        n_parts: 4,
        parts: [
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::SINT,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::SINT,
            },
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::SINT,
            },
            Part {
                bits: 8,
                component: Component::A,
                mode: Mode::SINT,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R8G8B8A8_SNORM,
        name: "R8G8B8A8_SNORM",
        packed_size: None,
        n_parts: 4,
        parts: [
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::SNORM,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::SNORM,
            },
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::SNORM,
            },
            Part {
                bits: 8,
                component: Component::A,
                mode: Mode::SNORM,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R8G8B8A8_SRGB,
        name: "R8G8B8A8_SRGB",
        packed_size: None,
        n_parts: 4,
        parts: [
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::SRGB,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::SRGB,
            },
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::SRGB,
            },
            Part {
                bits: 8,
                component: Component::A,
                mode: Mode::SRGB,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R8G8B8A8_SSCALED,
        name: "R8G8B8A8_SSCALED",
        packed_size: None,
        n_parts: 4,
        parts: [
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::SSCALED,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::SSCALED,
            },
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::SSCALED,
            },
            Part {
                bits: 8,
                component: Component::A,
                mode: Mode::SSCALED,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R8G8B8A8_UINT,
        name: "R8G8B8A8_UINT",
        packed_size: None,
        n_parts: 4,
        parts: [
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::UINT,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::UINT,
            },
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::UINT,
            },
            Part {
                bits: 8,
                component: Component::A,
                mode: Mode::UINT,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R8G8B8A8_UNORM,
        name: "R8G8B8A8_UNORM",
        packed_size: None,
        n_parts: 4,
        parts: [
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::UNORM,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::UNORM,
            },
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::UNORM,
            },
            Part {
                bits: 8,
                component: Component::A,
                mode: Mode::UNORM,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R8G8B8A8_USCALED,
        name: "R8G8B8A8_USCALED",
        packed_size: None,
        n_parts: 4,
        parts: [
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::USCALED,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::USCALED,
            },
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::USCALED,
            },
            Part {
                bits: 8,
                component: Component::A,
                mode: Mode::USCALED,
            },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R8G8B8_SINT,
        name: "R8G8B8_SINT",
        packed_size: None,
        n_parts: 3,
        parts: [
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::SINT,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::SINT,
            },
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::SINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R8G8B8_SNORM,
        name: "R8G8B8_SNORM",
        packed_size: None,
        n_parts: 3,
        parts: [
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::SNORM,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::SNORM,
            },
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::SNORM,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R8G8B8_SRGB,
        name: "R8G8B8_SRGB",
        packed_size: None,
        n_parts: 3,
        parts: [
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::SRGB,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::SRGB,
            },
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::SRGB,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R8G8B8_SSCALED,
        name: "R8G8B8_SSCALED",
        packed_size: None,
        n_parts: 3,
        parts: [
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::SSCALED,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::SSCALED,
            },
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::SSCALED,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R8G8B8_UINT,
        name: "R8G8B8_UINT",
        packed_size: None,
        n_parts: 3,
        parts: [
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::UINT,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::UINT,
            },
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::UINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R8G8B8_UNORM,
        name: "R8G8B8_UNORM",
        packed_size: None,
        n_parts: 3,
        parts: [
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::UNORM,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::UNORM,
            },
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::UNORM,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R8G8B8_USCALED,
        name: "R8G8B8_USCALED",
        packed_size: None,
        n_parts: 3,
        parts: [
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::USCALED,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::USCALED,
            },
            Part {
                bits: 8,
                component: Component::B,
                mode: Mode::USCALED,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R8G8_SINT,
        name: "R8G8_SINT",
        packed_size: None,
        n_parts: 2,
        parts: [
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::SINT,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::SINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R8G8_SNORM,
        name: "R8G8_SNORM",
        packed_size: None,
        n_parts: 2,
        parts: [
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::SNORM,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::SNORM,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R8G8_SRGB,
        name: "R8G8_SRGB",
        packed_size: None,
        n_parts: 2,
        parts: [
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::SRGB,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::SRGB,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R8G8_SSCALED,
        name: "R8G8_SSCALED",
        packed_size: None,
        n_parts: 2,
        parts: [
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::SSCALED,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::SSCALED,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R8G8_UINT,
        name: "R8G8_UINT",
        packed_size: None,
        n_parts: 2,
        parts: [
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::UINT,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::UINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R8G8_UNORM,
        name: "R8G8_UNORM",
        packed_size: None,
        n_parts: 2,
        parts: [
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::UNORM,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::UNORM,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R8G8_USCALED,
        name: "R8G8_USCALED",
        packed_size: None,
        n_parts: 2,
        parts: [
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::USCALED,
            },
            Part {
                bits: 8,
                component: Component::G,
                mode: Mode::USCALED,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R8_SINT,
        name: "R8_SINT",
        packed_size: None,
        n_parts: 1,
        parts: [
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::SINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R8_SNORM,
        name: "R8_SNORM",
        packed_size: None,
        n_parts: 1,
        parts: [
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::SNORM,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R8_SRGB,
        name: "R8_SRGB",
        packed_size: None,
        n_parts: 1,
        parts: [
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::SRGB,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R8_SSCALED,
        name: "R8_SSCALED",
        packed_size: None,
        n_parts: 1,
        parts: [
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::SSCALED,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R8_UINT,
        name: "R8_UINT",
        packed_size: None,
        n_parts: 1,
        parts: [
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::UINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R8_UNORM,
        name: "R8_UNORM",
        packed_size: None,
        n_parts: 1,
        parts: [
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::UNORM,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_R8_USCALED,
        name: "R8_USCALED",
        packed_size: None,
        n_parts: 1,
        parts: [
            Part {
                bits: 8,
                component: Component::R,
                mode: Mode::USCALED,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_S8_UINT,
        name: "S8_UINT",
        packed_size: None,
        n_parts: 1,
        parts: [
            Part {
                bits: 8,
                component: Component::S,
                mode: Mode::UINT,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
    Format {
        vk_format: vk::VK_FORMAT_X8_D24_UNORM_PACK32,
        name: "X8_D24_UNORM_PACK32",
        packed_size: Some(unsafe {
            NonZeroUsize::new_unchecked(32)
        }),
        n_parts: 2,
        parts: [
            Part {
                bits: 8,
                component: Component::X,
                mode: Mode::UNORM,
            },
            Part {
                bits: 24,
                component: Component::D,
                mode: Mode::UNORM,
            },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
            // stub to fill the array
            Part { bits: 0, component: Component::R, mode: Mode::UNORM },
        ]
    },
];

```
Page 6/7FirstPrevNextLast