#
tokens: 33719/50000 1/78 files (page 8/9)
lines: on (toggle) GitHub
raw markdown copy reset
This is page 8 of 9. Use http://codebase.md/mehmetoguzderin/shaderc-vkrunner-mcp?lines=true&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
   1 | // Automatically generated by make-formats.py
   2 | 
   3 | static FORMATS: [Format; 135] = [
   4 |     Format {
   5 |         vk_format: vk::VK_FORMAT_A1B5G5R5_UNORM_PACK16,
   6 |         name: "A1B5G5R5_UNORM_PACK16",
   7 |         packed_size: Some(unsafe {
   8 |             NonZeroUsize::new_unchecked(16)
   9 |         }),
  10 |         n_parts: 4,
  11 |         parts: [
  12 |             Part {
  13 |                 bits: 1,
  14 |                 component: Component::A,
  15 |                 mode: Mode::UNORM,
  16 |             },
  17 |             Part {
  18 |                 bits: 5,
  19 |                 component: Component::B,
  20 |                 mode: Mode::UNORM,
  21 |             },
  22 |             Part {
  23 |                 bits: 5,
  24 |                 component: Component::G,
  25 |                 mode: Mode::UNORM,
  26 |             },
  27 |             Part {
  28 |                 bits: 5,
  29 |                 component: Component::R,
  30 |                 mode: Mode::UNORM,
  31 |             },
  32 |         ]
  33 |     },
  34 |     Format {
  35 |         vk_format: vk::VK_FORMAT_A1R5G5B5_UNORM_PACK16,
  36 |         name: "A1R5G5B5_UNORM_PACK16",
  37 |         packed_size: Some(unsafe {
  38 |             NonZeroUsize::new_unchecked(16)
  39 |         }),
  40 |         n_parts: 4,
  41 |         parts: [
  42 |             Part {
  43 |                 bits: 1,
  44 |                 component: Component::A,
  45 |                 mode: Mode::UNORM,
  46 |             },
  47 |             Part {
  48 |                 bits: 5,
  49 |                 component: Component::R,
  50 |                 mode: Mode::UNORM,
  51 |             },
  52 |             Part {
  53 |                 bits: 5,
  54 |                 component: Component::G,
  55 |                 mode: Mode::UNORM,
  56 |             },
  57 |             Part {
  58 |                 bits: 5,
  59 |                 component: Component::B,
  60 |                 mode: Mode::UNORM,
  61 |             },
  62 |         ]
  63 |     },
  64 |     Format {
  65 |         vk_format: vk::VK_FORMAT_A2B10G10R10_SINT_PACK32,
  66 |         name: "A2B10G10R10_SINT_PACK32",
  67 |         packed_size: Some(unsafe {
  68 |             NonZeroUsize::new_unchecked(32)
  69 |         }),
  70 |         n_parts: 4,
  71 |         parts: [
  72 |             Part {
  73 |                 bits: 2,
  74 |                 component: Component::A,
  75 |                 mode: Mode::SINT,
  76 |             },
  77 |             Part {
  78 |                 bits: 10,
  79 |                 component: Component::B,
  80 |                 mode: Mode::SINT,
  81 |             },
  82 |             Part {
  83 |                 bits: 10,
  84 |                 component: Component::G,
  85 |                 mode: Mode::SINT,
  86 |             },
  87 |             Part {
  88 |                 bits: 10,
  89 |                 component: Component::R,
  90 |                 mode: Mode::SINT,
  91 |             },
  92 |         ]
  93 |     },
  94 |     Format {
  95 |         vk_format: vk::VK_FORMAT_A2B10G10R10_SNORM_PACK32,
  96 |         name: "A2B10G10R10_SNORM_PACK32",
  97 |         packed_size: Some(unsafe {
  98 |             NonZeroUsize::new_unchecked(32)
  99 |         }),
 100 |         n_parts: 4,
 101 |         parts: [
 102 |             Part {
 103 |                 bits: 2,
 104 |                 component: Component::A,
 105 |                 mode: Mode::SNORM,
 106 |             },
 107 |             Part {
 108 |                 bits: 10,
 109 |                 component: Component::B,
 110 |                 mode: Mode::SNORM,
 111 |             },
 112 |             Part {
 113 |                 bits: 10,
 114 |                 component: Component::G,
 115 |                 mode: Mode::SNORM,
 116 |             },
 117 |             Part {
 118 |                 bits: 10,
 119 |                 component: Component::R,
 120 |                 mode: Mode::SNORM,
 121 |             },
 122 |         ]
 123 |     },
 124 |     Format {
 125 |         vk_format: vk::VK_FORMAT_A2B10G10R10_SSCALED_PACK32,
 126 |         name: "A2B10G10R10_SSCALED_PACK32",
 127 |         packed_size: Some(unsafe {
 128 |             NonZeroUsize::new_unchecked(32)
 129 |         }),
 130 |         n_parts: 4,
 131 |         parts: [
 132 |             Part {
 133 |                 bits: 2,
 134 |                 component: Component::A,
 135 |                 mode: Mode::SSCALED,
 136 |             },
 137 |             Part {
 138 |                 bits: 10,
 139 |                 component: Component::B,
 140 |                 mode: Mode::SSCALED,
 141 |             },
 142 |             Part {
 143 |                 bits: 10,
 144 |                 component: Component::G,
 145 |                 mode: Mode::SSCALED,
 146 |             },
 147 |             Part {
 148 |                 bits: 10,
 149 |                 component: Component::R,
 150 |                 mode: Mode::SSCALED,
 151 |             },
 152 |         ]
 153 |     },
 154 |     Format {
 155 |         vk_format: vk::VK_FORMAT_A2B10G10R10_UINT_PACK32,
 156 |         name: "A2B10G10R10_UINT_PACK32",
 157 |         packed_size: Some(unsafe {
 158 |             NonZeroUsize::new_unchecked(32)
 159 |         }),
 160 |         n_parts: 4,
 161 |         parts: [
 162 |             Part {
 163 |                 bits: 2,
 164 |                 component: Component::A,
 165 |                 mode: Mode::UINT,
 166 |             },
 167 |             Part {
 168 |                 bits: 10,
 169 |                 component: Component::B,
 170 |                 mode: Mode::UINT,
 171 |             },
 172 |             Part {
 173 |                 bits: 10,
 174 |                 component: Component::G,
 175 |                 mode: Mode::UINT,
 176 |             },
 177 |             Part {
 178 |                 bits: 10,
 179 |                 component: Component::R,
 180 |                 mode: Mode::UINT,
 181 |             },
 182 |         ]
 183 |     },
 184 |     Format {
 185 |         vk_format: vk::VK_FORMAT_A2B10G10R10_UNORM_PACK32,
 186 |         name: "A2B10G10R10_UNORM_PACK32",
 187 |         packed_size: Some(unsafe {
 188 |             NonZeroUsize::new_unchecked(32)
 189 |         }),
 190 |         n_parts: 4,
 191 |         parts: [
 192 |             Part {
 193 |                 bits: 2,
 194 |                 component: Component::A,
 195 |                 mode: Mode::UNORM,
 196 |             },
 197 |             Part {
 198 |                 bits: 10,
 199 |                 component: Component::B,
 200 |                 mode: Mode::UNORM,
 201 |             },
 202 |             Part {
 203 |                 bits: 10,
 204 |                 component: Component::G,
 205 |                 mode: Mode::UNORM,
 206 |             },
 207 |             Part {
 208 |                 bits: 10,
 209 |                 component: Component::R,
 210 |                 mode: Mode::UNORM,
 211 |             },
 212 |         ]
 213 |     },
 214 |     Format {
 215 |         vk_format: vk::VK_FORMAT_A2B10G10R10_USCALED_PACK32,
 216 |         name: "A2B10G10R10_USCALED_PACK32",
 217 |         packed_size: Some(unsafe {
 218 |             NonZeroUsize::new_unchecked(32)
 219 |         }),
 220 |         n_parts: 4,
 221 |         parts: [
 222 |             Part {
 223 |                 bits: 2,
 224 |                 component: Component::A,
 225 |                 mode: Mode::USCALED,
 226 |             },
 227 |             Part {
 228 |                 bits: 10,
 229 |                 component: Component::B,
 230 |                 mode: Mode::USCALED,
 231 |             },
 232 |             Part {
 233 |                 bits: 10,
 234 |                 component: Component::G,
 235 |                 mode: Mode::USCALED,
 236 |             },
 237 |             Part {
 238 |                 bits: 10,
 239 |                 component: Component::R,
 240 |                 mode: Mode::USCALED,
 241 |             },
 242 |         ]
 243 |     },
 244 |     Format {
 245 |         vk_format: vk::VK_FORMAT_A2R10G10B10_SINT_PACK32,
 246 |         name: "A2R10G10B10_SINT_PACK32",
 247 |         packed_size: Some(unsafe {
 248 |             NonZeroUsize::new_unchecked(32)
 249 |         }),
 250 |         n_parts: 4,
 251 |         parts: [
 252 |             Part {
 253 |                 bits: 2,
 254 |                 component: Component::A,
 255 |                 mode: Mode::SINT,
 256 |             },
 257 |             Part {
 258 |                 bits: 10,
 259 |                 component: Component::R,
 260 |                 mode: Mode::SINT,
 261 |             },
 262 |             Part {
 263 |                 bits: 10,
 264 |                 component: Component::G,
 265 |                 mode: Mode::SINT,
 266 |             },
 267 |             Part {
 268 |                 bits: 10,
 269 |                 component: Component::B,
 270 |                 mode: Mode::SINT,
 271 |             },
 272 |         ]
 273 |     },
 274 |     Format {
 275 |         vk_format: vk::VK_FORMAT_A2R10G10B10_SNORM_PACK32,
 276 |         name: "A2R10G10B10_SNORM_PACK32",
 277 |         packed_size: Some(unsafe {
 278 |             NonZeroUsize::new_unchecked(32)
 279 |         }),
 280 |         n_parts: 4,
 281 |         parts: [
 282 |             Part {
 283 |                 bits: 2,
 284 |                 component: Component::A,
 285 |                 mode: Mode::SNORM,
 286 |             },
 287 |             Part {
 288 |                 bits: 10,
 289 |                 component: Component::R,
 290 |                 mode: Mode::SNORM,
 291 |             },
 292 |             Part {
 293 |                 bits: 10,
 294 |                 component: Component::G,
 295 |                 mode: Mode::SNORM,
 296 |             },
 297 |             Part {
 298 |                 bits: 10,
 299 |                 component: Component::B,
 300 |                 mode: Mode::SNORM,
 301 |             },
 302 |         ]
 303 |     },
 304 |     Format {
 305 |         vk_format: vk::VK_FORMAT_A2R10G10B10_SSCALED_PACK32,
 306 |         name: "A2R10G10B10_SSCALED_PACK32",
 307 |         packed_size: Some(unsafe {
 308 |             NonZeroUsize::new_unchecked(32)
 309 |         }),
 310 |         n_parts: 4,
 311 |         parts: [
 312 |             Part {
 313 |                 bits: 2,
 314 |                 component: Component::A,
 315 |                 mode: Mode::SSCALED,
 316 |             },
 317 |             Part {
 318 |                 bits: 10,
 319 |                 component: Component::R,
 320 |                 mode: Mode::SSCALED,
 321 |             },
 322 |             Part {
 323 |                 bits: 10,
 324 |                 component: Component::G,
 325 |                 mode: Mode::SSCALED,
 326 |             },
 327 |             Part {
 328 |                 bits: 10,
 329 |                 component: Component::B,
 330 |                 mode: Mode::SSCALED,
 331 |             },
 332 |         ]
 333 |     },
 334 |     Format {
 335 |         vk_format: vk::VK_FORMAT_A2R10G10B10_UINT_PACK32,
 336 |         name: "A2R10G10B10_UINT_PACK32",
 337 |         packed_size: Some(unsafe {
 338 |             NonZeroUsize::new_unchecked(32)
 339 |         }),
 340 |         n_parts: 4,
 341 |         parts: [
 342 |             Part {
 343 |                 bits: 2,
 344 |                 component: Component::A,
 345 |                 mode: Mode::UINT,
 346 |             },
 347 |             Part {
 348 |                 bits: 10,
 349 |                 component: Component::R,
 350 |                 mode: Mode::UINT,
 351 |             },
 352 |             Part {
 353 |                 bits: 10,
 354 |                 component: Component::G,
 355 |                 mode: Mode::UINT,
 356 |             },
 357 |             Part {
 358 |                 bits: 10,
 359 |                 component: Component::B,
 360 |                 mode: Mode::UINT,
 361 |             },
 362 |         ]
 363 |     },
 364 |     Format {
 365 |         vk_format: vk::VK_FORMAT_A2R10G10B10_UNORM_PACK32,
 366 |         name: "A2R10G10B10_UNORM_PACK32",
 367 |         packed_size: Some(unsafe {
 368 |             NonZeroUsize::new_unchecked(32)
 369 |         }),
 370 |         n_parts: 4,
 371 |         parts: [
 372 |             Part {
 373 |                 bits: 2,
 374 |                 component: Component::A,
 375 |                 mode: Mode::UNORM,
 376 |             },
 377 |             Part {
 378 |                 bits: 10,
 379 |                 component: Component::R,
 380 |                 mode: Mode::UNORM,
 381 |             },
 382 |             Part {
 383 |                 bits: 10,
 384 |                 component: Component::G,
 385 |                 mode: Mode::UNORM,
 386 |             },
 387 |             Part {
 388 |                 bits: 10,
 389 |                 component: Component::B,
 390 |                 mode: Mode::UNORM,
 391 |             },
 392 |         ]
 393 |     },
 394 |     Format {
 395 |         vk_format: vk::VK_FORMAT_A2R10G10B10_USCALED_PACK32,
 396 |         name: "A2R10G10B10_USCALED_PACK32",
 397 |         packed_size: Some(unsafe {
 398 |             NonZeroUsize::new_unchecked(32)
 399 |         }),
 400 |         n_parts: 4,
 401 |         parts: [
 402 |             Part {
 403 |                 bits: 2,
 404 |                 component: Component::A,
 405 |                 mode: Mode::USCALED,
 406 |             },
 407 |             Part {
 408 |                 bits: 10,
 409 |                 component: Component::R,
 410 |                 mode: Mode::USCALED,
 411 |             },
 412 |             Part {
 413 |                 bits: 10,
 414 |                 component: Component::G,
 415 |                 mode: Mode::USCALED,
 416 |             },
 417 |             Part {
 418 |                 bits: 10,
 419 |                 component: Component::B,
 420 |                 mode: Mode::USCALED,
 421 |             },
 422 |         ]
 423 |     },
 424 |     Format {
 425 |         vk_format: vk::VK_FORMAT_A4B4G4R4_UNORM_PACK16,
 426 |         name: "A4B4G4R4_UNORM_PACK16",
 427 |         packed_size: Some(unsafe {
 428 |             NonZeroUsize::new_unchecked(16)
 429 |         }),
 430 |         n_parts: 4,
 431 |         parts: [
 432 |             Part {
 433 |                 bits: 4,
 434 |                 component: Component::A,
 435 |                 mode: Mode::UNORM,
 436 |             },
 437 |             Part {
 438 |                 bits: 4,
 439 |                 component: Component::B,
 440 |                 mode: Mode::UNORM,
 441 |             },
 442 |             Part {
 443 |                 bits: 4,
 444 |                 component: Component::G,
 445 |                 mode: Mode::UNORM,
 446 |             },
 447 |             Part {
 448 |                 bits: 4,
 449 |                 component: Component::R,
 450 |                 mode: Mode::UNORM,
 451 |             },
 452 |         ]
 453 |     },
 454 |     Format {
 455 |         vk_format: vk::VK_FORMAT_A4R4G4B4_UNORM_PACK16,
 456 |         name: "A4R4G4B4_UNORM_PACK16",
 457 |         packed_size: Some(unsafe {
 458 |             NonZeroUsize::new_unchecked(16)
 459 |         }),
 460 |         n_parts: 4,
 461 |         parts: [
 462 |             Part {
 463 |                 bits: 4,
 464 |                 component: Component::A,
 465 |                 mode: Mode::UNORM,
 466 |             },
 467 |             Part {
 468 |                 bits: 4,
 469 |                 component: Component::R,
 470 |                 mode: Mode::UNORM,
 471 |             },
 472 |             Part {
 473 |                 bits: 4,
 474 |                 component: Component::G,
 475 |                 mode: Mode::UNORM,
 476 |             },
 477 |             Part {
 478 |                 bits: 4,
 479 |                 component: Component::B,
 480 |                 mode: Mode::UNORM,
 481 |             },
 482 |         ]
 483 |     },
 484 |     Format {
 485 |         vk_format: vk::VK_FORMAT_A8B8G8R8_SINT_PACK32,
 486 |         name: "A8B8G8R8_SINT_PACK32",
 487 |         packed_size: Some(unsafe {
 488 |             NonZeroUsize::new_unchecked(32)
 489 |         }),
 490 |         n_parts: 4,
 491 |         parts: [
 492 |             Part {
 493 |                 bits: 8,
 494 |                 component: Component::A,
 495 |                 mode: Mode::SINT,
 496 |             },
 497 |             Part {
 498 |                 bits: 8,
 499 |                 component: Component::B,
 500 |                 mode: Mode::SINT,
 501 |             },
 502 |             Part {
 503 |                 bits: 8,
 504 |                 component: Component::G,
 505 |                 mode: Mode::SINT,
 506 |             },
 507 |             Part {
 508 |                 bits: 8,
 509 |                 component: Component::R,
 510 |                 mode: Mode::SINT,
 511 |             },
 512 |         ]
 513 |     },
 514 |     Format {
 515 |         vk_format: vk::VK_FORMAT_A8B8G8R8_SNORM_PACK32,
 516 |         name: "A8B8G8R8_SNORM_PACK32",
 517 |         packed_size: Some(unsafe {
 518 |             NonZeroUsize::new_unchecked(32)
 519 |         }),
 520 |         n_parts: 4,
 521 |         parts: [
 522 |             Part {
 523 |                 bits: 8,
 524 |                 component: Component::A,
 525 |                 mode: Mode::SNORM,
 526 |             },
 527 |             Part {
 528 |                 bits: 8,
 529 |                 component: Component::B,
 530 |                 mode: Mode::SNORM,
 531 |             },
 532 |             Part {
 533 |                 bits: 8,
 534 |                 component: Component::G,
 535 |                 mode: Mode::SNORM,
 536 |             },
 537 |             Part {
 538 |                 bits: 8,
 539 |                 component: Component::R,
 540 |                 mode: Mode::SNORM,
 541 |             },
 542 |         ]
 543 |     },
 544 |     Format {
 545 |         vk_format: vk::VK_FORMAT_A8B8G8R8_SRGB_PACK32,
 546 |         name: "A8B8G8R8_SRGB_PACK32",
 547 |         packed_size: Some(unsafe {
 548 |             NonZeroUsize::new_unchecked(32)
 549 |         }),
 550 |         n_parts: 4,
 551 |         parts: [
 552 |             Part {
 553 |                 bits: 8,
 554 |                 component: Component::A,
 555 |                 mode: Mode::SRGB,
 556 |             },
 557 |             Part {
 558 |                 bits: 8,
 559 |                 component: Component::B,
 560 |                 mode: Mode::SRGB,
 561 |             },
 562 |             Part {
 563 |                 bits: 8,
 564 |                 component: Component::G,
 565 |                 mode: Mode::SRGB,
 566 |             },
 567 |             Part {
 568 |                 bits: 8,
 569 |                 component: Component::R,
 570 |                 mode: Mode::SRGB,
 571 |             },
 572 |         ]
 573 |     },
 574 |     Format {
 575 |         vk_format: vk::VK_FORMAT_A8B8G8R8_SSCALED_PACK32,
 576 |         name: "A8B8G8R8_SSCALED_PACK32",
 577 |         packed_size: Some(unsafe {
 578 |             NonZeroUsize::new_unchecked(32)
 579 |         }),
 580 |         n_parts: 4,
 581 |         parts: [
 582 |             Part {
 583 |                 bits: 8,
 584 |                 component: Component::A,
 585 |                 mode: Mode::SSCALED,
 586 |             },
 587 |             Part {
 588 |                 bits: 8,
 589 |                 component: Component::B,
 590 |                 mode: Mode::SSCALED,
 591 |             },
 592 |             Part {
 593 |                 bits: 8,
 594 |                 component: Component::G,
 595 |                 mode: Mode::SSCALED,
 596 |             },
 597 |             Part {
 598 |                 bits: 8,
 599 |                 component: Component::R,
 600 |                 mode: Mode::SSCALED,
 601 |             },
 602 |         ]
 603 |     },
 604 |     Format {
 605 |         vk_format: vk::VK_FORMAT_A8B8G8R8_UINT_PACK32,
 606 |         name: "A8B8G8R8_UINT_PACK32",
 607 |         packed_size: Some(unsafe {
 608 |             NonZeroUsize::new_unchecked(32)
 609 |         }),
 610 |         n_parts: 4,
 611 |         parts: [
 612 |             Part {
 613 |                 bits: 8,
 614 |                 component: Component::A,
 615 |                 mode: Mode::UINT,
 616 |             },
 617 |             Part {
 618 |                 bits: 8,
 619 |                 component: Component::B,
 620 |                 mode: Mode::UINT,
 621 |             },
 622 |             Part {
 623 |                 bits: 8,
 624 |                 component: Component::G,
 625 |                 mode: Mode::UINT,
 626 |             },
 627 |             Part {
 628 |                 bits: 8,
 629 |                 component: Component::R,
 630 |                 mode: Mode::UINT,
 631 |             },
 632 |         ]
 633 |     },
 634 |     Format {
 635 |         vk_format: vk::VK_FORMAT_A8B8G8R8_UNORM_PACK32,
 636 |         name: "A8B8G8R8_UNORM_PACK32",
 637 |         packed_size: Some(unsafe {
 638 |             NonZeroUsize::new_unchecked(32)
 639 |         }),
 640 |         n_parts: 4,
 641 |         parts: [
 642 |             Part {
 643 |                 bits: 8,
 644 |                 component: Component::A,
 645 |                 mode: Mode::UNORM,
 646 |             },
 647 |             Part {
 648 |                 bits: 8,
 649 |                 component: Component::B,
 650 |                 mode: Mode::UNORM,
 651 |             },
 652 |             Part {
 653 |                 bits: 8,
 654 |                 component: Component::G,
 655 |                 mode: Mode::UNORM,
 656 |             },
 657 |             Part {
 658 |                 bits: 8,
 659 |                 component: Component::R,
 660 |                 mode: Mode::UNORM,
 661 |             },
 662 |         ]
 663 |     },
 664 |     Format {
 665 |         vk_format: vk::VK_FORMAT_A8B8G8R8_USCALED_PACK32,
 666 |         name: "A8B8G8R8_USCALED_PACK32",
 667 |         packed_size: Some(unsafe {
 668 |             NonZeroUsize::new_unchecked(32)
 669 |         }),
 670 |         n_parts: 4,
 671 |         parts: [
 672 |             Part {
 673 |                 bits: 8,
 674 |                 component: Component::A,
 675 |                 mode: Mode::USCALED,
 676 |             },
 677 |             Part {
 678 |                 bits: 8,
 679 |                 component: Component::B,
 680 |                 mode: Mode::USCALED,
 681 |             },
 682 |             Part {
 683 |                 bits: 8,
 684 |                 component: Component::G,
 685 |                 mode: Mode::USCALED,
 686 |             },
 687 |             Part {
 688 |                 bits: 8,
 689 |                 component: Component::R,
 690 |                 mode: Mode::USCALED,
 691 |             },
 692 |         ]
 693 |     },
 694 |     Format {
 695 |         vk_format: vk::VK_FORMAT_A8_UNORM,
 696 |         name: "A8_UNORM",
 697 |         packed_size: None,
 698 |         n_parts: 1,
 699 |         parts: [
 700 |             Part {
 701 |                 bits: 8,
 702 |                 component: Component::A,
 703 |                 mode: Mode::UNORM,
 704 |             },
 705 |             // stub to fill the array
 706 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
 707 |             // stub to fill the array
 708 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
 709 |             // stub to fill the array
 710 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
 711 |         ]
 712 |     },
 713 |     Format {
 714 |         vk_format: vk::VK_FORMAT_B10G11R11_UFLOAT_PACK32,
 715 |         name: "B10G11R11_UFLOAT_PACK32",
 716 |         packed_size: Some(unsafe {
 717 |             NonZeroUsize::new_unchecked(32)
 718 |         }),
 719 |         n_parts: 3,
 720 |         parts: [
 721 |             Part {
 722 |                 bits: 10,
 723 |                 component: Component::B,
 724 |                 mode: Mode::UFLOAT,
 725 |             },
 726 |             Part {
 727 |                 bits: 11,
 728 |                 component: Component::G,
 729 |                 mode: Mode::UFLOAT,
 730 |             },
 731 |             Part {
 732 |                 bits: 11,
 733 |                 component: Component::R,
 734 |                 mode: Mode::UFLOAT,
 735 |             },
 736 |             // stub to fill the array
 737 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
 738 |         ]
 739 |     },
 740 |     Format {
 741 |         vk_format: vk::VK_FORMAT_B4G4R4A4_UNORM_PACK16,
 742 |         name: "B4G4R4A4_UNORM_PACK16",
 743 |         packed_size: Some(unsafe {
 744 |             NonZeroUsize::new_unchecked(16)
 745 |         }),
 746 |         n_parts: 4,
 747 |         parts: [
 748 |             Part {
 749 |                 bits: 4,
 750 |                 component: Component::B,
 751 |                 mode: Mode::UNORM,
 752 |             },
 753 |             Part {
 754 |                 bits: 4,
 755 |                 component: Component::G,
 756 |                 mode: Mode::UNORM,
 757 |             },
 758 |             Part {
 759 |                 bits: 4,
 760 |                 component: Component::R,
 761 |                 mode: Mode::UNORM,
 762 |             },
 763 |             Part {
 764 |                 bits: 4,
 765 |                 component: Component::A,
 766 |                 mode: Mode::UNORM,
 767 |             },
 768 |         ]
 769 |     },
 770 |     Format {
 771 |         vk_format: vk::VK_FORMAT_B5G5R5A1_UNORM_PACK16,
 772 |         name: "B5G5R5A1_UNORM_PACK16",
 773 |         packed_size: Some(unsafe {
 774 |             NonZeroUsize::new_unchecked(16)
 775 |         }),
 776 |         n_parts: 4,
 777 |         parts: [
 778 |             Part {
 779 |                 bits: 5,
 780 |                 component: Component::B,
 781 |                 mode: Mode::UNORM,
 782 |             },
 783 |             Part {
 784 |                 bits: 5,
 785 |                 component: Component::G,
 786 |                 mode: Mode::UNORM,
 787 |             },
 788 |             Part {
 789 |                 bits: 5,
 790 |                 component: Component::R,
 791 |                 mode: Mode::UNORM,
 792 |             },
 793 |             Part {
 794 |                 bits: 1,
 795 |                 component: Component::A,
 796 |                 mode: Mode::UNORM,
 797 |             },
 798 |         ]
 799 |     },
 800 |     Format {
 801 |         vk_format: vk::VK_FORMAT_B5G6R5_UNORM_PACK16,
 802 |         name: "B5G6R5_UNORM_PACK16",
 803 |         packed_size: Some(unsafe {
 804 |             NonZeroUsize::new_unchecked(16)
 805 |         }),
 806 |         n_parts: 3,
 807 |         parts: [
 808 |             Part {
 809 |                 bits: 5,
 810 |                 component: Component::B,
 811 |                 mode: Mode::UNORM,
 812 |             },
 813 |             Part {
 814 |                 bits: 6,
 815 |                 component: Component::G,
 816 |                 mode: Mode::UNORM,
 817 |             },
 818 |             Part {
 819 |                 bits: 5,
 820 |                 component: Component::R,
 821 |                 mode: Mode::UNORM,
 822 |             },
 823 |             // stub to fill the array
 824 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
 825 |         ]
 826 |     },
 827 |     Format {
 828 |         vk_format: vk::VK_FORMAT_B8G8R8A8_SINT,
 829 |         name: "B8G8R8A8_SINT",
 830 |         packed_size: None,
 831 |         n_parts: 4,
 832 |         parts: [
 833 |             Part {
 834 |                 bits: 8,
 835 |                 component: Component::B,
 836 |                 mode: Mode::SINT,
 837 |             },
 838 |             Part {
 839 |                 bits: 8,
 840 |                 component: Component::G,
 841 |                 mode: Mode::SINT,
 842 |             },
 843 |             Part {
 844 |                 bits: 8,
 845 |                 component: Component::R,
 846 |                 mode: Mode::SINT,
 847 |             },
 848 |             Part {
 849 |                 bits: 8,
 850 |                 component: Component::A,
 851 |                 mode: Mode::SINT,
 852 |             },
 853 |         ]
 854 |     },
 855 |     Format {
 856 |         vk_format: vk::VK_FORMAT_B8G8R8A8_SNORM,
 857 |         name: "B8G8R8A8_SNORM",
 858 |         packed_size: None,
 859 |         n_parts: 4,
 860 |         parts: [
 861 |             Part {
 862 |                 bits: 8,
 863 |                 component: Component::B,
 864 |                 mode: Mode::SNORM,
 865 |             },
 866 |             Part {
 867 |                 bits: 8,
 868 |                 component: Component::G,
 869 |                 mode: Mode::SNORM,
 870 |             },
 871 |             Part {
 872 |                 bits: 8,
 873 |                 component: Component::R,
 874 |                 mode: Mode::SNORM,
 875 |             },
 876 |             Part {
 877 |                 bits: 8,
 878 |                 component: Component::A,
 879 |                 mode: Mode::SNORM,
 880 |             },
 881 |         ]
 882 |     },
 883 |     Format {
 884 |         vk_format: vk::VK_FORMAT_B8G8R8A8_SRGB,
 885 |         name: "B8G8R8A8_SRGB",
 886 |         packed_size: None,
 887 |         n_parts: 4,
 888 |         parts: [
 889 |             Part {
 890 |                 bits: 8,
 891 |                 component: Component::B,
 892 |                 mode: Mode::SRGB,
 893 |             },
 894 |             Part {
 895 |                 bits: 8,
 896 |                 component: Component::G,
 897 |                 mode: Mode::SRGB,
 898 |             },
 899 |             Part {
 900 |                 bits: 8,
 901 |                 component: Component::R,
 902 |                 mode: Mode::SRGB,
 903 |             },
 904 |             Part {
 905 |                 bits: 8,
 906 |                 component: Component::A,
 907 |                 mode: Mode::SRGB,
 908 |             },
 909 |         ]
 910 |     },
 911 |     Format {
 912 |         vk_format: vk::VK_FORMAT_B8G8R8A8_SSCALED,
 913 |         name: "B8G8R8A8_SSCALED",
 914 |         packed_size: None,
 915 |         n_parts: 4,
 916 |         parts: [
 917 |             Part {
 918 |                 bits: 8,
 919 |                 component: Component::B,
 920 |                 mode: Mode::SSCALED,
 921 |             },
 922 |             Part {
 923 |                 bits: 8,
 924 |                 component: Component::G,
 925 |                 mode: Mode::SSCALED,
 926 |             },
 927 |             Part {
 928 |                 bits: 8,
 929 |                 component: Component::R,
 930 |                 mode: Mode::SSCALED,
 931 |             },
 932 |             Part {
 933 |                 bits: 8,
 934 |                 component: Component::A,
 935 |                 mode: Mode::SSCALED,
 936 |             },
 937 |         ]
 938 |     },
 939 |     Format {
 940 |         vk_format: vk::VK_FORMAT_B8G8R8A8_UINT,
 941 |         name: "B8G8R8A8_UINT",
 942 |         packed_size: None,
 943 |         n_parts: 4,
 944 |         parts: [
 945 |             Part {
 946 |                 bits: 8,
 947 |                 component: Component::B,
 948 |                 mode: Mode::UINT,
 949 |             },
 950 |             Part {
 951 |                 bits: 8,
 952 |                 component: Component::G,
 953 |                 mode: Mode::UINT,
 954 |             },
 955 |             Part {
 956 |                 bits: 8,
 957 |                 component: Component::R,
 958 |                 mode: Mode::UINT,
 959 |             },
 960 |             Part {
 961 |                 bits: 8,
 962 |                 component: Component::A,
 963 |                 mode: Mode::UINT,
 964 |             },
 965 |         ]
 966 |     },
 967 |     Format {
 968 |         vk_format: vk::VK_FORMAT_B8G8R8A8_UNORM,
 969 |         name: "B8G8R8A8_UNORM",
 970 |         packed_size: None,
 971 |         n_parts: 4,
 972 |         parts: [
 973 |             Part {
 974 |                 bits: 8,
 975 |                 component: Component::B,
 976 |                 mode: Mode::UNORM,
 977 |             },
 978 |             Part {
 979 |                 bits: 8,
 980 |                 component: Component::G,
 981 |                 mode: Mode::UNORM,
 982 |             },
 983 |             Part {
 984 |                 bits: 8,
 985 |                 component: Component::R,
 986 |                 mode: Mode::UNORM,
 987 |             },
 988 |             Part {
 989 |                 bits: 8,
 990 |                 component: Component::A,
 991 |                 mode: Mode::UNORM,
 992 |             },
 993 |         ]
 994 |     },
 995 |     Format {
 996 |         vk_format: vk::VK_FORMAT_B8G8R8A8_USCALED,
 997 |         name: "B8G8R8A8_USCALED",
 998 |         packed_size: None,
 999 |         n_parts: 4,
1000 |         parts: [
1001 |             Part {
1002 |                 bits: 8,
1003 |                 component: Component::B,
1004 |                 mode: Mode::USCALED,
1005 |             },
1006 |             Part {
1007 |                 bits: 8,
1008 |                 component: Component::G,
1009 |                 mode: Mode::USCALED,
1010 |             },
1011 |             Part {
1012 |                 bits: 8,
1013 |                 component: Component::R,
1014 |                 mode: Mode::USCALED,
1015 |             },
1016 |             Part {
1017 |                 bits: 8,
1018 |                 component: Component::A,
1019 |                 mode: Mode::USCALED,
1020 |             },
1021 |         ]
1022 |     },
1023 |     Format {
1024 |         vk_format: vk::VK_FORMAT_B8G8R8_SINT,
1025 |         name: "B8G8R8_SINT",
1026 |         packed_size: None,
1027 |         n_parts: 3,
1028 |         parts: [
1029 |             Part {
1030 |                 bits: 8,
1031 |                 component: Component::B,
1032 |                 mode: Mode::SINT,
1033 |             },
1034 |             Part {
1035 |                 bits: 8,
1036 |                 component: Component::G,
1037 |                 mode: Mode::SINT,
1038 |             },
1039 |             Part {
1040 |                 bits: 8,
1041 |                 component: Component::R,
1042 |                 mode: Mode::SINT,
1043 |             },
1044 |             // stub to fill the array
1045 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1046 |         ]
1047 |     },
1048 |     Format {
1049 |         vk_format: vk::VK_FORMAT_B8G8R8_SNORM,
1050 |         name: "B8G8R8_SNORM",
1051 |         packed_size: None,
1052 |         n_parts: 3,
1053 |         parts: [
1054 |             Part {
1055 |                 bits: 8,
1056 |                 component: Component::B,
1057 |                 mode: Mode::SNORM,
1058 |             },
1059 |             Part {
1060 |                 bits: 8,
1061 |                 component: Component::G,
1062 |                 mode: Mode::SNORM,
1063 |             },
1064 |             Part {
1065 |                 bits: 8,
1066 |                 component: Component::R,
1067 |                 mode: Mode::SNORM,
1068 |             },
1069 |             // stub to fill the array
1070 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1071 |         ]
1072 |     },
1073 |     Format {
1074 |         vk_format: vk::VK_FORMAT_B8G8R8_SRGB,
1075 |         name: "B8G8R8_SRGB",
1076 |         packed_size: None,
1077 |         n_parts: 3,
1078 |         parts: [
1079 |             Part {
1080 |                 bits: 8,
1081 |                 component: Component::B,
1082 |                 mode: Mode::SRGB,
1083 |             },
1084 |             Part {
1085 |                 bits: 8,
1086 |                 component: Component::G,
1087 |                 mode: Mode::SRGB,
1088 |             },
1089 |             Part {
1090 |                 bits: 8,
1091 |                 component: Component::R,
1092 |                 mode: Mode::SRGB,
1093 |             },
1094 |             // stub to fill the array
1095 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1096 |         ]
1097 |     },
1098 |     Format {
1099 |         vk_format: vk::VK_FORMAT_B8G8R8_SSCALED,
1100 |         name: "B8G8R8_SSCALED",
1101 |         packed_size: None,
1102 |         n_parts: 3,
1103 |         parts: [
1104 |             Part {
1105 |                 bits: 8,
1106 |                 component: Component::B,
1107 |                 mode: Mode::SSCALED,
1108 |             },
1109 |             Part {
1110 |                 bits: 8,
1111 |                 component: Component::G,
1112 |                 mode: Mode::SSCALED,
1113 |             },
1114 |             Part {
1115 |                 bits: 8,
1116 |                 component: Component::R,
1117 |                 mode: Mode::SSCALED,
1118 |             },
1119 |             // stub to fill the array
1120 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1121 |         ]
1122 |     },
1123 |     Format {
1124 |         vk_format: vk::VK_FORMAT_B8G8R8_UINT,
1125 |         name: "B8G8R8_UINT",
1126 |         packed_size: None,
1127 |         n_parts: 3,
1128 |         parts: [
1129 |             Part {
1130 |                 bits: 8,
1131 |                 component: Component::B,
1132 |                 mode: Mode::UINT,
1133 |             },
1134 |             Part {
1135 |                 bits: 8,
1136 |                 component: Component::G,
1137 |                 mode: Mode::UINT,
1138 |             },
1139 |             Part {
1140 |                 bits: 8,
1141 |                 component: Component::R,
1142 |                 mode: Mode::UINT,
1143 |             },
1144 |             // stub to fill the array
1145 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1146 |         ]
1147 |     },
1148 |     Format {
1149 |         vk_format: vk::VK_FORMAT_B8G8R8_UNORM,
1150 |         name: "B8G8R8_UNORM",
1151 |         packed_size: None,
1152 |         n_parts: 3,
1153 |         parts: [
1154 |             Part {
1155 |                 bits: 8,
1156 |                 component: Component::B,
1157 |                 mode: Mode::UNORM,
1158 |             },
1159 |             Part {
1160 |                 bits: 8,
1161 |                 component: Component::G,
1162 |                 mode: Mode::UNORM,
1163 |             },
1164 |             Part {
1165 |                 bits: 8,
1166 |                 component: Component::R,
1167 |                 mode: Mode::UNORM,
1168 |             },
1169 |             // stub to fill the array
1170 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1171 |         ]
1172 |     },
1173 |     Format {
1174 |         vk_format: vk::VK_FORMAT_B8G8R8_USCALED,
1175 |         name: "B8G8R8_USCALED",
1176 |         packed_size: None,
1177 |         n_parts: 3,
1178 |         parts: [
1179 |             Part {
1180 |                 bits: 8,
1181 |                 component: Component::B,
1182 |                 mode: Mode::USCALED,
1183 |             },
1184 |             Part {
1185 |                 bits: 8,
1186 |                 component: Component::G,
1187 |                 mode: Mode::USCALED,
1188 |             },
1189 |             Part {
1190 |                 bits: 8,
1191 |                 component: Component::R,
1192 |                 mode: Mode::USCALED,
1193 |             },
1194 |             // stub to fill the array
1195 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1196 |         ]
1197 |     },
1198 |     Format {
1199 |         vk_format: vk::VK_FORMAT_D16_UNORM,
1200 |         name: "D16_UNORM",
1201 |         packed_size: None,
1202 |         n_parts: 1,
1203 |         parts: [
1204 |             Part {
1205 |                 bits: 16,
1206 |                 component: Component::D,
1207 |                 mode: Mode::UNORM,
1208 |             },
1209 |             // stub to fill the array
1210 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1211 |             // stub to fill the array
1212 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1213 |             // stub to fill the array
1214 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1215 |         ]
1216 |     },
1217 |     Format {
1218 |         vk_format: vk::VK_FORMAT_D16_UNORM_S8_UINT,
1219 |         name: "D16_UNORM_S8_UINT",
1220 |         packed_size: None,
1221 |         n_parts: 2,
1222 |         parts: [
1223 |             Part {
1224 |                 bits: 16,
1225 |                 component: Component::D,
1226 |                 mode: Mode::UNORM,
1227 |             },
1228 |             Part {
1229 |                 bits: 8,
1230 |                 component: Component::S,
1231 |                 mode: Mode::UINT,
1232 |             },
1233 |             // stub to fill the array
1234 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1235 |             // stub to fill the array
1236 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1237 |         ]
1238 |     },
1239 |     Format {
1240 |         vk_format: vk::VK_FORMAT_D24_UNORM_S8_UINT,
1241 |         name: "D24_UNORM_S8_UINT",
1242 |         packed_size: None,
1243 |         n_parts: 2,
1244 |         parts: [
1245 |             Part {
1246 |                 bits: 24,
1247 |                 component: Component::D,
1248 |                 mode: Mode::UNORM,
1249 |             },
1250 |             Part {
1251 |                 bits: 8,
1252 |                 component: Component::S,
1253 |                 mode: Mode::UINT,
1254 |             },
1255 |             // stub to fill the array
1256 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1257 |             // stub to fill the array
1258 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1259 |         ]
1260 |     },
1261 |     Format {
1262 |         vk_format: vk::VK_FORMAT_D32_SFLOAT,
1263 |         name: "D32_SFLOAT",
1264 |         packed_size: None,
1265 |         n_parts: 1,
1266 |         parts: [
1267 |             Part {
1268 |                 bits: 32,
1269 |                 component: Component::D,
1270 |                 mode: Mode::SFLOAT,
1271 |             },
1272 |             // stub to fill the array
1273 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1274 |             // stub to fill the array
1275 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1276 |             // stub to fill the array
1277 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1278 |         ]
1279 |     },
1280 |     Format {
1281 |         vk_format: vk::VK_FORMAT_D32_SFLOAT_S8_UINT,
1282 |         name: "D32_SFLOAT_S8_UINT",
1283 |         packed_size: None,
1284 |         n_parts: 2,
1285 |         parts: [
1286 |             Part {
1287 |                 bits: 32,
1288 |                 component: Component::D,
1289 |                 mode: Mode::SFLOAT,
1290 |             },
1291 |             Part {
1292 |                 bits: 8,
1293 |                 component: Component::S,
1294 |                 mode: Mode::UINT,
1295 |             },
1296 |             // stub to fill the array
1297 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1298 |             // stub to fill the array
1299 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1300 |         ]
1301 |     },
1302 |     Format {
1303 |         vk_format: vk::VK_FORMAT_R10X6_UNORM_PACK16,
1304 |         name: "R10X6_UNORM_PACK16",
1305 |         packed_size: Some(unsafe {
1306 |             NonZeroUsize::new_unchecked(16)
1307 |         }),
1308 |         n_parts: 2,
1309 |         parts: [
1310 |             Part {
1311 |                 bits: 10,
1312 |                 component: Component::R,
1313 |                 mode: Mode::UNORM,
1314 |             },
1315 |             Part {
1316 |                 bits: 6,
1317 |                 component: Component::X,
1318 |                 mode: Mode::UNORM,
1319 |             },
1320 |             // stub to fill the array
1321 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1322 |             // stub to fill the array
1323 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1324 |         ]
1325 |     },
1326 |     Format {
1327 |         vk_format: vk::VK_FORMAT_R12X4_UNORM_PACK16,
1328 |         name: "R12X4_UNORM_PACK16",
1329 |         packed_size: Some(unsafe {
1330 |             NonZeroUsize::new_unchecked(16)
1331 |         }),
1332 |         n_parts: 2,
1333 |         parts: [
1334 |             Part {
1335 |                 bits: 12,
1336 |                 component: Component::R,
1337 |                 mode: Mode::UNORM,
1338 |             },
1339 |             Part {
1340 |                 bits: 4,
1341 |                 component: Component::X,
1342 |                 mode: Mode::UNORM,
1343 |             },
1344 |             // stub to fill the array
1345 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1346 |             // stub to fill the array
1347 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1348 |         ]
1349 |     },
1350 |     Format {
1351 |         vk_format: vk::VK_FORMAT_R16G16B16A16_SFLOAT,
1352 |         name: "R16G16B16A16_SFLOAT",
1353 |         packed_size: None,
1354 |         n_parts: 4,
1355 |         parts: [
1356 |             Part {
1357 |                 bits: 16,
1358 |                 component: Component::R,
1359 |                 mode: Mode::SFLOAT,
1360 |             },
1361 |             Part {
1362 |                 bits: 16,
1363 |                 component: Component::G,
1364 |                 mode: Mode::SFLOAT,
1365 |             },
1366 |             Part {
1367 |                 bits: 16,
1368 |                 component: Component::B,
1369 |                 mode: Mode::SFLOAT,
1370 |             },
1371 |             Part {
1372 |                 bits: 16,
1373 |                 component: Component::A,
1374 |                 mode: Mode::SFLOAT,
1375 |             },
1376 |         ]
1377 |     },
1378 |     Format {
1379 |         vk_format: vk::VK_FORMAT_R16G16B16A16_SINT,
1380 |         name: "R16G16B16A16_SINT",
1381 |         packed_size: None,
1382 |         n_parts: 4,
1383 |         parts: [
1384 |             Part {
1385 |                 bits: 16,
1386 |                 component: Component::R,
1387 |                 mode: Mode::SINT,
1388 |             },
1389 |             Part {
1390 |                 bits: 16,
1391 |                 component: Component::G,
1392 |                 mode: Mode::SINT,
1393 |             },
1394 |             Part {
1395 |                 bits: 16,
1396 |                 component: Component::B,
1397 |                 mode: Mode::SINT,
1398 |             },
1399 |             Part {
1400 |                 bits: 16,
1401 |                 component: Component::A,
1402 |                 mode: Mode::SINT,
1403 |             },
1404 |         ]
1405 |     },
1406 |     Format {
1407 |         vk_format: vk::VK_FORMAT_R16G16B16A16_SNORM,
1408 |         name: "R16G16B16A16_SNORM",
1409 |         packed_size: None,
1410 |         n_parts: 4,
1411 |         parts: [
1412 |             Part {
1413 |                 bits: 16,
1414 |                 component: Component::R,
1415 |                 mode: Mode::SNORM,
1416 |             },
1417 |             Part {
1418 |                 bits: 16,
1419 |                 component: Component::G,
1420 |                 mode: Mode::SNORM,
1421 |             },
1422 |             Part {
1423 |                 bits: 16,
1424 |                 component: Component::B,
1425 |                 mode: Mode::SNORM,
1426 |             },
1427 |             Part {
1428 |                 bits: 16,
1429 |                 component: Component::A,
1430 |                 mode: Mode::SNORM,
1431 |             },
1432 |         ]
1433 |     },
1434 |     Format {
1435 |         vk_format: vk::VK_FORMAT_R16G16B16A16_SSCALED,
1436 |         name: "R16G16B16A16_SSCALED",
1437 |         packed_size: None,
1438 |         n_parts: 4,
1439 |         parts: [
1440 |             Part {
1441 |                 bits: 16,
1442 |                 component: Component::R,
1443 |                 mode: Mode::SSCALED,
1444 |             },
1445 |             Part {
1446 |                 bits: 16,
1447 |                 component: Component::G,
1448 |                 mode: Mode::SSCALED,
1449 |             },
1450 |             Part {
1451 |                 bits: 16,
1452 |                 component: Component::B,
1453 |                 mode: Mode::SSCALED,
1454 |             },
1455 |             Part {
1456 |                 bits: 16,
1457 |                 component: Component::A,
1458 |                 mode: Mode::SSCALED,
1459 |             },
1460 |         ]
1461 |     },
1462 |     Format {
1463 |         vk_format: vk::VK_FORMAT_R16G16B16A16_UINT,
1464 |         name: "R16G16B16A16_UINT",
1465 |         packed_size: None,
1466 |         n_parts: 4,
1467 |         parts: [
1468 |             Part {
1469 |                 bits: 16,
1470 |                 component: Component::R,
1471 |                 mode: Mode::UINT,
1472 |             },
1473 |             Part {
1474 |                 bits: 16,
1475 |                 component: Component::G,
1476 |                 mode: Mode::UINT,
1477 |             },
1478 |             Part {
1479 |                 bits: 16,
1480 |                 component: Component::B,
1481 |                 mode: Mode::UINT,
1482 |             },
1483 |             Part {
1484 |                 bits: 16,
1485 |                 component: Component::A,
1486 |                 mode: Mode::UINT,
1487 |             },
1488 |         ]
1489 |     },
1490 |     Format {
1491 |         vk_format: vk::VK_FORMAT_R16G16B16A16_UNORM,
1492 |         name: "R16G16B16A16_UNORM",
1493 |         packed_size: None,
1494 |         n_parts: 4,
1495 |         parts: [
1496 |             Part {
1497 |                 bits: 16,
1498 |                 component: Component::R,
1499 |                 mode: Mode::UNORM,
1500 |             },
1501 |             Part {
1502 |                 bits: 16,
1503 |                 component: Component::G,
1504 |                 mode: Mode::UNORM,
1505 |             },
1506 |             Part {
1507 |                 bits: 16,
1508 |                 component: Component::B,
1509 |                 mode: Mode::UNORM,
1510 |             },
1511 |             Part {
1512 |                 bits: 16,
1513 |                 component: Component::A,
1514 |                 mode: Mode::UNORM,
1515 |             },
1516 |         ]
1517 |     },
1518 |     Format {
1519 |         vk_format: vk::VK_FORMAT_R16G16B16A16_USCALED,
1520 |         name: "R16G16B16A16_USCALED",
1521 |         packed_size: None,
1522 |         n_parts: 4,
1523 |         parts: [
1524 |             Part {
1525 |                 bits: 16,
1526 |                 component: Component::R,
1527 |                 mode: Mode::USCALED,
1528 |             },
1529 |             Part {
1530 |                 bits: 16,
1531 |                 component: Component::G,
1532 |                 mode: Mode::USCALED,
1533 |             },
1534 |             Part {
1535 |                 bits: 16,
1536 |                 component: Component::B,
1537 |                 mode: Mode::USCALED,
1538 |             },
1539 |             Part {
1540 |                 bits: 16,
1541 |                 component: Component::A,
1542 |                 mode: Mode::USCALED,
1543 |             },
1544 |         ]
1545 |     },
1546 |     Format {
1547 |         vk_format: vk::VK_FORMAT_R16G16B16_SFLOAT,
1548 |         name: "R16G16B16_SFLOAT",
1549 |         packed_size: None,
1550 |         n_parts: 3,
1551 |         parts: [
1552 |             Part {
1553 |                 bits: 16,
1554 |                 component: Component::R,
1555 |                 mode: Mode::SFLOAT,
1556 |             },
1557 |             Part {
1558 |                 bits: 16,
1559 |                 component: Component::G,
1560 |                 mode: Mode::SFLOAT,
1561 |             },
1562 |             Part {
1563 |                 bits: 16,
1564 |                 component: Component::B,
1565 |                 mode: Mode::SFLOAT,
1566 |             },
1567 |             // stub to fill the array
1568 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1569 |         ]
1570 |     },
1571 |     Format {
1572 |         vk_format: vk::VK_FORMAT_R16G16B16_SINT,
1573 |         name: "R16G16B16_SINT",
1574 |         packed_size: None,
1575 |         n_parts: 3,
1576 |         parts: [
1577 |             Part {
1578 |                 bits: 16,
1579 |                 component: Component::R,
1580 |                 mode: Mode::SINT,
1581 |             },
1582 |             Part {
1583 |                 bits: 16,
1584 |                 component: Component::G,
1585 |                 mode: Mode::SINT,
1586 |             },
1587 |             Part {
1588 |                 bits: 16,
1589 |                 component: Component::B,
1590 |                 mode: Mode::SINT,
1591 |             },
1592 |             // stub to fill the array
1593 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1594 |         ]
1595 |     },
1596 |     Format {
1597 |         vk_format: vk::VK_FORMAT_R16G16B16_SNORM,
1598 |         name: "R16G16B16_SNORM",
1599 |         packed_size: None,
1600 |         n_parts: 3,
1601 |         parts: [
1602 |             Part {
1603 |                 bits: 16,
1604 |                 component: Component::R,
1605 |                 mode: Mode::SNORM,
1606 |             },
1607 |             Part {
1608 |                 bits: 16,
1609 |                 component: Component::G,
1610 |                 mode: Mode::SNORM,
1611 |             },
1612 |             Part {
1613 |                 bits: 16,
1614 |                 component: Component::B,
1615 |                 mode: Mode::SNORM,
1616 |             },
1617 |             // stub to fill the array
1618 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1619 |         ]
1620 |     },
1621 |     Format {
1622 |         vk_format: vk::VK_FORMAT_R16G16B16_SSCALED,
1623 |         name: "R16G16B16_SSCALED",
1624 |         packed_size: None,
1625 |         n_parts: 3,
1626 |         parts: [
1627 |             Part {
1628 |                 bits: 16,
1629 |                 component: Component::R,
1630 |                 mode: Mode::SSCALED,
1631 |             },
1632 |             Part {
1633 |                 bits: 16,
1634 |                 component: Component::G,
1635 |                 mode: Mode::SSCALED,
1636 |             },
1637 |             Part {
1638 |                 bits: 16,
1639 |                 component: Component::B,
1640 |                 mode: Mode::SSCALED,
1641 |             },
1642 |             // stub to fill the array
1643 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1644 |         ]
1645 |     },
1646 |     Format {
1647 |         vk_format: vk::VK_FORMAT_R16G16B16_UINT,
1648 |         name: "R16G16B16_UINT",
1649 |         packed_size: None,
1650 |         n_parts: 3,
1651 |         parts: [
1652 |             Part {
1653 |                 bits: 16,
1654 |                 component: Component::R,
1655 |                 mode: Mode::UINT,
1656 |             },
1657 |             Part {
1658 |                 bits: 16,
1659 |                 component: Component::G,
1660 |                 mode: Mode::UINT,
1661 |             },
1662 |             Part {
1663 |                 bits: 16,
1664 |                 component: Component::B,
1665 |                 mode: Mode::UINT,
1666 |             },
1667 |             // stub to fill the array
1668 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1669 |         ]
1670 |     },
1671 |     Format {
1672 |         vk_format: vk::VK_FORMAT_R16G16B16_UNORM,
1673 |         name: "R16G16B16_UNORM",
1674 |         packed_size: None,
1675 |         n_parts: 3,
1676 |         parts: [
1677 |             Part {
1678 |                 bits: 16,
1679 |                 component: Component::R,
1680 |                 mode: Mode::UNORM,
1681 |             },
1682 |             Part {
1683 |                 bits: 16,
1684 |                 component: Component::G,
1685 |                 mode: Mode::UNORM,
1686 |             },
1687 |             Part {
1688 |                 bits: 16,
1689 |                 component: Component::B,
1690 |                 mode: Mode::UNORM,
1691 |             },
1692 |             // stub to fill the array
1693 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1694 |         ]
1695 |     },
1696 |     Format {
1697 |         vk_format: vk::VK_FORMAT_R16G16B16_USCALED,
1698 |         name: "R16G16B16_USCALED",
1699 |         packed_size: None,
1700 |         n_parts: 3,
1701 |         parts: [
1702 |             Part {
1703 |                 bits: 16,
1704 |                 component: Component::R,
1705 |                 mode: Mode::USCALED,
1706 |             },
1707 |             Part {
1708 |                 bits: 16,
1709 |                 component: Component::G,
1710 |                 mode: Mode::USCALED,
1711 |             },
1712 |             Part {
1713 |                 bits: 16,
1714 |                 component: Component::B,
1715 |                 mode: Mode::USCALED,
1716 |             },
1717 |             // stub to fill the array
1718 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1719 |         ]
1720 |     },
1721 |     Format {
1722 |         vk_format: vk::VK_FORMAT_R16G16_SFLOAT,
1723 |         name: "R16G16_SFLOAT",
1724 |         packed_size: None,
1725 |         n_parts: 2,
1726 |         parts: [
1727 |             Part {
1728 |                 bits: 16,
1729 |                 component: Component::R,
1730 |                 mode: Mode::SFLOAT,
1731 |             },
1732 |             Part {
1733 |                 bits: 16,
1734 |                 component: Component::G,
1735 |                 mode: Mode::SFLOAT,
1736 |             },
1737 |             // stub to fill the array
1738 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1739 |             // stub to fill the array
1740 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1741 |         ]
1742 |     },
1743 |     Format {
1744 |         vk_format: vk::VK_FORMAT_R16G16_SINT,
1745 |         name: "R16G16_SINT",
1746 |         packed_size: None,
1747 |         n_parts: 2,
1748 |         parts: [
1749 |             Part {
1750 |                 bits: 16,
1751 |                 component: Component::R,
1752 |                 mode: Mode::SINT,
1753 |             },
1754 |             Part {
1755 |                 bits: 16,
1756 |                 component: Component::G,
1757 |                 mode: Mode::SINT,
1758 |             },
1759 |             // stub to fill the array
1760 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1761 |             // stub to fill the array
1762 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1763 |         ]
1764 |     },
1765 |     Format {
1766 |         vk_format: vk::VK_FORMAT_R16G16_SNORM,
1767 |         name: "R16G16_SNORM",
1768 |         packed_size: None,
1769 |         n_parts: 2,
1770 |         parts: [
1771 |             Part {
1772 |                 bits: 16,
1773 |                 component: Component::R,
1774 |                 mode: Mode::SNORM,
1775 |             },
1776 |             Part {
1777 |                 bits: 16,
1778 |                 component: Component::G,
1779 |                 mode: Mode::SNORM,
1780 |             },
1781 |             // stub to fill the array
1782 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1783 |             // stub to fill the array
1784 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1785 |         ]
1786 |     },
1787 |     Format {
1788 |         vk_format: vk::VK_FORMAT_R16G16_SSCALED,
1789 |         name: "R16G16_SSCALED",
1790 |         packed_size: None,
1791 |         n_parts: 2,
1792 |         parts: [
1793 |             Part {
1794 |                 bits: 16,
1795 |                 component: Component::R,
1796 |                 mode: Mode::SSCALED,
1797 |             },
1798 |             Part {
1799 |                 bits: 16,
1800 |                 component: Component::G,
1801 |                 mode: Mode::SSCALED,
1802 |             },
1803 |             // stub to fill the array
1804 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1805 |             // stub to fill the array
1806 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1807 |         ]
1808 |     },
1809 |     Format {
1810 |         vk_format: vk::VK_FORMAT_R16G16_UINT,
1811 |         name: "R16G16_UINT",
1812 |         packed_size: None,
1813 |         n_parts: 2,
1814 |         parts: [
1815 |             Part {
1816 |                 bits: 16,
1817 |                 component: Component::R,
1818 |                 mode: Mode::UINT,
1819 |             },
1820 |             Part {
1821 |                 bits: 16,
1822 |                 component: Component::G,
1823 |                 mode: Mode::UINT,
1824 |             },
1825 |             // stub to fill the array
1826 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1827 |             // stub to fill the array
1828 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1829 |         ]
1830 |     },
1831 |     Format {
1832 |         vk_format: vk::VK_FORMAT_R16G16_UNORM,
1833 |         name: "R16G16_UNORM",
1834 |         packed_size: None,
1835 |         n_parts: 2,
1836 |         parts: [
1837 |             Part {
1838 |                 bits: 16,
1839 |                 component: Component::R,
1840 |                 mode: Mode::UNORM,
1841 |             },
1842 |             Part {
1843 |                 bits: 16,
1844 |                 component: Component::G,
1845 |                 mode: Mode::UNORM,
1846 |             },
1847 |             // stub to fill the array
1848 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1849 |             // stub to fill the array
1850 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1851 |         ]
1852 |     },
1853 |     Format {
1854 |         vk_format: vk::VK_FORMAT_R16G16_USCALED,
1855 |         name: "R16G16_USCALED",
1856 |         packed_size: None,
1857 |         n_parts: 2,
1858 |         parts: [
1859 |             Part {
1860 |                 bits: 16,
1861 |                 component: Component::R,
1862 |                 mode: Mode::USCALED,
1863 |             },
1864 |             Part {
1865 |                 bits: 16,
1866 |                 component: Component::G,
1867 |                 mode: Mode::USCALED,
1868 |             },
1869 |             // stub to fill the array
1870 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1871 |             // stub to fill the array
1872 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1873 |         ]
1874 |     },
1875 |     Format {
1876 |         vk_format: vk::VK_FORMAT_R16_SFLOAT,
1877 |         name: "R16_SFLOAT",
1878 |         packed_size: None,
1879 |         n_parts: 1,
1880 |         parts: [
1881 |             Part {
1882 |                 bits: 16,
1883 |                 component: Component::R,
1884 |                 mode: Mode::SFLOAT,
1885 |             },
1886 |             // stub to fill the array
1887 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1888 |             // stub to fill the array
1889 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1890 |             // stub to fill the array
1891 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1892 |         ]
1893 |     },
1894 |     Format {
1895 |         vk_format: vk::VK_FORMAT_R16_SINT,
1896 |         name: "R16_SINT",
1897 |         packed_size: None,
1898 |         n_parts: 1,
1899 |         parts: [
1900 |             Part {
1901 |                 bits: 16,
1902 |                 component: Component::R,
1903 |                 mode: Mode::SINT,
1904 |             },
1905 |             // stub to fill the array
1906 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1907 |             // stub to fill the array
1908 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1909 |             // stub to fill the array
1910 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1911 |         ]
1912 |     },
1913 |     Format {
1914 |         vk_format: vk::VK_FORMAT_R16_SNORM,
1915 |         name: "R16_SNORM",
1916 |         packed_size: None,
1917 |         n_parts: 1,
1918 |         parts: [
1919 |             Part {
1920 |                 bits: 16,
1921 |                 component: Component::R,
1922 |                 mode: Mode::SNORM,
1923 |             },
1924 |             // stub to fill the array
1925 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1926 |             // stub to fill the array
1927 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1928 |             // stub to fill the array
1929 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1930 |         ]
1931 |     },
1932 |     Format {
1933 |         vk_format: vk::VK_FORMAT_R16_SSCALED,
1934 |         name: "R16_SSCALED",
1935 |         packed_size: None,
1936 |         n_parts: 1,
1937 |         parts: [
1938 |             Part {
1939 |                 bits: 16,
1940 |                 component: Component::R,
1941 |                 mode: Mode::SSCALED,
1942 |             },
1943 |             // stub to fill the array
1944 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1945 |             // stub to fill the array
1946 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1947 |             // stub to fill the array
1948 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1949 |         ]
1950 |     },
1951 |     Format {
1952 |         vk_format: vk::VK_FORMAT_R16_UINT,
1953 |         name: "R16_UINT",
1954 |         packed_size: None,
1955 |         n_parts: 1,
1956 |         parts: [
1957 |             Part {
1958 |                 bits: 16,
1959 |                 component: Component::R,
1960 |                 mode: Mode::UINT,
1961 |             },
1962 |             // stub to fill the array
1963 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1964 |             // stub to fill the array
1965 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1966 |             // stub to fill the array
1967 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1968 |         ]
1969 |     },
1970 |     Format {
1971 |         vk_format: vk::VK_FORMAT_R16_UNORM,
1972 |         name: "R16_UNORM",
1973 |         packed_size: None,
1974 |         n_parts: 1,
1975 |         parts: [
1976 |             Part {
1977 |                 bits: 16,
1978 |                 component: Component::R,
1979 |                 mode: Mode::UNORM,
1980 |             },
1981 |             // stub to fill the array
1982 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1983 |             // stub to fill the array
1984 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1985 |             // stub to fill the array
1986 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
1987 |         ]
1988 |     },
1989 |     Format {
1990 |         vk_format: vk::VK_FORMAT_R16_USCALED,
1991 |         name: "R16_USCALED",
1992 |         packed_size: None,
1993 |         n_parts: 1,
1994 |         parts: [
1995 |             Part {
1996 |                 bits: 16,
1997 |                 component: Component::R,
1998 |                 mode: Mode::USCALED,
1999 |             },
2000 |             // stub to fill the array
2001 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2002 |             // stub to fill the array
2003 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2004 |             // stub to fill the array
2005 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2006 |         ]
2007 |     },
2008 |     Format {
2009 |         vk_format: vk::VK_FORMAT_R32G32B32A32_SFLOAT,
2010 |         name: "R32G32B32A32_SFLOAT",
2011 |         packed_size: None,
2012 |         n_parts: 4,
2013 |         parts: [
2014 |             Part {
2015 |                 bits: 32,
2016 |                 component: Component::R,
2017 |                 mode: Mode::SFLOAT,
2018 |             },
2019 |             Part {
2020 |                 bits: 32,
2021 |                 component: Component::G,
2022 |                 mode: Mode::SFLOAT,
2023 |             },
2024 |             Part {
2025 |                 bits: 32,
2026 |                 component: Component::B,
2027 |                 mode: Mode::SFLOAT,
2028 |             },
2029 |             Part {
2030 |                 bits: 32,
2031 |                 component: Component::A,
2032 |                 mode: Mode::SFLOAT,
2033 |             },
2034 |         ]
2035 |     },
2036 |     Format {
2037 |         vk_format: vk::VK_FORMAT_R32G32B32A32_SINT,
2038 |         name: "R32G32B32A32_SINT",
2039 |         packed_size: None,
2040 |         n_parts: 4,
2041 |         parts: [
2042 |             Part {
2043 |                 bits: 32,
2044 |                 component: Component::R,
2045 |                 mode: Mode::SINT,
2046 |             },
2047 |             Part {
2048 |                 bits: 32,
2049 |                 component: Component::G,
2050 |                 mode: Mode::SINT,
2051 |             },
2052 |             Part {
2053 |                 bits: 32,
2054 |                 component: Component::B,
2055 |                 mode: Mode::SINT,
2056 |             },
2057 |             Part {
2058 |                 bits: 32,
2059 |                 component: Component::A,
2060 |                 mode: Mode::SINT,
2061 |             },
2062 |         ]
2063 |     },
2064 |     Format {
2065 |         vk_format: vk::VK_FORMAT_R32G32B32A32_UINT,
2066 |         name: "R32G32B32A32_UINT",
2067 |         packed_size: None,
2068 |         n_parts: 4,
2069 |         parts: [
2070 |             Part {
2071 |                 bits: 32,
2072 |                 component: Component::R,
2073 |                 mode: Mode::UINT,
2074 |             },
2075 |             Part {
2076 |                 bits: 32,
2077 |                 component: Component::G,
2078 |                 mode: Mode::UINT,
2079 |             },
2080 |             Part {
2081 |                 bits: 32,
2082 |                 component: Component::B,
2083 |                 mode: Mode::UINT,
2084 |             },
2085 |             Part {
2086 |                 bits: 32,
2087 |                 component: Component::A,
2088 |                 mode: Mode::UINT,
2089 |             },
2090 |         ]
2091 |     },
2092 |     Format {
2093 |         vk_format: vk::VK_FORMAT_R32G32B32_SFLOAT,
2094 |         name: "R32G32B32_SFLOAT",
2095 |         packed_size: None,
2096 |         n_parts: 3,
2097 |         parts: [
2098 |             Part {
2099 |                 bits: 32,
2100 |                 component: Component::R,
2101 |                 mode: Mode::SFLOAT,
2102 |             },
2103 |             Part {
2104 |                 bits: 32,
2105 |                 component: Component::G,
2106 |                 mode: Mode::SFLOAT,
2107 |             },
2108 |             Part {
2109 |                 bits: 32,
2110 |                 component: Component::B,
2111 |                 mode: Mode::SFLOAT,
2112 |             },
2113 |             // stub to fill the array
2114 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2115 |         ]
2116 |     },
2117 |     Format {
2118 |         vk_format: vk::VK_FORMAT_R32G32B32_SINT,
2119 |         name: "R32G32B32_SINT",
2120 |         packed_size: None,
2121 |         n_parts: 3,
2122 |         parts: [
2123 |             Part {
2124 |                 bits: 32,
2125 |                 component: Component::R,
2126 |                 mode: Mode::SINT,
2127 |             },
2128 |             Part {
2129 |                 bits: 32,
2130 |                 component: Component::G,
2131 |                 mode: Mode::SINT,
2132 |             },
2133 |             Part {
2134 |                 bits: 32,
2135 |                 component: Component::B,
2136 |                 mode: Mode::SINT,
2137 |             },
2138 |             // stub to fill the array
2139 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2140 |         ]
2141 |     },
2142 |     Format {
2143 |         vk_format: vk::VK_FORMAT_R32G32B32_UINT,
2144 |         name: "R32G32B32_UINT",
2145 |         packed_size: None,
2146 |         n_parts: 3,
2147 |         parts: [
2148 |             Part {
2149 |                 bits: 32,
2150 |                 component: Component::R,
2151 |                 mode: Mode::UINT,
2152 |             },
2153 |             Part {
2154 |                 bits: 32,
2155 |                 component: Component::G,
2156 |                 mode: Mode::UINT,
2157 |             },
2158 |             Part {
2159 |                 bits: 32,
2160 |                 component: Component::B,
2161 |                 mode: Mode::UINT,
2162 |             },
2163 |             // stub to fill the array
2164 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2165 |         ]
2166 |     },
2167 |     Format {
2168 |         vk_format: vk::VK_FORMAT_R32G32_SFLOAT,
2169 |         name: "R32G32_SFLOAT",
2170 |         packed_size: None,
2171 |         n_parts: 2,
2172 |         parts: [
2173 |             Part {
2174 |                 bits: 32,
2175 |                 component: Component::R,
2176 |                 mode: Mode::SFLOAT,
2177 |             },
2178 |             Part {
2179 |                 bits: 32,
2180 |                 component: Component::G,
2181 |                 mode: Mode::SFLOAT,
2182 |             },
2183 |             // stub to fill the array
2184 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2185 |             // stub to fill the array
2186 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2187 |         ]
2188 |     },
2189 |     Format {
2190 |         vk_format: vk::VK_FORMAT_R32G32_SINT,
2191 |         name: "R32G32_SINT",
2192 |         packed_size: None,
2193 |         n_parts: 2,
2194 |         parts: [
2195 |             Part {
2196 |                 bits: 32,
2197 |                 component: Component::R,
2198 |                 mode: Mode::SINT,
2199 |             },
2200 |             Part {
2201 |                 bits: 32,
2202 |                 component: Component::G,
2203 |                 mode: Mode::SINT,
2204 |             },
2205 |             // stub to fill the array
2206 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2207 |             // stub to fill the array
2208 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2209 |         ]
2210 |     },
2211 |     Format {
2212 |         vk_format: vk::VK_FORMAT_R32G32_UINT,
2213 |         name: "R32G32_UINT",
2214 |         packed_size: None,
2215 |         n_parts: 2,
2216 |         parts: [
2217 |             Part {
2218 |                 bits: 32,
2219 |                 component: Component::R,
2220 |                 mode: Mode::UINT,
2221 |             },
2222 |             Part {
2223 |                 bits: 32,
2224 |                 component: Component::G,
2225 |                 mode: Mode::UINT,
2226 |             },
2227 |             // stub to fill the array
2228 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2229 |             // stub to fill the array
2230 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2231 |         ]
2232 |     },
2233 |     Format {
2234 |         vk_format: vk::VK_FORMAT_R32_SFLOAT,
2235 |         name: "R32_SFLOAT",
2236 |         packed_size: None,
2237 |         n_parts: 1,
2238 |         parts: [
2239 |             Part {
2240 |                 bits: 32,
2241 |                 component: Component::R,
2242 |                 mode: Mode::SFLOAT,
2243 |             },
2244 |             // stub to fill the array
2245 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2246 |             // stub to fill the array
2247 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2248 |             // stub to fill the array
2249 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2250 |         ]
2251 |     },
2252 |     Format {
2253 |         vk_format: vk::VK_FORMAT_R32_SINT,
2254 |         name: "R32_SINT",
2255 |         packed_size: None,
2256 |         n_parts: 1,
2257 |         parts: [
2258 |             Part {
2259 |                 bits: 32,
2260 |                 component: Component::R,
2261 |                 mode: Mode::SINT,
2262 |             },
2263 |             // stub to fill the array
2264 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2265 |             // stub to fill the array
2266 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2267 |             // stub to fill the array
2268 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2269 |         ]
2270 |     },
2271 |     Format {
2272 |         vk_format: vk::VK_FORMAT_R32_UINT,
2273 |         name: "R32_UINT",
2274 |         packed_size: None,
2275 |         n_parts: 1,
2276 |         parts: [
2277 |             Part {
2278 |                 bits: 32,
2279 |                 component: Component::R,
2280 |                 mode: Mode::UINT,
2281 |             },
2282 |             // stub to fill the array
2283 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2284 |             // stub to fill the array
2285 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2286 |             // stub to fill the array
2287 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2288 |         ]
2289 |     },
2290 |     Format {
2291 |         vk_format: vk::VK_FORMAT_R4G4B4A4_UNORM_PACK16,
2292 |         name: "R4G4B4A4_UNORM_PACK16",
2293 |         packed_size: Some(unsafe {
2294 |             NonZeroUsize::new_unchecked(16)
2295 |         }),
2296 |         n_parts: 4,
2297 |         parts: [
2298 |             Part {
2299 |                 bits: 4,
2300 |                 component: Component::R,
2301 |                 mode: Mode::UNORM,
2302 |             },
2303 |             Part {
2304 |                 bits: 4,
2305 |                 component: Component::G,
2306 |                 mode: Mode::UNORM,
2307 |             },
2308 |             Part {
2309 |                 bits: 4,
2310 |                 component: Component::B,
2311 |                 mode: Mode::UNORM,
2312 |             },
2313 |             Part {
2314 |                 bits: 4,
2315 |                 component: Component::A,
2316 |                 mode: Mode::UNORM,
2317 |             },
2318 |         ]
2319 |     },
2320 |     Format {
2321 |         vk_format: vk::VK_FORMAT_R4G4_UNORM_PACK8,
2322 |         name: "R4G4_UNORM_PACK8",
2323 |         packed_size: Some(unsafe {
2324 |             NonZeroUsize::new_unchecked(8)
2325 |         }),
2326 |         n_parts: 2,
2327 |         parts: [
2328 |             Part {
2329 |                 bits: 4,
2330 |                 component: Component::R,
2331 |                 mode: Mode::UNORM,
2332 |             },
2333 |             Part {
2334 |                 bits: 4,
2335 |                 component: Component::G,
2336 |                 mode: Mode::UNORM,
2337 |             },
2338 |             // stub to fill the array
2339 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2340 |             // stub to fill the array
2341 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2342 |         ]
2343 |     },
2344 |     Format {
2345 |         vk_format: vk::VK_FORMAT_R5G5B5A1_UNORM_PACK16,
2346 |         name: "R5G5B5A1_UNORM_PACK16",
2347 |         packed_size: Some(unsafe {
2348 |             NonZeroUsize::new_unchecked(16)
2349 |         }),
2350 |         n_parts: 4,
2351 |         parts: [
2352 |             Part {
2353 |                 bits: 5,
2354 |                 component: Component::R,
2355 |                 mode: Mode::UNORM,
2356 |             },
2357 |             Part {
2358 |                 bits: 5,
2359 |                 component: Component::G,
2360 |                 mode: Mode::UNORM,
2361 |             },
2362 |             Part {
2363 |                 bits: 5,
2364 |                 component: Component::B,
2365 |                 mode: Mode::UNORM,
2366 |             },
2367 |             Part {
2368 |                 bits: 1,
2369 |                 component: Component::A,
2370 |                 mode: Mode::UNORM,
2371 |             },
2372 |         ]
2373 |     },
2374 |     Format {
2375 |         vk_format: vk::VK_FORMAT_R5G6B5_UNORM_PACK16,
2376 |         name: "R5G6B5_UNORM_PACK16",
2377 |         packed_size: Some(unsafe {
2378 |             NonZeroUsize::new_unchecked(16)
2379 |         }),
2380 |         n_parts: 3,
2381 |         parts: [
2382 |             Part {
2383 |                 bits: 5,
2384 |                 component: Component::R,
2385 |                 mode: Mode::UNORM,
2386 |             },
2387 |             Part {
2388 |                 bits: 6,
2389 |                 component: Component::G,
2390 |                 mode: Mode::UNORM,
2391 |             },
2392 |             Part {
2393 |                 bits: 5,
2394 |                 component: Component::B,
2395 |                 mode: Mode::UNORM,
2396 |             },
2397 |             // stub to fill the array
2398 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2399 |         ]
2400 |     },
2401 |     Format {
2402 |         vk_format: vk::VK_FORMAT_R64G64B64A64_SFLOAT,
2403 |         name: "R64G64B64A64_SFLOAT",
2404 |         packed_size: None,
2405 |         n_parts: 4,
2406 |         parts: [
2407 |             Part {
2408 |                 bits: 64,
2409 |                 component: Component::R,
2410 |                 mode: Mode::SFLOAT,
2411 |             },
2412 |             Part {
2413 |                 bits: 64,
2414 |                 component: Component::G,
2415 |                 mode: Mode::SFLOAT,
2416 |             },
2417 |             Part {
2418 |                 bits: 64,
2419 |                 component: Component::B,
2420 |                 mode: Mode::SFLOAT,
2421 |             },
2422 |             Part {
2423 |                 bits: 64,
2424 |                 component: Component::A,
2425 |                 mode: Mode::SFLOAT,
2426 |             },
2427 |         ]
2428 |     },
2429 |     Format {
2430 |         vk_format: vk::VK_FORMAT_R64G64B64A64_SINT,
2431 |         name: "R64G64B64A64_SINT",
2432 |         packed_size: None,
2433 |         n_parts: 4,
2434 |         parts: [
2435 |             Part {
2436 |                 bits: 64,
2437 |                 component: Component::R,
2438 |                 mode: Mode::SINT,
2439 |             },
2440 |             Part {
2441 |                 bits: 64,
2442 |                 component: Component::G,
2443 |                 mode: Mode::SINT,
2444 |             },
2445 |             Part {
2446 |                 bits: 64,
2447 |                 component: Component::B,
2448 |                 mode: Mode::SINT,
2449 |             },
2450 |             Part {
2451 |                 bits: 64,
2452 |                 component: Component::A,
2453 |                 mode: Mode::SINT,
2454 |             },
2455 |         ]
2456 |     },
2457 |     Format {
2458 |         vk_format: vk::VK_FORMAT_R64G64B64A64_UINT,
2459 |         name: "R64G64B64A64_UINT",
2460 |         packed_size: None,
2461 |         n_parts: 4,
2462 |         parts: [
2463 |             Part {
2464 |                 bits: 64,
2465 |                 component: Component::R,
2466 |                 mode: Mode::UINT,
2467 |             },
2468 |             Part {
2469 |                 bits: 64,
2470 |                 component: Component::G,
2471 |                 mode: Mode::UINT,
2472 |             },
2473 |             Part {
2474 |                 bits: 64,
2475 |                 component: Component::B,
2476 |                 mode: Mode::UINT,
2477 |             },
2478 |             Part {
2479 |                 bits: 64,
2480 |                 component: Component::A,
2481 |                 mode: Mode::UINT,
2482 |             },
2483 |         ]
2484 |     },
2485 |     Format {
2486 |         vk_format: vk::VK_FORMAT_R64G64B64_SFLOAT,
2487 |         name: "R64G64B64_SFLOAT",
2488 |         packed_size: None,
2489 |         n_parts: 3,
2490 |         parts: [
2491 |             Part {
2492 |                 bits: 64,
2493 |                 component: Component::R,
2494 |                 mode: Mode::SFLOAT,
2495 |             },
2496 |             Part {
2497 |                 bits: 64,
2498 |                 component: Component::G,
2499 |                 mode: Mode::SFLOAT,
2500 |             },
2501 |             Part {
2502 |                 bits: 64,
2503 |                 component: Component::B,
2504 |                 mode: Mode::SFLOAT,
2505 |             },
2506 |             // stub to fill the array
2507 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2508 |         ]
2509 |     },
2510 |     Format {
2511 |         vk_format: vk::VK_FORMAT_R64G64B64_SINT,
2512 |         name: "R64G64B64_SINT",
2513 |         packed_size: None,
2514 |         n_parts: 3,
2515 |         parts: [
2516 |             Part {
2517 |                 bits: 64,
2518 |                 component: Component::R,
2519 |                 mode: Mode::SINT,
2520 |             },
2521 |             Part {
2522 |                 bits: 64,
2523 |                 component: Component::G,
2524 |                 mode: Mode::SINT,
2525 |             },
2526 |             Part {
2527 |                 bits: 64,
2528 |                 component: Component::B,
2529 |                 mode: Mode::SINT,
2530 |             },
2531 |             // stub to fill the array
2532 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2533 |         ]
2534 |     },
2535 |     Format {
2536 |         vk_format: vk::VK_FORMAT_R64G64B64_UINT,
2537 |         name: "R64G64B64_UINT",
2538 |         packed_size: None,
2539 |         n_parts: 3,
2540 |         parts: [
2541 |             Part {
2542 |                 bits: 64,
2543 |                 component: Component::R,
2544 |                 mode: Mode::UINT,
2545 |             },
2546 |             Part {
2547 |                 bits: 64,
2548 |                 component: Component::G,
2549 |                 mode: Mode::UINT,
2550 |             },
2551 |             Part {
2552 |                 bits: 64,
2553 |                 component: Component::B,
2554 |                 mode: Mode::UINT,
2555 |             },
2556 |             // stub to fill the array
2557 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2558 |         ]
2559 |     },
2560 |     Format {
2561 |         vk_format: vk::VK_FORMAT_R64G64_SFLOAT,
2562 |         name: "R64G64_SFLOAT",
2563 |         packed_size: None,
2564 |         n_parts: 2,
2565 |         parts: [
2566 |             Part {
2567 |                 bits: 64,
2568 |                 component: Component::R,
2569 |                 mode: Mode::SFLOAT,
2570 |             },
2571 |             Part {
2572 |                 bits: 64,
2573 |                 component: Component::G,
2574 |                 mode: Mode::SFLOAT,
2575 |             },
2576 |             // stub to fill the array
2577 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2578 |             // stub to fill the array
2579 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2580 |         ]
2581 |     },
2582 |     Format {
2583 |         vk_format: vk::VK_FORMAT_R64G64_SINT,
2584 |         name: "R64G64_SINT",
2585 |         packed_size: None,
2586 |         n_parts: 2,
2587 |         parts: [
2588 |             Part {
2589 |                 bits: 64,
2590 |                 component: Component::R,
2591 |                 mode: Mode::SINT,
2592 |             },
2593 |             Part {
2594 |                 bits: 64,
2595 |                 component: Component::G,
2596 |                 mode: Mode::SINT,
2597 |             },
2598 |             // stub to fill the array
2599 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2600 |             // stub to fill the array
2601 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2602 |         ]
2603 |     },
2604 |     Format {
2605 |         vk_format: vk::VK_FORMAT_R64G64_UINT,
2606 |         name: "R64G64_UINT",
2607 |         packed_size: None,
2608 |         n_parts: 2,
2609 |         parts: [
2610 |             Part {
2611 |                 bits: 64,
2612 |                 component: Component::R,
2613 |                 mode: Mode::UINT,
2614 |             },
2615 |             Part {
2616 |                 bits: 64,
2617 |                 component: Component::G,
2618 |                 mode: Mode::UINT,
2619 |             },
2620 |             // stub to fill the array
2621 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2622 |             // stub to fill the array
2623 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2624 |         ]
2625 |     },
2626 |     Format {
2627 |         vk_format: vk::VK_FORMAT_R64_SFLOAT,
2628 |         name: "R64_SFLOAT",
2629 |         packed_size: None,
2630 |         n_parts: 1,
2631 |         parts: [
2632 |             Part {
2633 |                 bits: 64,
2634 |                 component: Component::R,
2635 |                 mode: Mode::SFLOAT,
2636 |             },
2637 |             // stub to fill the array
2638 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2639 |             // stub to fill the array
2640 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2641 |             // stub to fill the array
2642 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2643 |         ]
2644 |     },
2645 |     Format {
2646 |         vk_format: vk::VK_FORMAT_R64_SINT,
2647 |         name: "R64_SINT",
2648 |         packed_size: None,
2649 |         n_parts: 1,
2650 |         parts: [
2651 |             Part {
2652 |                 bits: 64,
2653 |                 component: Component::R,
2654 |                 mode: Mode::SINT,
2655 |             },
2656 |             // stub to fill the array
2657 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2658 |             // stub to fill the array
2659 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2660 |             // stub to fill the array
2661 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2662 |         ]
2663 |     },
2664 |     Format {
2665 |         vk_format: vk::VK_FORMAT_R64_UINT,
2666 |         name: "R64_UINT",
2667 |         packed_size: None,
2668 |         n_parts: 1,
2669 |         parts: [
2670 |             Part {
2671 |                 bits: 64,
2672 |                 component: Component::R,
2673 |                 mode: Mode::UINT,
2674 |             },
2675 |             // stub to fill the array
2676 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2677 |             // stub to fill the array
2678 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2679 |             // stub to fill the array
2680 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2681 |         ]
2682 |     },
2683 |     Format {
2684 |         vk_format: vk::VK_FORMAT_R8G8B8A8_SINT,
2685 |         name: "R8G8B8A8_SINT",
2686 |         packed_size: None,
2687 |         n_parts: 4,
2688 |         parts: [
2689 |             Part {
2690 |                 bits: 8,
2691 |                 component: Component::R,
2692 |                 mode: Mode::SINT,
2693 |             },
2694 |             Part {
2695 |                 bits: 8,
2696 |                 component: Component::G,
2697 |                 mode: Mode::SINT,
2698 |             },
2699 |             Part {
2700 |                 bits: 8,
2701 |                 component: Component::B,
2702 |                 mode: Mode::SINT,
2703 |             },
2704 |             Part {
2705 |                 bits: 8,
2706 |                 component: Component::A,
2707 |                 mode: Mode::SINT,
2708 |             },
2709 |         ]
2710 |     },
2711 |     Format {
2712 |         vk_format: vk::VK_FORMAT_R8G8B8A8_SNORM,
2713 |         name: "R8G8B8A8_SNORM",
2714 |         packed_size: None,
2715 |         n_parts: 4,
2716 |         parts: [
2717 |             Part {
2718 |                 bits: 8,
2719 |                 component: Component::R,
2720 |                 mode: Mode::SNORM,
2721 |             },
2722 |             Part {
2723 |                 bits: 8,
2724 |                 component: Component::G,
2725 |                 mode: Mode::SNORM,
2726 |             },
2727 |             Part {
2728 |                 bits: 8,
2729 |                 component: Component::B,
2730 |                 mode: Mode::SNORM,
2731 |             },
2732 |             Part {
2733 |                 bits: 8,
2734 |                 component: Component::A,
2735 |                 mode: Mode::SNORM,
2736 |             },
2737 |         ]
2738 |     },
2739 |     Format {
2740 |         vk_format: vk::VK_FORMAT_R8G8B8A8_SRGB,
2741 |         name: "R8G8B8A8_SRGB",
2742 |         packed_size: None,
2743 |         n_parts: 4,
2744 |         parts: [
2745 |             Part {
2746 |                 bits: 8,
2747 |                 component: Component::R,
2748 |                 mode: Mode::SRGB,
2749 |             },
2750 |             Part {
2751 |                 bits: 8,
2752 |                 component: Component::G,
2753 |                 mode: Mode::SRGB,
2754 |             },
2755 |             Part {
2756 |                 bits: 8,
2757 |                 component: Component::B,
2758 |                 mode: Mode::SRGB,
2759 |             },
2760 |             Part {
2761 |                 bits: 8,
2762 |                 component: Component::A,
2763 |                 mode: Mode::SRGB,
2764 |             },
2765 |         ]
2766 |     },
2767 |     Format {
2768 |         vk_format: vk::VK_FORMAT_R8G8B8A8_SSCALED,
2769 |         name: "R8G8B8A8_SSCALED",
2770 |         packed_size: None,
2771 |         n_parts: 4,
2772 |         parts: [
2773 |             Part {
2774 |                 bits: 8,
2775 |                 component: Component::R,
2776 |                 mode: Mode::SSCALED,
2777 |             },
2778 |             Part {
2779 |                 bits: 8,
2780 |                 component: Component::G,
2781 |                 mode: Mode::SSCALED,
2782 |             },
2783 |             Part {
2784 |                 bits: 8,
2785 |                 component: Component::B,
2786 |                 mode: Mode::SSCALED,
2787 |             },
2788 |             Part {
2789 |                 bits: 8,
2790 |                 component: Component::A,
2791 |                 mode: Mode::SSCALED,
2792 |             },
2793 |         ]
2794 |     },
2795 |     Format {
2796 |         vk_format: vk::VK_FORMAT_R8G8B8A8_UINT,
2797 |         name: "R8G8B8A8_UINT",
2798 |         packed_size: None,
2799 |         n_parts: 4,
2800 |         parts: [
2801 |             Part {
2802 |                 bits: 8,
2803 |                 component: Component::R,
2804 |                 mode: Mode::UINT,
2805 |             },
2806 |             Part {
2807 |                 bits: 8,
2808 |                 component: Component::G,
2809 |                 mode: Mode::UINT,
2810 |             },
2811 |             Part {
2812 |                 bits: 8,
2813 |                 component: Component::B,
2814 |                 mode: Mode::UINT,
2815 |             },
2816 |             Part {
2817 |                 bits: 8,
2818 |                 component: Component::A,
2819 |                 mode: Mode::UINT,
2820 |             },
2821 |         ]
2822 |     },
2823 |     Format {
2824 |         vk_format: vk::VK_FORMAT_R8G8B8A8_UNORM,
2825 |         name: "R8G8B8A8_UNORM",
2826 |         packed_size: None,
2827 |         n_parts: 4,
2828 |         parts: [
2829 |             Part {
2830 |                 bits: 8,
2831 |                 component: Component::R,
2832 |                 mode: Mode::UNORM,
2833 |             },
2834 |             Part {
2835 |                 bits: 8,
2836 |                 component: Component::G,
2837 |                 mode: Mode::UNORM,
2838 |             },
2839 |             Part {
2840 |                 bits: 8,
2841 |                 component: Component::B,
2842 |                 mode: Mode::UNORM,
2843 |             },
2844 |             Part {
2845 |                 bits: 8,
2846 |                 component: Component::A,
2847 |                 mode: Mode::UNORM,
2848 |             },
2849 |         ]
2850 |     },
2851 |     Format {
2852 |         vk_format: vk::VK_FORMAT_R8G8B8A8_USCALED,
2853 |         name: "R8G8B8A8_USCALED",
2854 |         packed_size: None,
2855 |         n_parts: 4,
2856 |         parts: [
2857 |             Part {
2858 |                 bits: 8,
2859 |                 component: Component::R,
2860 |                 mode: Mode::USCALED,
2861 |             },
2862 |             Part {
2863 |                 bits: 8,
2864 |                 component: Component::G,
2865 |                 mode: Mode::USCALED,
2866 |             },
2867 |             Part {
2868 |                 bits: 8,
2869 |                 component: Component::B,
2870 |                 mode: Mode::USCALED,
2871 |             },
2872 |             Part {
2873 |                 bits: 8,
2874 |                 component: Component::A,
2875 |                 mode: Mode::USCALED,
2876 |             },
2877 |         ]
2878 |     },
2879 |     Format {
2880 |         vk_format: vk::VK_FORMAT_R8G8B8_SINT,
2881 |         name: "R8G8B8_SINT",
2882 |         packed_size: None,
2883 |         n_parts: 3,
2884 |         parts: [
2885 |             Part {
2886 |                 bits: 8,
2887 |                 component: Component::R,
2888 |                 mode: Mode::SINT,
2889 |             },
2890 |             Part {
2891 |                 bits: 8,
2892 |                 component: Component::G,
2893 |                 mode: Mode::SINT,
2894 |             },
2895 |             Part {
2896 |                 bits: 8,
2897 |                 component: Component::B,
2898 |                 mode: Mode::SINT,
2899 |             },
2900 |             // stub to fill the array
2901 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2902 |         ]
2903 |     },
2904 |     Format {
2905 |         vk_format: vk::VK_FORMAT_R8G8B8_SNORM,
2906 |         name: "R8G8B8_SNORM",
2907 |         packed_size: None,
2908 |         n_parts: 3,
2909 |         parts: [
2910 |             Part {
2911 |                 bits: 8,
2912 |                 component: Component::R,
2913 |                 mode: Mode::SNORM,
2914 |             },
2915 |             Part {
2916 |                 bits: 8,
2917 |                 component: Component::G,
2918 |                 mode: Mode::SNORM,
2919 |             },
2920 |             Part {
2921 |                 bits: 8,
2922 |                 component: Component::B,
2923 |                 mode: Mode::SNORM,
2924 |             },
2925 |             // stub to fill the array
2926 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2927 |         ]
2928 |     },
2929 |     Format {
2930 |         vk_format: vk::VK_FORMAT_R8G8B8_SRGB,
2931 |         name: "R8G8B8_SRGB",
2932 |         packed_size: None,
2933 |         n_parts: 3,
2934 |         parts: [
2935 |             Part {
2936 |                 bits: 8,
2937 |                 component: Component::R,
2938 |                 mode: Mode::SRGB,
2939 |             },
2940 |             Part {
2941 |                 bits: 8,
2942 |                 component: Component::G,
2943 |                 mode: Mode::SRGB,
2944 |             },
2945 |             Part {
2946 |                 bits: 8,
2947 |                 component: Component::B,
2948 |                 mode: Mode::SRGB,
2949 |             },
2950 |             // stub to fill the array
2951 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2952 |         ]
2953 |     },
2954 |     Format {
2955 |         vk_format: vk::VK_FORMAT_R8G8B8_SSCALED,
2956 |         name: "R8G8B8_SSCALED",
2957 |         packed_size: None,
2958 |         n_parts: 3,
2959 |         parts: [
2960 |             Part {
2961 |                 bits: 8,
2962 |                 component: Component::R,
2963 |                 mode: Mode::SSCALED,
2964 |             },
2965 |             Part {
2966 |                 bits: 8,
2967 |                 component: Component::G,
2968 |                 mode: Mode::SSCALED,
2969 |             },
2970 |             Part {
2971 |                 bits: 8,
2972 |                 component: Component::B,
2973 |                 mode: Mode::SSCALED,
2974 |             },
2975 |             // stub to fill the array
2976 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
2977 |         ]
2978 |     },
2979 |     Format {
2980 |         vk_format: vk::VK_FORMAT_R8G8B8_UINT,
2981 |         name: "R8G8B8_UINT",
2982 |         packed_size: None,
2983 |         n_parts: 3,
2984 |         parts: [
2985 |             Part {
2986 |                 bits: 8,
2987 |                 component: Component::R,
2988 |                 mode: Mode::UINT,
2989 |             },
2990 |             Part {
2991 |                 bits: 8,
2992 |                 component: Component::G,
2993 |                 mode: Mode::UINT,
2994 |             },
2995 |             Part {
2996 |                 bits: 8,
2997 |                 component: Component::B,
2998 |                 mode: Mode::UINT,
2999 |             },
3000 |             // stub to fill the array
3001 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3002 |         ]
3003 |     },
3004 |     Format {
3005 |         vk_format: vk::VK_FORMAT_R8G8B8_UNORM,
3006 |         name: "R8G8B8_UNORM",
3007 |         packed_size: None,
3008 |         n_parts: 3,
3009 |         parts: [
3010 |             Part {
3011 |                 bits: 8,
3012 |                 component: Component::R,
3013 |                 mode: Mode::UNORM,
3014 |             },
3015 |             Part {
3016 |                 bits: 8,
3017 |                 component: Component::G,
3018 |                 mode: Mode::UNORM,
3019 |             },
3020 |             Part {
3021 |                 bits: 8,
3022 |                 component: Component::B,
3023 |                 mode: Mode::UNORM,
3024 |             },
3025 |             // stub to fill the array
3026 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3027 |         ]
3028 |     },
3029 |     Format {
3030 |         vk_format: vk::VK_FORMAT_R8G8B8_USCALED,
3031 |         name: "R8G8B8_USCALED",
3032 |         packed_size: None,
3033 |         n_parts: 3,
3034 |         parts: [
3035 |             Part {
3036 |                 bits: 8,
3037 |                 component: Component::R,
3038 |                 mode: Mode::USCALED,
3039 |             },
3040 |             Part {
3041 |                 bits: 8,
3042 |                 component: Component::G,
3043 |                 mode: Mode::USCALED,
3044 |             },
3045 |             Part {
3046 |                 bits: 8,
3047 |                 component: Component::B,
3048 |                 mode: Mode::USCALED,
3049 |             },
3050 |             // stub to fill the array
3051 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3052 |         ]
3053 |     },
3054 |     Format {
3055 |         vk_format: vk::VK_FORMAT_R8G8_SINT,
3056 |         name: "R8G8_SINT",
3057 |         packed_size: None,
3058 |         n_parts: 2,
3059 |         parts: [
3060 |             Part {
3061 |                 bits: 8,
3062 |                 component: Component::R,
3063 |                 mode: Mode::SINT,
3064 |             },
3065 |             Part {
3066 |                 bits: 8,
3067 |                 component: Component::G,
3068 |                 mode: Mode::SINT,
3069 |             },
3070 |             // stub to fill the array
3071 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3072 |             // stub to fill the array
3073 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3074 |         ]
3075 |     },
3076 |     Format {
3077 |         vk_format: vk::VK_FORMAT_R8G8_SNORM,
3078 |         name: "R8G8_SNORM",
3079 |         packed_size: None,
3080 |         n_parts: 2,
3081 |         parts: [
3082 |             Part {
3083 |                 bits: 8,
3084 |                 component: Component::R,
3085 |                 mode: Mode::SNORM,
3086 |             },
3087 |             Part {
3088 |                 bits: 8,
3089 |                 component: Component::G,
3090 |                 mode: Mode::SNORM,
3091 |             },
3092 |             // stub to fill the array
3093 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3094 |             // stub to fill the array
3095 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3096 |         ]
3097 |     },
3098 |     Format {
3099 |         vk_format: vk::VK_FORMAT_R8G8_SRGB,
3100 |         name: "R8G8_SRGB",
3101 |         packed_size: None,
3102 |         n_parts: 2,
3103 |         parts: [
3104 |             Part {
3105 |                 bits: 8,
3106 |                 component: Component::R,
3107 |                 mode: Mode::SRGB,
3108 |             },
3109 |             Part {
3110 |                 bits: 8,
3111 |                 component: Component::G,
3112 |                 mode: Mode::SRGB,
3113 |             },
3114 |             // stub to fill the array
3115 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3116 |             // stub to fill the array
3117 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3118 |         ]
3119 |     },
3120 |     Format {
3121 |         vk_format: vk::VK_FORMAT_R8G8_SSCALED,
3122 |         name: "R8G8_SSCALED",
3123 |         packed_size: None,
3124 |         n_parts: 2,
3125 |         parts: [
3126 |             Part {
3127 |                 bits: 8,
3128 |                 component: Component::R,
3129 |                 mode: Mode::SSCALED,
3130 |             },
3131 |             Part {
3132 |                 bits: 8,
3133 |                 component: Component::G,
3134 |                 mode: Mode::SSCALED,
3135 |             },
3136 |             // stub to fill the array
3137 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3138 |             // stub to fill the array
3139 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3140 |         ]
3141 |     },
3142 |     Format {
3143 |         vk_format: vk::VK_FORMAT_R8G8_UINT,
3144 |         name: "R8G8_UINT",
3145 |         packed_size: None,
3146 |         n_parts: 2,
3147 |         parts: [
3148 |             Part {
3149 |                 bits: 8,
3150 |                 component: Component::R,
3151 |                 mode: Mode::UINT,
3152 |             },
3153 |             Part {
3154 |                 bits: 8,
3155 |                 component: Component::G,
3156 |                 mode: Mode::UINT,
3157 |             },
3158 |             // stub to fill the array
3159 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3160 |             // stub to fill the array
3161 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3162 |         ]
3163 |     },
3164 |     Format {
3165 |         vk_format: vk::VK_FORMAT_R8G8_UNORM,
3166 |         name: "R8G8_UNORM",
3167 |         packed_size: None,
3168 |         n_parts: 2,
3169 |         parts: [
3170 |             Part {
3171 |                 bits: 8,
3172 |                 component: Component::R,
3173 |                 mode: Mode::UNORM,
3174 |             },
3175 |             Part {
3176 |                 bits: 8,
3177 |                 component: Component::G,
3178 |                 mode: Mode::UNORM,
3179 |             },
3180 |             // stub to fill the array
3181 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3182 |             // stub to fill the array
3183 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3184 |         ]
3185 |     },
3186 |     Format {
3187 |         vk_format: vk::VK_FORMAT_R8G8_USCALED,
3188 |         name: "R8G8_USCALED",
3189 |         packed_size: None,
3190 |         n_parts: 2,
3191 |         parts: [
3192 |             Part {
3193 |                 bits: 8,
3194 |                 component: Component::R,
3195 |                 mode: Mode::USCALED,
3196 |             },
3197 |             Part {
3198 |                 bits: 8,
3199 |                 component: Component::G,
3200 |                 mode: Mode::USCALED,
3201 |             },
3202 |             // stub to fill the array
3203 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3204 |             // stub to fill the array
3205 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3206 |         ]
3207 |     },
3208 |     Format {
3209 |         vk_format: vk::VK_FORMAT_R8_SINT,
3210 |         name: "R8_SINT",
3211 |         packed_size: None,
3212 |         n_parts: 1,
3213 |         parts: [
3214 |             Part {
3215 |                 bits: 8,
3216 |                 component: Component::R,
3217 |                 mode: Mode::SINT,
3218 |             },
3219 |             // stub to fill the array
3220 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3221 |             // stub to fill the array
3222 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3223 |             // stub to fill the array
3224 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3225 |         ]
3226 |     },
3227 |     Format {
3228 |         vk_format: vk::VK_FORMAT_R8_SNORM,
3229 |         name: "R8_SNORM",
3230 |         packed_size: None,
3231 |         n_parts: 1,
3232 |         parts: [
3233 |             Part {
3234 |                 bits: 8,
3235 |                 component: Component::R,
3236 |                 mode: Mode::SNORM,
3237 |             },
3238 |             // stub to fill the array
3239 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3240 |             // stub to fill the array
3241 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3242 |             // stub to fill the array
3243 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3244 |         ]
3245 |     },
3246 |     Format {
3247 |         vk_format: vk::VK_FORMAT_R8_SRGB,
3248 |         name: "R8_SRGB",
3249 |         packed_size: None,
3250 |         n_parts: 1,
3251 |         parts: [
3252 |             Part {
3253 |                 bits: 8,
3254 |                 component: Component::R,
3255 |                 mode: Mode::SRGB,
3256 |             },
3257 |             // stub to fill the array
3258 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3259 |             // stub to fill the array
3260 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3261 |             // stub to fill the array
3262 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3263 |         ]
3264 |     },
3265 |     Format {
3266 |         vk_format: vk::VK_FORMAT_R8_SSCALED,
3267 |         name: "R8_SSCALED",
3268 |         packed_size: None,
3269 |         n_parts: 1,
3270 |         parts: [
3271 |             Part {
3272 |                 bits: 8,
3273 |                 component: Component::R,
3274 |                 mode: Mode::SSCALED,
3275 |             },
3276 |             // stub to fill the array
3277 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3278 |             // stub to fill the array
3279 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3280 |             // stub to fill the array
3281 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3282 |         ]
3283 |     },
3284 |     Format {
3285 |         vk_format: vk::VK_FORMAT_R8_UINT,
3286 |         name: "R8_UINT",
3287 |         packed_size: None,
3288 |         n_parts: 1,
3289 |         parts: [
3290 |             Part {
3291 |                 bits: 8,
3292 |                 component: Component::R,
3293 |                 mode: Mode::UINT,
3294 |             },
3295 |             // stub to fill the array
3296 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3297 |             // stub to fill the array
3298 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3299 |             // stub to fill the array
3300 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3301 |         ]
3302 |     },
3303 |     Format {
3304 |         vk_format: vk::VK_FORMAT_R8_UNORM,
3305 |         name: "R8_UNORM",
3306 |         packed_size: None,
3307 |         n_parts: 1,
3308 |         parts: [
3309 |             Part {
3310 |                 bits: 8,
3311 |                 component: Component::R,
3312 |                 mode: Mode::UNORM,
3313 |             },
3314 |             // stub to fill the array
3315 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3316 |             // stub to fill the array
3317 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3318 |             // stub to fill the array
3319 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3320 |         ]
3321 |     },
3322 |     Format {
3323 |         vk_format: vk::VK_FORMAT_R8_USCALED,
3324 |         name: "R8_USCALED",
3325 |         packed_size: None,
3326 |         n_parts: 1,
3327 |         parts: [
3328 |             Part {
3329 |                 bits: 8,
3330 |                 component: Component::R,
3331 |                 mode: Mode::USCALED,
3332 |             },
3333 |             // stub to fill the array
3334 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3335 |             // stub to fill the array
3336 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3337 |             // stub to fill the array
3338 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3339 |         ]
3340 |     },
3341 |     Format {
3342 |         vk_format: vk::VK_FORMAT_S8_UINT,
3343 |         name: "S8_UINT",
3344 |         packed_size: None,
3345 |         n_parts: 1,
3346 |         parts: [
3347 |             Part {
3348 |                 bits: 8,
3349 |                 component: Component::S,
3350 |                 mode: Mode::UINT,
3351 |             },
3352 |             // stub to fill the array
3353 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3354 |             // stub to fill the array
3355 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3356 |             // stub to fill the array
3357 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3358 |         ]
3359 |     },
3360 |     Format {
3361 |         vk_format: vk::VK_FORMAT_X8_D24_UNORM_PACK32,
3362 |         name: "X8_D24_UNORM_PACK32",
3363 |         packed_size: Some(unsafe {
3364 |             NonZeroUsize::new_unchecked(32)
3365 |         }),
3366 |         n_parts: 2,
3367 |         parts: [
3368 |             Part {
3369 |                 bits: 8,
3370 |                 component: Component::X,
3371 |                 mode: Mode::UNORM,
3372 |             },
3373 |             Part {
3374 |                 bits: 24,
3375 |                 component: Component::D,
3376 |                 mode: Mode::UNORM,
3377 |             },
3378 |             // stub to fill the array
3379 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3380 |             // stub to fill the array
3381 |             Part { bits: 0, component: Component::R, mode: Mode::UNORM },
3382 |         ]
3383 |     },
3384 | ];
3385 | 
```
Page 8/9FirstPrevNextLast