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 | ```