This is page 6 of 7. Use http://codebase.md/mehmetoguzderin/shaderc-vkrunner-mcp?lines=false&page={x} to view the full context. # Directory Structure ``` ├── .devcontainer │ ├── devcontainer.json │ ├── docker-compose.yml │ └── Dockerfile ├── .gitattributes ├── .github │ └── workflows │ └── build-push-image.yml ├── .gitignore ├── .vscode │ └── mcp.json ├── Cargo.lock ├── Cargo.toml ├── Dockerfile ├── LICENSE ├── README.adoc ├── shaderc-vkrunner-mcp.jpg ├── src │ └── main.rs └── vkrunner ├── .editorconfig ├── .gitignore ├── .gitlab-ci.yml ├── build.rs ├── Cargo.toml ├── COPYING ├── examples │ ├── compute-shader.shader_test │ ├── cooperative-matrix.shader_test │ ├── depth-buffer.shader_test │ ├── desc_set_and_binding.shader_test │ ├── entrypoint.shader_test │ ├── float-framebuffer.shader_test │ ├── frexp.shader_test │ ├── geometry.shader_test │ ├── indices.shader_test │ ├── layouts.shader_test │ ├── properties.shader_test │ ├── push-constants.shader_test │ ├── require-subgroup-size.shader_test │ ├── row-major.shader_test │ ├── spirv.shader_test │ ├── ssbo.shader_test │ ├── tolerance.shader_test │ ├── tricolore.shader_test │ ├── ubo.shader_test │ ├── vertex-data-piglit.shader_test │ └── vertex-data.shader_test ├── include │ ├── vk_video │ │ ├── vulkan_video_codec_av1std_decode.h │ │ ├── vulkan_video_codec_av1std_encode.h │ │ ├── vulkan_video_codec_av1std.h │ │ ├── vulkan_video_codec_h264std_decode.h │ │ ├── vulkan_video_codec_h264std_encode.h │ │ ├── vulkan_video_codec_h264std.h │ │ ├── vulkan_video_codec_h265std_decode.h │ │ ├── vulkan_video_codec_h265std_encode.h │ │ ├── vulkan_video_codec_h265std.h │ │ └── vulkan_video_codecs_common.h │ └── vulkan │ ├── vk_platform.h │ ├── vulkan_core.h │ └── vulkan.h ├── precompile-script.py ├── README.md ├── scripts │ └── update-vulkan.sh ├── src │ └── main.rs ├── test-build.sh └── vkrunner ├── allocate_store.rs ├── buffer.rs ├── compiler │ └── fake_process.rs ├── compiler.rs ├── config.rs ├── context.rs ├── enum_table.rs ├── env_var_test.rs ├── executor.rs ├── fake_vulkan.rs ├── features.rs ├── flush_memory.rs ├── format_table.rs ├── format.rs ├── half_float.rs ├── hex.rs ├── inspect.rs ├── lib.rs ├── logger.rs ├── make-enums.py ├── make-features.py ├── make-formats.py ├── make-pipeline-key-data.py ├── make-vulkan-funcs-data.py ├── parse_num.rs ├── pipeline_key_data.rs ├── pipeline_key.rs ├── pipeline_set.rs ├── requirements.rs ├── result.rs ├── script.rs ├── shader_stage.rs ├── slot.rs ├── small_float.rs ├── source.rs ├── stream.rs ├── temp_file.rs ├── tester.rs ├── tolerance.rs ├── util.rs ├── vbo.rs ├── vk.rs ├── vulkan_funcs_data.rs ├── vulkan_funcs.rs ├── window_format.rs └── window.rs ``` # Files -------------------------------------------------------------------------------- /vkrunner/vkrunner/format_table.rs: -------------------------------------------------------------------------------- ```rust // Automatically generated by make-formats.py static FORMATS: [Format; 135] = [ Format { vk_format: vk::VK_FORMAT_A1B5G5R5_UNORM_PACK16, name: "A1B5G5R5_UNORM_PACK16", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(16) }), n_parts: 4, parts: [ Part { bits: 1, component: Component::A, mode: Mode::UNORM, }, Part { bits: 5, component: Component::B, mode: Mode::UNORM, }, Part { bits: 5, component: Component::G, mode: Mode::UNORM, }, Part { bits: 5, component: Component::R, mode: Mode::UNORM, }, ] }, Format { vk_format: vk::VK_FORMAT_A1R5G5B5_UNORM_PACK16, name: "A1R5G5B5_UNORM_PACK16", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(16) }), n_parts: 4, parts: [ Part { bits: 1, component: Component::A, mode: Mode::UNORM, }, Part { bits: 5, component: Component::R, mode: Mode::UNORM, }, Part { bits: 5, component: Component::G, mode: Mode::UNORM, }, Part { bits: 5, component: Component::B, mode: Mode::UNORM, }, ] }, Format { vk_format: vk::VK_FORMAT_A2B10G10R10_SINT_PACK32, name: "A2B10G10R10_SINT_PACK32", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(32) }), n_parts: 4, parts: [ Part { bits: 2, component: Component::A, mode: Mode::SINT, }, Part { bits: 10, component: Component::B, mode: Mode::SINT, }, Part { bits: 10, component: Component::G, mode: Mode::SINT, }, Part { bits: 10, component: Component::R, mode: Mode::SINT, }, ] }, Format { vk_format: vk::VK_FORMAT_A2B10G10R10_SNORM_PACK32, name: "A2B10G10R10_SNORM_PACK32", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(32) }), n_parts: 4, parts: [ Part { bits: 2, component: Component::A, mode: Mode::SNORM, }, Part { bits: 10, component: Component::B, mode: Mode::SNORM, }, Part { bits: 10, component: Component::G, mode: Mode::SNORM, }, Part { bits: 10, component: Component::R, mode: Mode::SNORM, }, ] }, Format { vk_format: vk::VK_FORMAT_A2B10G10R10_SSCALED_PACK32, name: "A2B10G10R10_SSCALED_PACK32", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(32) }), n_parts: 4, parts: [ Part { bits: 2, component: Component::A, mode: Mode::SSCALED, }, Part { bits: 10, component: Component::B, mode: Mode::SSCALED, }, Part { bits: 10, component: Component::G, mode: Mode::SSCALED, }, Part { bits: 10, component: Component::R, mode: Mode::SSCALED, }, ] }, Format { vk_format: vk::VK_FORMAT_A2B10G10R10_UINT_PACK32, name: "A2B10G10R10_UINT_PACK32", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(32) }), n_parts: 4, parts: [ Part { bits: 2, component: Component::A, mode: Mode::UINT, }, Part { bits: 10, component: Component::B, mode: Mode::UINT, }, Part { bits: 10, component: Component::G, mode: Mode::UINT, }, Part { bits: 10, component: Component::R, mode: Mode::UINT, }, ] }, Format { vk_format: vk::VK_FORMAT_A2B10G10R10_UNORM_PACK32, name: "A2B10G10R10_UNORM_PACK32", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(32) }), n_parts: 4, parts: [ Part { bits: 2, component: Component::A, mode: Mode::UNORM, }, Part { bits: 10, component: Component::B, mode: Mode::UNORM, }, Part { bits: 10, component: Component::G, mode: Mode::UNORM, }, Part { bits: 10, component: Component::R, mode: Mode::UNORM, }, ] }, Format { vk_format: vk::VK_FORMAT_A2B10G10R10_USCALED_PACK32, name: "A2B10G10R10_USCALED_PACK32", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(32) }), n_parts: 4, parts: [ Part { bits: 2, component: Component::A, mode: Mode::USCALED, }, Part { bits: 10, component: Component::B, mode: Mode::USCALED, }, Part { bits: 10, component: Component::G, mode: Mode::USCALED, }, Part { bits: 10, component: Component::R, mode: Mode::USCALED, }, ] }, Format { vk_format: vk::VK_FORMAT_A2R10G10B10_SINT_PACK32, name: "A2R10G10B10_SINT_PACK32", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(32) }), n_parts: 4, parts: [ Part { bits: 2, component: Component::A, mode: Mode::SINT, }, Part { bits: 10, component: Component::R, mode: Mode::SINT, }, Part { bits: 10, component: Component::G, mode: Mode::SINT, }, Part { bits: 10, component: Component::B, mode: Mode::SINT, }, ] }, Format { vk_format: vk::VK_FORMAT_A2R10G10B10_SNORM_PACK32, name: "A2R10G10B10_SNORM_PACK32", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(32) }), n_parts: 4, parts: [ Part { bits: 2, component: Component::A, mode: Mode::SNORM, }, Part { bits: 10, component: Component::R, mode: Mode::SNORM, }, Part { bits: 10, component: Component::G, mode: Mode::SNORM, }, Part { bits: 10, component: Component::B, mode: Mode::SNORM, }, ] }, Format { vk_format: vk::VK_FORMAT_A2R10G10B10_SSCALED_PACK32, name: "A2R10G10B10_SSCALED_PACK32", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(32) }), n_parts: 4, parts: [ Part { bits: 2, component: Component::A, mode: Mode::SSCALED, }, Part { bits: 10, component: Component::R, mode: Mode::SSCALED, }, Part { bits: 10, component: Component::G, mode: Mode::SSCALED, }, Part { bits: 10, component: Component::B, mode: Mode::SSCALED, }, ] }, Format { vk_format: vk::VK_FORMAT_A2R10G10B10_UINT_PACK32, name: "A2R10G10B10_UINT_PACK32", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(32) }), n_parts: 4, parts: [ Part { bits: 2, component: Component::A, mode: Mode::UINT, }, Part { bits: 10, component: Component::R, mode: Mode::UINT, }, Part { bits: 10, component: Component::G, mode: Mode::UINT, }, Part { bits: 10, component: Component::B, mode: Mode::UINT, }, ] }, Format { vk_format: vk::VK_FORMAT_A2R10G10B10_UNORM_PACK32, name: "A2R10G10B10_UNORM_PACK32", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(32) }), n_parts: 4, parts: [ Part { bits: 2, component: Component::A, mode: Mode::UNORM, }, Part { bits: 10, component: Component::R, mode: Mode::UNORM, }, Part { bits: 10, component: Component::G, mode: Mode::UNORM, }, Part { bits: 10, component: Component::B, mode: Mode::UNORM, }, ] }, Format { vk_format: vk::VK_FORMAT_A2R10G10B10_USCALED_PACK32, name: "A2R10G10B10_USCALED_PACK32", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(32) }), n_parts: 4, parts: [ Part { bits: 2, component: Component::A, mode: Mode::USCALED, }, Part { bits: 10, component: Component::R, mode: Mode::USCALED, }, Part { bits: 10, component: Component::G, mode: Mode::USCALED, }, Part { bits: 10, component: Component::B, mode: Mode::USCALED, }, ] }, Format { vk_format: vk::VK_FORMAT_A4B4G4R4_UNORM_PACK16, name: "A4B4G4R4_UNORM_PACK16", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(16) }), n_parts: 4, parts: [ Part { bits: 4, component: Component::A, mode: Mode::UNORM, }, Part { bits: 4, component: Component::B, mode: Mode::UNORM, }, Part { bits: 4, component: Component::G, mode: Mode::UNORM, }, Part { bits: 4, component: Component::R, mode: Mode::UNORM, }, ] }, Format { vk_format: vk::VK_FORMAT_A4R4G4B4_UNORM_PACK16, name: "A4R4G4B4_UNORM_PACK16", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(16) }), n_parts: 4, parts: [ Part { bits: 4, component: Component::A, mode: Mode::UNORM, }, Part { bits: 4, component: Component::R, mode: Mode::UNORM, }, Part { bits: 4, component: Component::G, mode: Mode::UNORM, }, Part { bits: 4, component: Component::B, mode: Mode::UNORM, }, ] }, Format { vk_format: vk::VK_FORMAT_A8B8G8R8_SINT_PACK32, name: "A8B8G8R8_SINT_PACK32", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(32) }), n_parts: 4, parts: [ Part { bits: 8, component: Component::A, mode: Mode::SINT, }, Part { bits: 8, component: Component::B, mode: Mode::SINT, }, Part { bits: 8, component: Component::G, mode: Mode::SINT, }, Part { bits: 8, component: Component::R, mode: Mode::SINT, }, ] }, Format { vk_format: vk::VK_FORMAT_A8B8G8R8_SNORM_PACK32, name: "A8B8G8R8_SNORM_PACK32", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(32) }), n_parts: 4, parts: [ Part { bits: 8, component: Component::A, mode: Mode::SNORM, }, Part { bits: 8, component: Component::B, mode: Mode::SNORM, }, Part { bits: 8, component: Component::G, mode: Mode::SNORM, }, Part { bits: 8, component: Component::R, mode: Mode::SNORM, }, ] }, Format { vk_format: vk::VK_FORMAT_A8B8G8R8_SRGB_PACK32, name: "A8B8G8R8_SRGB_PACK32", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(32) }), n_parts: 4, parts: [ Part { bits: 8, component: Component::A, mode: Mode::SRGB, }, Part { bits: 8, component: Component::B, mode: Mode::SRGB, }, Part { bits: 8, component: Component::G, mode: Mode::SRGB, }, Part { bits: 8, component: Component::R, mode: Mode::SRGB, }, ] }, Format { vk_format: vk::VK_FORMAT_A8B8G8R8_SSCALED_PACK32, name: "A8B8G8R8_SSCALED_PACK32", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(32) }), n_parts: 4, parts: [ Part { bits: 8, component: Component::A, mode: Mode::SSCALED, }, Part { bits: 8, component: Component::B, mode: Mode::SSCALED, }, Part { bits: 8, component: Component::G, mode: Mode::SSCALED, }, Part { bits: 8, component: Component::R, mode: Mode::SSCALED, }, ] }, Format { vk_format: vk::VK_FORMAT_A8B8G8R8_UINT_PACK32, name: "A8B8G8R8_UINT_PACK32", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(32) }), n_parts: 4, parts: [ Part { bits: 8, component: Component::A, mode: Mode::UINT, }, Part { bits: 8, component: Component::B, mode: Mode::UINT, }, Part { bits: 8, component: Component::G, mode: Mode::UINT, }, Part { bits: 8, component: Component::R, mode: Mode::UINT, }, ] }, Format { vk_format: vk::VK_FORMAT_A8B8G8R8_UNORM_PACK32, name: "A8B8G8R8_UNORM_PACK32", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(32) }), n_parts: 4, parts: [ Part { bits: 8, component: Component::A, mode: Mode::UNORM, }, Part { bits: 8, component: Component::B, mode: Mode::UNORM, }, Part { bits: 8, component: Component::G, mode: Mode::UNORM, }, Part { bits: 8, component: Component::R, mode: Mode::UNORM, }, ] }, Format { vk_format: vk::VK_FORMAT_A8B8G8R8_USCALED_PACK32, name: "A8B8G8R8_USCALED_PACK32", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(32) }), n_parts: 4, parts: [ Part { bits: 8, component: Component::A, mode: Mode::USCALED, }, Part { bits: 8, component: Component::B, mode: Mode::USCALED, }, Part { bits: 8, component: Component::G, mode: Mode::USCALED, }, Part { bits: 8, component: Component::R, mode: Mode::USCALED, }, ] }, Format { vk_format: vk::VK_FORMAT_A8_UNORM, name: "A8_UNORM", packed_size: None, n_parts: 1, parts: [ Part { bits: 8, component: Component::A, mode: Mode::UNORM, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_B10G11R11_UFLOAT_PACK32, name: "B10G11R11_UFLOAT_PACK32", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(32) }), n_parts: 3, parts: [ Part { bits: 10, component: Component::B, mode: Mode::UFLOAT, }, Part { bits: 11, component: Component::G, mode: Mode::UFLOAT, }, Part { bits: 11, component: Component::R, mode: Mode::UFLOAT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_B4G4R4A4_UNORM_PACK16, name: "B4G4R4A4_UNORM_PACK16", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(16) }), n_parts: 4, parts: [ Part { bits: 4, component: Component::B, mode: Mode::UNORM, }, Part { bits: 4, component: Component::G, mode: Mode::UNORM, }, Part { bits: 4, component: Component::R, mode: Mode::UNORM, }, Part { bits: 4, component: Component::A, mode: Mode::UNORM, }, ] }, Format { vk_format: vk::VK_FORMAT_B5G5R5A1_UNORM_PACK16, name: "B5G5R5A1_UNORM_PACK16", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(16) }), n_parts: 4, parts: [ Part { bits: 5, component: Component::B, mode: Mode::UNORM, }, Part { bits: 5, component: Component::G, mode: Mode::UNORM, }, Part { bits: 5, component: Component::R, mode: Mode::UNORM, }, Part { bits: 1, component: Component::A, mode: Mode::UNORM, }, ] }, Format { vk_format: vk::VK_FORMAT_B5G6R5_UNORM_PACK16, name: "B5G6R5_UNORM_PACK16", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(16) }), n_parts: 3, parts: [ Part { bits: 5, component: Component::B, mode: Mode::UNORM, }, Part { bits: 6, component: Component::G, mode: Mode::UNORM, }, Part { bits: 5, component: Component::R, mode: Mode::UNORM, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_B8G8R8A8_SINT, name: "B8G8R8A8_SINT", packed_size: None, n_parts: 4, parts: [ Part { bits: 8, component: Component::B, mode: Mode::SINT, }, Part { bits: 8, component: Component::G, mode: Mode::SINT, }, Part { bits: 8, component: Component::R, mode: Mode::SINT, }, Part { bits: 8, component: Component::A, mode: Mode::SINT, }, ] }, Format { vk_format: vk::VK_FORMAT_B8G8R8A8_SNORM, name: "B8G8R8A8_SNORM", packed_size: None, n_parts: 4, parts: [ Part { bits: 8, component: Component::B, mode: Mode::SNORM, }, Part { bits: 8, component: Component::G, mode: Mode::SNORM, }, Part { bits: 8, component: Component::R, mode: Mode::SNORM, }, Part { bits: 8, component: Component::A, mode: Mode::SNORM, }, ] }, Format { vk_format: vk::VK_FORMAT_B8G8R8A8_SRGB, name: "B8G8R8A8_SRGB", packed_size: None, n_parts: 4, parts: [ Part { bits: 8, component: Component::B, mode: Mode::SRGB, }, Part { bits: 8, component: Component::G, mode: Mode::SRGB, }, Part { bits: 8, component: Component::R, mode: Mode::SRGB, }, Part { bits: 8, component: Component::A, mode: Mode::SRGB, }, ] }, Format { vk_format: vk::VK_FORMAT_B8G8R8A8_SSCALED, name: "B8G8R8A8_SSCALED", packed_size: None, n_parts: 4, parts: [ Part { bits: 8, component: Component::B, mode: Mode::SSCALED, }, Part { bits: 8, component: Component::G, mode: Mode::SSCALED, }, Part { bits: 8, component: Component::R, mode: Mode::SSCALED, }, Part { bits: 8, component: Component::A, mode: Mode::SSCALED, }, ] }, Format { vk_format: vk::VK_FORMAT_B8G8R8A8_UINT, name: "B8G8R8A8_UINT", packed_size: None, n_parts: 4, parts: [ Part { bits: 8, component: Component::B, mode: Mode::UINT, }, Part { bits: 8, component: Component::G, mode: Mode::UINT, }, Part { bits: 8, component: Component::R, mode: Mode::UINT, }, Part { bits: 8, component: Component::A, mode: Mode::UINT, }, ] }, Format { vk_format: vk::VK_FORMAT_B8G8R8A8_UNORM, name: "B8G8R8A8_UNORM", packed_size: None, n_parts: 4, parts: [ Part { bits: 8, component: Component::B, mode: Mode::UNORM, }, Part { bits: 8, component: Component::G, mode: Mode::UNORM, }, Part { bits: 8, component: Component::R, mode: Mode::UNORM, }, Part { bits: 8, component: Component::A, mode: Mode::UNORM, }, ] }, Format { vk_format: vk::VK_FORMAT_B8G8R8A8_USCALED, name: "B8G8R8A8_USCALED", packed_size: None, n_parts: 4, parts: [ Part { bits: 8, component: Component::B, mode: Mode::USCALED, }, Part { bits: 8, component: Component::G, mode: Mode::USCALED, }, Part { bits: 8, component: Component::R, mode: Mode::USCALED, }, Part { bits: 8, component: Component::A, mode: Mode::USCALED, }, ] }, Format { vk_format: vk::VK_FORMAT_B8G8R8_SINT, name: "B8G8R8_SINT", packed_size: None, n_parts: 3, parts: [ Part { bits: 8, component: Component::B, mode: Mode::SINT, }, Part { bits: 8, component: Component::G, mode: Mode::SINT, }, Part { bits: 8, component: Component::R, mode: Mode::SINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_B8G8R8_SNORM, name: "B8G8R8_SNORM", packed_size: None, n_parts: 3, parts: [ Part { bits: 8, component: Component::B, mode: Mode::SNORM, }, Part { bits: 8, component: Component::G, mode: Mode::SNORM, }, Part { bits: 8, component: Component::R, mode: Mode::SNORM, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_B8G8R8_SRGB, name: "B8G8R8_SRGB", packed_size: None, n_parts: 3, parts: [ Part { bits: 8, component: Component::B, mode: Mode::SRGB, }, Part { bits: 8, component: Component::G, mode: Mode::SRGB, }, Part { bits: 8, component: Component::R, mode: Mode::SRGB, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_B8G8R8_SSCALED, name: "B8G8R8_SSCALED", packed_size: None, n_parts: 3, parts: [ Part { bits: 8, component: Component::B, mode: Mode::SSCALED, }, Part { bits: 8, component: Component::G, mode: Mode::SSCALED, }, Part { bits: 8, component: Component::R, mode: Mode::SSCALED, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_B8G8R8_UINT, name: "B8G8R8_UINT", packed_size: None, n_parts: 3, parts: [ Part { bits: 8, component: Component::B, mode: Mode::UINT, }, Part { bits: 8, component: Component::G, mode: Mode::UINT, }, Part { bits: 8, component: Component::R, mode: Mode::UINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_B8G8R8_UNORM, name: "B8G8R8_UNORM", packed_size: None, n_parts: 3, parts: [ Part { bits: 8, component: Component::B, mode: Mode::UNORM, }, Part { bits: 8, component: Component::G, mode: Mode::UNORM, }, Part { bits: 8, component: Component::R, mode: Mode::UNORM, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_B8G8R8_USCALED, name: "B8G8R8_USCALED", packed_size: None, n_parts: 3, parts: [ Part { bits: 8, component: Component::B, mode: Mode::USCALED, }, Part { bits: 8, component: Component::G, mode: Mode::USCALED, }, Part { bits: 8, component: Component::R, mode: Mode::USCALED, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_D16_UNORM, name: "D16_UNORM", packed_size: None, n_parts: 1, parts: [ Part { bits: 16, component: Component::D, mode: Mode::UNORM, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_D16_UNORM_S8_UINT, name: "D16_UNORM_S8_UINT", packed_size: None, n_parts: 2, parts: [ Part { bits: 16, component: Component::D, mode: Mode::UNORM, }, Part { bits: 8, component: Component::S, mode: Mode::UINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_D24_UNORM_S8_UINT, name: "D24_UNORM_S8_UINT", packed_size: None, n_parts: 2, parts: [ Part { bits: 24, component: Component::D, mode: Mode::UNORM, }, Part { bits: 8, component: Component::S, mode: Mode::UINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_D32_SFLOAT, name: "D32_SFLOAT", packed_size: None, n_parts: 1, parts: [ Part { bits: 32, component: Component::D, mode: Mode::SFLOAT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_D32_SFLOAT_S8_UINT, name: "D32_SFLOAT_S8_UINT", packed_size: None, n_parts: 2, parts: [ Part { bits: 32, component: Component::D, mode: Mode::SFLOAT, }, Part { bits: 8, component: Component::S, mode: Mode::UINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R10X6_UNORM_PACK16, name: "R10X6_UNORM_PACK16", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(16) }), n_parts: 2, parts: [ Part { bits: 10, component: Component::R, mode: Mode::UNORM, }, Part { bits: 6, component: Component::X, mode: Mode::UNORM, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R12X4_UNORM_PACK16, name: "R12X4_UNORM_PACK16", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(16) }), n_parts: 2, parts: [ Part { bits: 12, component: Component::R, mode: Mode::UNORM, }, Part { bits: 4, component: Component::X, mode: Mode::UNORM, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R16G16B16A16_SFLOAT, name: "R16G16B16A16_SFLOAT", packed_size: None, n_parts: 4, parts: [ Part { bits: 16, component: Component::R, mode: Mode::SFLOAT, }, Part { bits: 16, component: Component::G, mode: Mode::SFLOAT, }, Part { bits: 16, component: Component::B, mode: Mode::SFLOAT, }, Part { bits: 16, component: Component::A, mode: Mode::SFLOAT, }, ] }, Format { vk_format: vk::VK_FORMAT_R16G16B16A16_SINT, name: "R16G16B16A16_SINT", packed_size: None, n_parts: 4, parts: [ Part { bits: 16, component: Component::R, mode: Mode::SINT, }, Part { bits: 16, component: Component::G, mode: Mode::SINT, }, Part { bits: 16, component: Component::B, mode: Mode::SINT, }, Part { bits: 16, component: Component::A, mode: Mode::SINT, }, ] }, Format { vk_format: vk::VK_FORMAT_R16G16B16A16_SNORM, name: "R16G16B16A16_SNORM", packed_size: None, n_parts: 4, parts: [ Part { bits: 16, component: Component::R, mode: Mode::SNORM, }, Part { bits: 16, component: Component::G, mode: Mode::SNORM, }, Part { bits: 16, component: Component::B, mode: Mode::SNORM, }, Part { bits: 16, component: Component::A, mode: Mode::SNORM, }, ] }, Format { vk_format: vk::VK_FORMAT_R16G16B16A16_SSCALED, name: "R16G16B16A16_SSCALED", packed_size: None, n_parts: 4, parts: [ Part { bits: 16, component: Component::R, mode: Mode::SSCALED, }, Part { bits: 16, component: Component::G, mode: Mode::SSCALED, }, Part { bits: 16, component: Component::B, mode: Mode::SSCALED, }, Part { bits: 16, component: Component::A, mode: Mode::SSCALED, }, ] }, Format { vk_format: vk::VK_FORMAT_R16G16B16A16_UINT, name: "R16G16B16A16_UINT", packed_size: None, n_parts: 4, parts: [ Part { bits: 16, component: Component::R, mode: Mode::UINT, }, Part { bits: 16, component: Component::G, mode: Mode::UINT, }, Part { bits: 16, component: Component::B, mode: Mode::UINT, }, Part { bits: 16, component: Component::A, mode: Mode::UINT, }, ] }, Format { vk_format: vk::VK_FORMAT_R16G16B16A16_UNORM, name: "R16G16B16A16_UNORM", packed_size: None, n_parts: 4, parts: [ Part { bits: 16, component: Component::R, mode: Mode::UNORM, }, Part { bits: 16, component: Component::G, mode: Mode::UNORM, }, Part { bits: 16, component: Component::B, mode: Mode::UNORM, }, Part { bits: 16, component: Component::A, mode: Mode::UNORM, }, ] }, Format { vk_format: vk::VK_FORMAT_R16G16B16A16_USCALED, name: "R16G16B16A16_USCALED", packed_size: None, n_parts: 4, parts: [ Part { bits: 16, component: Component::R, mode: Mode::USCALED, }, Part { bits: 16, component: Component::G, mode: Mode::USCALED, }, Part { bits: 16, component: Component::B, mode: Mode::USCALED, }, Part { bits: 16, component: Component::A, mode: Mode::USCALED, }, ] }, Format { vk_format: vk::VK_FORMAT_R16G16B16_SFLOAT, name: "R16G16B16_SFLOAT", packed_size: None, n_parts: 3, parts: [ Part { bits: 16, component: Component::R, mode: Mode::SFLOAT, }, Part { bits: 16, component: Component::G, mode: Mode::SFLOAT, }, Part { bits: 16, component: Component::B, mode: Mode::SFLOAT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R16G16B16_SINT, name: "R16G16B16_SINT", packed_size: None, n_parts: 3, parts: [ Part { bits: 16, component: Component::R, mode: Mode::SINT, }, Part { bits: 16, component: Component::G, mode: Mode::SINT, }, Part { bits: 16, component: Component::B, mode: Mode::SINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R16G16B16_SNORM, name: "R16G16B16_SNORM", packed_size: None, n_parts: 3, parts: [ Part { bits: 16, component: Component::R, mode: Mode::SNORM, }, Part { bits: 16, component: Component::G, mode: Mode::SNORM, }, Part { bits: 16, component: Component::B, mode: Mode::SNORM, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R16G16B16_SSCALED, name: "R16G16B16_SSCALED", packed_size: None, n_parts: 3, parts: [ Part { bits: 16, component: Component::R, mode: Mode::SSCALED, }, Part { bits: 16, component: Component::G, mode: Mode::SSCALED, }, Part { bits: 16, component: Component::B, mode: Mode::SSCALED, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R16G16B16_UINT, name: "R16G16B16_UINT", packed_size: None, n_parts: 3, parts: [ Part { bits: 16, component: Component::R, mode: Mode::UINT, }, Part { bits: 16, component: Component::G, mode: Mode::UINT, }, Part { bits: 16, component: Component::B, mode: Mode::UINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R16G16B16_UNORM, name: "R16G16B16_UNORM", packed_size: None, n_parts: 3, parts: [ Part { bits: 16, component: Component::R, mode: Mode::UNORM, }, Part { bits: 16, component: Component::G, mode: Mode::UNORM, }, Part { bits: 16, component: Component::B, mode: Mode::UNORM, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R16G16B16_USCALED, name: "R16G16B16_USCALED", packed_size: None, n_parts: 3, parts: [ Part { bits: 16, component: Component::R, mode: Mode::USCALED, }, Part { bits: 16, component: Component::G, mode: Mode::USCALED, }, Part { bits: 16, component: Component::B, mode: Mode::USCALED, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R16G16_SFLOAT, name: "R16G16_SFLOAT", packed_size: None, n_parts: 2, parts: [ Part { bits: 16, component: Component::R, mode: Mode::SFLOAT, }, Part { bits: 16, component: Component::G, mode: Mode::SFLOAT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R16G16_SINT, name: "R16G16_SINT", packed_size: None, n_parts: 2, parts: [ Part { bits: 16, component: Component::R, mode: Mode::SINT, }, Part { bits: 16, component: Component::G, mode: Mode::SINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R16G16_SNORM, name: "R16G16_SNORM", packed_size: None, n_parts: 2, parts: [ Part { bits: 16, component: Component::R, mode: Mode::SNORM, }, Part { bits: 16, component: Component::G, mode: Mode::SNORM, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R16G16_SSCALED, name: "R16G16_SSCALED", packed_size: None, n_parts: 2, parts: [ Part { bits: 16, component: Component::R, mode: Mode::SSCALED, }, Part { bits: 16, component: Component::G, mode: Mode::SSCALED, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R16G16_UINT, name: "R16G16_UINT", packed_size: None, n_parts: 2, parts: [ Part { bits: 16, component: Component::R, mode: Mode::UINT, }, Part { bits: 16, component: Component::G, mode: Mode::UINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R16G16_UNORM, name: "R16G16_UNORM", packed_size: None, n_parts: 2, parts: [ Part { bits: 16, component: Component::R, mode: Mode::UNORM, }, Part { bits: 16, component: Component::G, mode: Mode::UNORM, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R16G16_USCALED, name: "R16G16_USCALED", packed_size: None, n_parts: 2, parts: [ Part { bits: 16, component: Component::R, mode: Mode::USCALED, }, Part { bits: 16, component: Component::G, mode: Mode::USCALED, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R16_SFLOAT, name: "R16_SFLOAT", packed_size: None, n_parts: 1, parts: [ Part { bits: 16, component: Component::R, mode: Mode::SFLOAT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R16_SINT, name: "R16_SINT", packed_size: None, n_parts: 1, parts: [ Part { bits: 16, component: Component::R, mode: Mode::SINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R16_SNORM, name: "R16_SNORM", packed_size: None, n_parts: 1, parts: [ Part { bits: 16, component: Component::R, mode: Mode::SNORM, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R16_SSCALED, name: "R16_SSCALED", packed_size: None, n_parts: 1, parts: [ Part { bits: 16, component: Component::R, mode: Mode::SSCALED, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R16_UINT, name: "R16_UINT", packed_size: None, n_parts: 1, parts: [ Part { bits: 16, component: Component::R, mode: Mode::UINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R16_UNORM, name: "R16_UNORM", packed_size: None, n_parts: 1, parts: [ Part { bits: 16, component: Component::R, mode: Mode::UNORM, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R16_USCALED, name: "R16_USCALED", packed_size: None, n_parts: 1, parts: [ Part { bits: 16, component: Component::R, mode: Mode::USCALED, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R32G32B32A32_SFLOAT, name: "R32G32B32A32_SFLOAT", packed_size: None, n_parts: 4, parts: [ Part { bits: 32, component: Component::R, mode: Mode::SFLOAT, }, Part { bits: 32, component: Component::G, mode: Mode::SFLOAT, }, Part { bits: 32, component: Component::B, mode: Mode::SFLOAT, }, Part { bits: 32, component: Component::A, mode: Mode::SFLOAT, }, ] }, Format { vk_format: vk::VK_FORMAT_R32G32B32A32_SINT, name: "R32G32B32A32_SINT", packed_size: None, n_parts: 4, parts: [ Part { bits: 32, component: Component::R, mode: Mode::SINT, }, Part { bits: 32, component: Component::G, mode: Mode::SINT, }, Part { bits: 32, component: Component::B, mode: Mode::SINT, }, Part { bits: 32, component: Component::A, mode: Mode::SINT, }, ] }, Format { vk_format: vk::VK_FORMAT_R32G32B32A32_UINT, name: "R32G32B32A32_UINT", packed_size: None, n_parts: 4, parts: [ Part { bits: 32, component: Component::R, mode: Mode::UINT, }, Part { bits: 32, component: Component::G, mode: Mode::UINT, }, Part { bits: 32, component: Component::B, mode: Mode::UINT, }, Part { bits: 32, component: Component::A, mode: Mode::UINT, }, ] }, Format { vk_format: vk::VK_FORMAT_R32G32B32_SFLOAT, name: "R32G32B32_SFLOAT", packed_size: None, n_parts: 3, parts: [ Part { bits: 32, component: Component::R, mode: Mode::SFLOAT, }, Part { bits: 32, component: Component::G, mode: Mode::SFLOAT, }, Part { bits: 32, component: Component::B, mode: Mode::SFLOAT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R32G32B32_SINT, name: "R32G32B32_SINT", packed_size: None, n_parts: 3, parts: [ Part { bits: 32, component: Component::R, mode: Mode::SINT, }, Part { bits: 32, component: Component::G, mode: Mode::SINT, }, Part { bits: 32, component: Component::B, mode: Mode::SINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R32G32B32_UINT, name: "R32G32B32_UINT", packed_size: None, n_parts: 3, parts: [ Part { bits: 32, component: Component::R, mode: Mode::UINT, }, Part { bits: 32, component: Component::G, mode: Mode::UINT, }, Part { bits: 32, component: Component::B, mode: Mode::UINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R32G32_SFLOAT, name: "R32G32_SFLOAT", packed_size: None, n_parts: 2, parts: [ Part { bits: 32, component: Component::R, mode: Mode::SFLOAT, }, Part { bits: 32, component: Component::G, mode: Mode::SFLOAT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R32G32_SINT, name: "R32G32_SINT", packed_size: None, n_parts: 2, parts: [ Part { bits: 32, component: Component::R, mode: Mode::SINT, }, Part { bits: 32, component: Component::G, mode: Mode::SINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R32G32_UINT, name: "R32G32_UINT", packed_size: None, n_parts: 2, parts: [ Part { bits: 32, component: Component::R, mode: Mode::UINT, }, Part { bits: 32, component: Component::G, mode: Mode::UINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R32_SFLOAT, name: "R32_SFLOAT", packed_size: None, n_parts: 1, parts: [ Part { bits: 32, component: Component::R, mode: Mode::SFLOAT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R32_SINT, name: "R32_SINT", packed_size: None, n_parts: 1, parts: [ Part { bits: 32, component: Component::R, mode: Mode::SINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R32_UINT, name: "R32_UINT", packed_size: None, n_parts: 1, parts: [ Part { bits: 32, component: Component::R, mode: Mode::UINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R4G4B4A4_UNORM_PACK16, name: "R4G4B4A4_UNORM_PACK16", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(16) }), n_parts: 4, parts: [ Part { bits: 4, component: Component::R, mode: Mode::UNORM, }, Part { bits: 4, component: Component::G, mode: Mode::UNORM, }, Part { bits: 4, component: Component::B, mode: Mode::UNORM, }, Part { bits: 4, component: Component::A, mode: Mode::UNORM, }, ] }, Format { vk_format: vk::VK_FORMAT_R4G4_UNORM_PACK8, name: "R4G4_UNORM_PACK8", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(8) }), n_parts: 2, parts: [ Part { bits: 4, component: Component::R, mode: Mode::UNORM, }, Part { bits: 4, component: Component::G, mode: Mode::UNORM, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R5G5B5A1_UNORM_PACK16, name: "R5G5B5A1_UNORM_PACK16", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(16) }), n_parts: 4, parts: [ Part { bits: 5, component: Component::R, mode: Mode::UNORM, }, Part { bits: 5, component: Component::G, mode: Mode::UNORM, }, Part { bits: 5, component: Component::B, mode: Mode::UNORM, }, Part { bits: 1, component: Component::A, mode: Mode::UNORM, }, ] }, Format { vk_format: vk::VK_FORMAT_R5G6B5_UNORM_PACK16, name: "R5G6B5_UNORM_PACK16", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(16) }), n_parts: 3, parts: [ Part { bits: 5, component: Component::R, mode: Mode::UNORM, }, Part { bits: 6, component: Component::G, mode: Mode::UNORM, }, Part { bits: 5, component: Component::B, mode: Mode::UNORM, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R64G64B64A64_SFLOAT, name: "R64G64B64A64_SFLOAT", packed_size: None, n_parts: 4, parts: [ Part { bits: 64, component: Component::R, mode: Mode::SFLOAT, }, Part { bits: 64, component: Component::G, mode: Mode::SFLOAT, }, Part { bits: 64, component: Component::B, mode: Mode::SFLOAT, }, Part { bits: 64, component: Component::A, mode: Mode::SFLOAT, }, ] }, Format { vk_format: vk::VK_FORMAT_R64G64B64A64_SINT, name: "R64G64B64A64_SINT", packed_size: None, n_parts: 4, parts: [ Part { bits: 64, component: Component::R, mode: Mode::SINT, }, Part { bits: 64, component: Component::G, mode: Mode::SINT, }, Part { bits: 64, component: Component::B, mode: Mode::SINT, }, Part { bits: 64, component: Component::A, mode: Mode::SINT, }, ] }, Format { vk_format: vk::VK_FORMAT_R64G64B64A64_UINT, name: "R64G64B64A64_UINT", packed_size: None, n_parts: 4, parts: [ Part { bits: 64, component: Component::R, mode: Mode::UINT, }, Part { bits: 64, component: Component::G, mode: Mode::UINT, }, Part { bits: 64, component: Component::B, mode: Mode::UINT, }, Part { bits: 64, component: Component::A, mode: Mode::UINT, }, ] }, Format { vk_format: vk::VK_FORMAT_R64G64B64_SFLOAT, name: "R64G64B64_SFLOAT", packed_size: None, n_parts: 3, parts: [ Part { bits: 64, component: Component::R, mode: Mode::SFLOAT, }, Part { bits: 64, component: Component::G, mode: Mode::SFLOAT, }, Part { bits: 64, component: Component::B, mode: Mode::SFLOAT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R64G64B64_SINT, name: "R64G64B64_SINT", packed_size: None, n_parts: 3, parts: [ Part { bits: 64, component: Component::R, mode: Mode::SINT, }, Part { bits: 64, component: Component::G, mode: Mode::SINT, }, Part { bits: 64, component: Component::B, mode: Mode::SINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R64G64B64_UINT, name: "R64G64B64_UINT", packed_size: None, n_parts: 3, parts: [ Part { bits: 64, component: Component::R, mode: Mode::UINT, }, Part { bits: 64, component: Component::G, mode: Mode::UINT, }, Part { bits: 64, component: Component::B, mode: Mode::UINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R64G64_SFLOAT, name: "R64G64_SFLOAT", packed_size: None, n_parts: 2, parts: [ Part { bits: 64, component: Component::R, mode: Mode::SFLOAT, }, Part { bits: 64, component: Component::G, mode: Mode::SFLOAT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R64G64_SINT, name: "R64G64_SINT", packed_size: None, n_parts: 2, parts: [ Part { bits: 64, component: Component::R, mode: Mode::SINT, }, Part { bits: 64, component: Component::G, mode: Mode::SINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R64G64_UINT, name: "R64G64_UINT", packed_size: None, n_parts: 2, parts: [ Part { bits: 64, component: Component::R, mode: Mode::UINT, }, Part { bits: 64, component: Component::G, mode: Mode::UINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R64_SFLOAT, name: "R64_SFLOAT", packed_size: None, n_parts: 1, parts: [ Part { bits: 64, component: Component::R, mode: Mode::SFLOAT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R64_SINT, name: "R64_SINT", packed_size: None, n_parts: 1, parts: [ Part { bits: 64, component: Component::R, mode: Mode::SINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R64_UINT, name: "R64_UINT", packed_size: None, n_parts: 1, parts: [ Part { bits: 64, component: Component::R, mode: Mode::UINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R8G8B8A8_SINT, name: "R8G8B8A8_SINT", packed_size: None, n_parts: 4, parts: [ Part { bits: 8, component: Component::R, mode: Mode::SINT, }, Part { bits: 8, component: Component::G, mode: Mode::SINT, }, Part { bits: 8, component: Component::B, mode: Mode::SINT, }, Part { bits: 8, component: Component::A, mode: Mode::SINT, }, ] }, Format { vk_format: vk::VK_FORMAT_R8G8B8A8_SNORM, name: "R8G8B8A8_SNORM", packed_size: None, n_parts: 4, parts: [ Part { bits: 8, component: Component::R, mode: Mode::SNORM, }, Part { bits: 8, component: Component::G, mode: Mode::SNORM, }, Part { bits: 8, component: Component::B, mode: Mode::SNORM, }, Part { bits: 8, component: Component::A, mode: Mode::SNORM, }, ] }, Format { vk_format: vk::VK_FORMAT_R8G8B8A8_SRGB, name: "R8G8B8A8_SRGB", packed_size: None, n_parts: 4, parts: [ Part { bits: 8, component: Component::R, mode: Mode::SRGB, }, Part { bits: 8, component: Component::G, mode: Mode::SRGB, }, Part { bits: 8, component: Component::B, mode: Mode::SRGB, }, Part { bits: 8, component: Component::A, mode: Mode::SRGB, }, ] }, Format { vk_format: vk::VK_FORMAT_R8G8B8A8_SSCALED, name: "R8G8B8A8_SSCALED", packed_size: None, n_parts: 4, parts: [ Part { bits: 8, component: Component::R, mode: Mode::SSCALED, }, Part { bits: 8, component: Component::G, mode: Mode::SSCALED, }, Part { bits: 8, component: Component::B, mode: Mode::SSCALED, }, Part { bits: 8, component: Component::A, mode: Mode::SSCALED, }, ] }, Format { vk_format: vk::VK_FORMAT_R8G8B8A8_UINT, name: "R8G8B8A8_UINT", packed_size: None, n_parts: 4, parts: [ Part { bits: 8, component: Component::R, mode: Mode::UINT, }, Part { bits: 8, component: Component::G, mode: Mode::UINT, }, Part { bits: 8, component: Component::B, mode: Mode::UINT, }, Part { bits: 8, component: Component::A, mode: Mode::UINT, }, ] }, Format { vk_format: vk::VK_FORMAT_R8G8B8A8_UNORM, name: "R8G8B8A8_UNORM", packed_size: None, n_parts: 4, parts: [ Part { bits: 8, component: Component::R, mode: Mode::UNORM, }, Part { bits: 8, component: Component::G, mode: Mode::UNORM, }, Part { bits: 8, component: Component::B, mode: Mode::UNORM, }, Part { bits: 8, component: Component::A, mode: Mode::UNORM, }, ] }, Format { vk_format: vk::VK_FORMAT_R8G8B8A8_USCALED, name: "R8G8B8A8_USCALED", packed_size: None, n_parts: 4, parts: [ Part { bits: 8, component: Component::R, mode: Mode::USCALED, }, Part { bits: 8, component: Component::G, mode: Mode::USCALED, }, Part { bits: 8, component: Component::B, mode: Mode::USCALED, }, Part { bits: 8, component: Component::A, mode: Mode::USCALED, }, ] }, Format { vk_format: vk::VK_FORMAT_R8G8B8_SINT, name: "R8G8B8_SINT", packed_size: None, n_parts: 3, parts: [ Part { bits: 8, component: Component::R, mode: Mode::SINT, }, Part { bits: 8, component: Component::G, mode: Mode::SINT, }, Part { bits: 8, component: Component::B, mode: Mode::SINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R8G8B8_SNORM, name: "R8G8B8_SNORM", packed_size: None, n_parts: 3, parts: [ Part { bits: 8, component: Component::R, mode: Mode::SNORM, }, Part { bits: 8, component: Component::G, mode: Mode::SNORM, }, Part { bits: 8, component: Component::B, mode: Mode::SNORM, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R8G8B8_SRGB, name: "R8G8B8_SRGB", packed_size: None, n_parts: 3, parts: [ Part { bits: 8, component: Component::R, mode: Mode::SRGB, }, Part { bits: 8, component: Component::G, mode: Mode::SRGB, }, Part { bits: 8, component: Component::B, mode: Mode::SRGB, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R8G8B8_SSCALED, name: "R8G8B8_SSCALED", packed_size: None, n_parts: 3, parts: [ Part { bits: 8, component: Component::R, mode: Mode::SSCALED, }, Part { bits: 8, component: Component::G, mode: Mode::SSCALED, }, Part { bits: 8, component: Component::B, mode: Mode::SSCALED, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R8G8B8_UINT, name: "R8G8B8_UINT", packed_size: None, n_parts: 3, parts: [ Part { bits: 8, component: Component::R, mode: Mode::UINT, }, Part { bits: 8, component: Component::G, mode: Mode::UINT, }, Part { bits: 8, component: Component::B, mode: Mode::UINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R8G8B8_UNORM, name: "R8G8B8_UNORM", packed_size: None, n_parts: 3, parts: [ Part { bits: 8, component: Component::R, mode: Mode::UNORM, }, Part { bits: 8, component: Component::G, mode: Mode::UNORM, }, Part { bits: 8, component: Component::B, mode: Mode::UNORM, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R8G8B8_USCALED, name: "R8G8B8_USCALED", packed_size: None, n_parts: 3, parts: [ Part { bits: 8, component: Component::R, mode: Mode::USCALED, }, Part { bits: 8, component: Component::G, mode: Mode::USCALED, }, Part { bits: 8, component: Component::B, mode: Mode::USCALED, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R8G8_SINT, name: "R8G8_SINT", packed_size: None, n_parts: 2, parts: [ Part { bits: 8, component: Component::R, mode: Mode::SINT, }, Part { bits: 8, component: Component::G, mode: Mode::SINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R8G8_SNORM, name: "R8G8_SNORM", packed_size: None, n_parts: 2, parts: [ Part { bits: 8, component: Component::R, mode: Mode::SNORM, }, Part { bits: 8, component: Component::G, mode: Mode::SNORM, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R8G8_SRGB, name: "R8G8_SRGB", packed_size: None, n_parts: 2, parts: [ Part { bits: 8, component: Component::R, mode: Mode::SRGB, }, Part { bits: 8, component: Component::G, mode: Mode::SRGB, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R8G8_SSCALED, name: "R8G8_SSCALED", packed_size: None, n_parts: 2, parts: [ Part { bits: 8, component: Component::R, mode: Mode::SSCALED, }, Part { bits: 8, component: Component::G, mode: Mode::SSCALED, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R8G8_UINT, name: "R8G8_UINT", packed_size: None, n_parts: 2, parts: [ Part { bits: 8, component: Component::R, mode: Mode::UINT, }, Part { bits: 8, component: Component::G, mode: Mode::UINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R8G8_UNORM, name: "R8G8_UNORM", packed_size: None, n_parts: 2, parts: [ Part { bits: 8, component: Component::R, mode: Mode::UNORM, }, Part { bits: 8, component: Component::G, mode: Mode::UNORM, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R8G8_USCALED, name: "R8G8_USCALED", packed_size: None, n_parts: 2, parts: [ Part { bits: 8, component: Component::R, mode: Mode::USCALED, }, Part { bits: 8, component: Component::G, mode: Mode::USCALED, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R8_SINT, name: "R8_SINT", packed_size: None, n_parts: 1, parts: [ Part { bits: 8, component: Component::R, mode: Mode::SINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R8_SNORM, name: "R8_SNORM", packed_size: None, n_parts: 1, parts: [ Part { bits: 8, component: Component::R, mode: Mode::SNORM, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R8_SRGB, name: "R8_SRGB", packed_size: None, n_parts: 1, parts: [ Part { bits: 8, component: Component::R, mode: Mode::SRGB, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R8_SSCALED, name: "R8_SSCALED", packed_size: None, n_parts: 1, parts: [ Part { bits: 8, component: Component::R, mode: Mode::SSCALED, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R8_UINT, name: "R8_UINT", packed_size: None, n_parts: 1, parts: [ Part { bits: 8, component: Component::R, mode: Mode::UINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R8_UNORM, name: "R8_UNORM", packed_size: None, n_parts: 1, parts: [ Part { bits: 8, component: Component::R, mode: Mode::UNORM, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_R8_USCALED, name: "R8_USCALED", packed_size: None, n_parts: 1, parts: [ Part { bits: 8, component: Component::R, mode: Mode::USCALED, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_S8_UINT, name: "S8_UINT", packed_size: None, n_parts: 1, parts: [ Part { bits: 8, component: Component::S, mode: Mode::UINT, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, Format { vk_format: vk::VK_FORMAT_X8_D24_UNORM_PACK32, name: "X8_D24_UNORM_PACK32", packed_size: Some(unsafe { NonZeroUsize::new_unchecked(32) }), n_parts: 2, parts: [ Part { bits: 8, component: Component::X, mode: Mode::UNORM, }, Part { bits: 24, component: Component::D, mode: Mode::UNORM, }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, // stub to fill the array Part { bits: 0, component: Component::R, mode: Mode::UNORM }, ] }, ]; ```