#[non_exhaustive]#[repr(i32)]pub enum Format {
Show 248 variants
UNDEFINED = 0,
R4G4_UNORM_PACK8 = 1,
R4G4B4A4_UNORM_PACK16 = 2,
B4G4R4A4_UNORM_PACK16 = 3,
R5G6B5_UNORM_PACK16 = 4,
B5G6R5_UNORM_PACK16 = 5,
R5G5B5A1_UNORM_PACK16 = 6,
B5G5R5A1_UNORM_PACK16 = 7,
A1R5G5B5_UNORM_PACK16 = 8,
R8_UNORM = 9,
R8_SNORM = 10,
R8_USCALED = 11,
R8_SSCALED = 12,
R8_UINT = 13,
R8_SINT = 14,
R8_SRGB = 15,
R8G8_UNORM = 16,
R8G8_SNORM = 17,
R8G8_USCALED = 18,
R8G8_SSCALED = 19,
R8G8_UINT = 20,
R8G8_SINT = 21,
R8G8_SRGB = 22,
R8G8B8_UNORM = 23,
R8G8B8_SNORM = 24,
R8G8B8_USCALED = 25,
R8G8B8_SSCALED = 26,
R8G8B8_UINT = 27,
R8G8B8_SINT = 28,
R8G8B8_SRGB = 29,
B8G8R8_UNORM = 30,
B8G8R8_SNORM = 31,
B8G8R8_USCALED = 32,
B8G8R8_SSCALED = 33,
B8G8R8_UINT = 34,
B8G8R8_SINT = 35,
B8G8R8_SRGB = 36,
R8G8B8A8_UNORM = 37,
R8G8B8A8_SNORM = 38,
R8G8B8A8_USCALED = 39,
R8G8B8A8_SSCALED = 40,
R8G8B8A8_UINT = 41,
R8G8B8A8_SINT = 42,
R8G8B8A8_SRGB = 43,
B8G8R8A8_UNORM = 44,
B8G8R8A8_SNORM = 45,
B8G8R8A8_USCALED = 46,
B8G8R8A8_SSCALED = 47,
B8G8R8A8_UINT = 48,
B8G8R8A8_SINT = 49,
B8G8R8A8_SRGB = 50,
A8B8G8R8_UNORM_PACK32 = 51,
A8B8G8R8_SNORM_PACK32 = 52,
A8B8G8R8_USCALED_PACK32 = 53,
A8B8G8R8_SSCALED_PACK32 = 54,
A8B8G8R8_UINT_PACK32 = 55,
A8B8G8R8_SINT_PACK32 = 56,
A8B8G8R8_SRGB_PACK32 = 57,
A2R10G10B10_UNORM_PACK32 = 58,
A2R10G10B10_SNORM_PACK32 = 59,
A2R10G10B10_USCALED_PACK32 = 60,
A2R10G10B10_SSCALED_PACK32 = 61,
A2R10G10B10_UINT_PACK32 = 62,
A2R10G10B10_SINT_PACK32 = 63,
A2B10G10R10_UNORM_PACK32 = 64,
A2B10G10R10_SNORM_PACK32 = 65,
A2B10G10R10_USCALED_PACK32 = 66,
A2B10G10R10_SSCALED_PACK32 = 67,
A2B10G10R10_UINT_PACK32 = 68,
A2B10G10R10_SINT_PACK32 = 69,
R16_UNORM = 70,
R16_SNORM = 71,
R16_USCALED = 72,
R16_SSCALED = 73,
R16_UINT = 74,
R16_SINT = 75,
R16_SFLOAT = 76,
R16G16_UNORM = 77,
R16G16_SNORM = 78,
R16G16_USCALED = 79,
R16G16_SSCALED = 80,
R16G16_UINT = 81,
R16G16_SINT = 82,
R16G16_SFLOAT = 83,
R16G16B16_UNORM = 84,
R16G16B16_SNORM = 85,
R16G16B16_USCALED = 86,
R16G16B16_SSCALED = 87,
R16G16B16_UINT = 88,
R16G16B16_SINT = 89,
R16G16B16_SFLOAT = 90,
R16G16B16A16_UNORM = 91,
R16G16B16A16_SNORM = 92,
R16G16B16A16_USCALED = 93,
R16G16B16A16_SSCALED = 94,
R16G16B16A16_UINT = 95,
R16G16B16A16_SINT = 96,
R16G16B16A16_SFLOAT = 97,
R32_UINT = 98,
R32_SINT = 99,
R32_SFLOAT = 100,
R32G32_UINT = 101,
R32G32_SINT = 102,
R32G32_SFLOAT = 103,
R32G32B32_UINT = 104,
R32G32B32_SINT = 105,
R32G32B32_SFLOAT = 106,
R32G32B32A32_UINT = 107,
R32G32B32A32_SINT = 108,
R32G32B32A32_SFLOAT = 109,
R64_UINT = 110,
R64_SINT = 111,
R64_SFLOAT = 112,
R64G64_UINT = 113,
R64G64_SINT = 114,
R64G64_SFLOAT = 115,
R64G64B64_UINT = 116,
R64G64B64_SINT = 117,
R64G64B64_SFLOAT = 118,
R64G64B64A64_UINT = 119,
R64G64B64A64_SINT = 120,
R64G64B64A64_SFLOAT = 121,
B10G11R11_UFLOAT_PACK32 = 122,
E5B9G9R9_UFLOAT_PACK32 = 123,
D16_UNORM = 124,
X8_D24_UNORM_PACK32 = 125,
D32_SFLOAT = 126,
S8_UINT = 127,
D16_UNORM_S8_UINT = 128,
D24_UNORM_S8_UINT = 129,
D32_SFLOAT_S8_UINT = 130,
BC1_RGB_UNORM_BLOCK = 131,
BC1_RGB_SRGB_BLOCK = 132,
BC1_RGBA_UNORM_BLOCK = 133,
BC1_RGBA_SRGB_BLOCK = 134,
BC2_UNORM_BLOCK = 135,
BC2_SRGB_BLOCK = 136,
BC3_UNORM_BLOCK = 137,
BC3_SRGB_BLOCK = 138,
BC4_UNORM_BLOCK = 139,
BC4_SNORM_BLOCK = 140,
BC5_UNORM_BLOCK = 141,
BC5_SNORM_BLOCK = 142,
BC6H_UFLOAT_BLOCK = 143,
BC6H_SFLOAT_BLOCK = 144,
BC7_UNORM_BLOCK = 145,
BC7_SRGB_BLOCK = 146,
ETC2_R8G8B8_UNORM_BLOCK = 147,
ETC2_R8G8B8_SRGB_BLOCK = 148,
ETC2_R8G8B8A1_UNORM_BLOCK = 149,
ETC2_R8G8B8A1_SRGB_BLOCK = 150,
ETC2_R8G8B8A8_UNORM_BLOCK = 151,
ETC2_R8G8B8A8_SRGB_BLOCK = 152,
EAC_R11_UNORM_BLOCK = 153,
EAC_R11_SNORM_BLOCK = 154,
EAC_R11G11_UNORM_BLOCK = 155,
EAC_R11G11_SNORM_BLOCK = 156,
ASTC_4x4_UNORM_BLOCK = 157,
ASTC_4x4_SRGB_BLOCK = 158,
ASTC_5x4_UNORM_BLOCK = 159,
ASTC_5x4_SRGB_BLOCK = 160,
ASTC_5x5_UNORM_BLOCK = 161,
ASTC_5x5_SRGB_BLOCK = 162,
ASTC_6x5_UNORM_BLOCK = 163,
ASTC_6x5_SRGB_BLOCK = 164,
ASTC_6x6_UNORM_BLOCK = 165,
ASTC_6x6_SRGB_BLOCK = 166,
ASTC_8x5_UNORM_BLOCK = 167,
ASTC_8x5_SRGB_BLOCK = 168,
ASTC_8x6_UNORM_BLOCK = 169,
ASTC_8x6_SRGB_BLOCK = 170,
ASTC_8x8_UNORM_BLOCK = 171,
ASTC_8x8_SRGB_BLOCK = 172,
ASTC_10x5_UNORM_BLOCK = 173,
ASTC_10x5_SRGB_BLOCK = 174,
ASTC_10x6_UNORM_BLOCK = 175,
ASTC_10x6_SRGB_BLOCK = 176,
ASTC_10x8_UNORM_BLOCK = 177,
ASTC_10x8_SRGB_BLOCK = 178,
ASTC_10x10_UNORM_BLOCK = 179,
ASTC_10x10_SRGB_BLOCK = 180,
ASTC_12x10_UNORM_BLOCK = 181,
ASTC_12x10_SRGB_BLOCK = 182,
ASTC_12x12_UNORM_BLOCK = 183,
ASTC_12x12_SRGB_BLOCK = 184,
G8B8G8R8_422_UNORM = 1_000_156_000,
B8G8R8G8_422_UNORM = 1_000_156_001,
G8_B8_R8_3PLANE_420_UNORM = 1_000_156_002,
G8_B8R8_2PLANE_420_UNORM = 1_000_156_003,
G8_B8_R8_3PLANE_422_UNORM = 1_000_156_004,
G8_B8R8_2PLANE_422_UNORM = 1_000_156_005,
G8_B8_R8_3PLANE_444_UNORM = 1_000_156_006,
R10X6_UNORM_PACK16 = 1_000_156_007,
R10X6G10X6_UNORM_2PACK16 = 1_000_156_008,
R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1_000_156_009,
G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1_000_156_010,
B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1_000_156_011,
G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1_000_156_012,
G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1_000_156_013,
G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1_000_156_014,
G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1_000_156_015,
G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1_000_156_016,
R12X4_UNORM_PACK16 = 1_000_156_017,
R12X4G12X4_UNORM_2PACK16 = 1_000_156_018,
R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1_000_156_019,
G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1_000_156_020,
B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1_000_156_021,
G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1_000_156_022,
G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1_000_156_023,
G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1_000_156_024,
G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1_000_156_025,
G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1_000_156_026,
G16B16G16R16_422_UNORM = 1_000_156_027,
B16G16R16G16_422_UNORM = 1_000_156_028,
G16_B16_R16_3PLANE_420_UNORM = 1_000_156_029,
G16_B16R16_2PLANE_420_UNORM = 1_000_156_030,
G16_B16_R16_3PLANE_422_UNORM = 1_000_156_031,
G16_B16R16_2PLANE_422_UNORM = 1_000_156_032,
G16_B16_R16_3PLANE_444_UNORM = 1_000_156_033,
PVRTC1_2BPP_UNORM_BLOCK = 1_000_054_000,
PVRTC1_4BPP_UNORM_BLOCK = 1_000_054_001,
PVRTC2_2BPP_UNORM_BLOCK = 1_000_054_002,
PVRTC2_4BPP_UNORM_BLOCK = 1_000_054_003,
PVRTC1_2BPP_SRGB_BLOCK = 1_000_054_004,
PVRTC1_4BPP_SRGB_BLOCK = 1_000_054_005,
PVRTC2_2BPP_SRGB_BLOCK = 1_000_054_006,
PVRTC2_4BPP_SRGB_BLOCK = 1_000_054_007,
ASTC_4x4_SFLOAT_BLOCK = 1_000_066_000,
ASTC_5x4_SFLOAT_BLOCK = 1_000_066_001,
ASTC_5x5_SFLOAT_BLOCK = 1_000_066_002,
ASTC_6x5_SFLOAT_BLOCK = 1_000_066_003,
ASTC_6x6_SFLOAT_BLOCK = 1_000_066_004,
ASTC_8x5_SFLOAT_BLOCK = 1_000_066_005,
ASTC_8x6_SFLOAT_BLOCK = 1_000_066_006,
ASTC_8x8_SFLOAT_BLOCK = 1_000_066_007,
ASTC_10x5_SFLOAT_BLOCK = 1_000_066_008,
ASTC_10x6_SFLOAT_BLOCK = 1_000_066_009,
ASTC_10x8_SFLOAT_BLOCK = 1_000_066_010,
ASTC_10x10_SFLOAT_BLOCK = 1_000_066_011,
ASTC_12x10_SFLOAT_BLOCK = 1_000_066_012,
ASTC_12x12_SFLOAT_BLOCK = 1_000_066_013,
G8_B8R8_2PLANE_444_UNORM = 1_000_330_000,
G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 1_000_330_001,
G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 1_000_330_002,
G16_B16R16_2PLANE_444_UNORM = 1_000_330_003,
A4R4G4B4_UNORM_PACK16 = 1_000_340_000,
A4B4G4R4_UNORM_PACK16 = 1_000_340_001,
R16G16_S10_5_NV = 1_000_464_000,
}
Expand description
An enumeration of all the possible formats.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
UNDEFINED = 0
R4G4_UNORM_PACK8 = 1
R4G4B4A4_UNORM_PACK16 = 2
B4G4R4A4_UNORM_PACK16 = 3
R5G6B5_UNORM_PACK16 = 4
B5G6R5_UNORM_PACK16 = 5
R5G5B5A1_UNORM_PACK16 = 6
B5G5R5A1_UNORM_PACK16 = 7
A1R5G5B5_UNORM_PACK16 = 8
R8_UNORM = 9
R8_SNORM = 10
R8_USCALED = 11
R8_SSCALED = 12
R8_UINT = 13
R8_SINT = 14
R8_SRGB = 15
R8G8_UNORM = 16
R8G8_SNORM = 17
R8G8_USCALED = 18
R8G8_SSCALED = 19
R8G8_UINT = 20
R8G8_SINT = 21
R8G8_SRGB = 22
R8G8B8_UNORM = 23
R8G8B8_SNORM = 24
R8G8B8_USCALED = 25
R8G8B8_SSCALED = 26
R8G8B8_UINT = 27
R8G8B8_SINT = 28
R8G8B8_SRGB = 29
B8G8R8_UNORM = 30
B8G8R8_SNORM = 31
B8G8R8_USCALED = 32
B8G8R8_SSCALED = 33
B8G8R8_UINT = 34
B8G8R8_SINT = 35
B8G8R8_SRGB = 36
R8G8B8A8_UNORM = 37
R8G8B8A8_SNORM = 38
R8G8B8A8_USCALED = 39
R8G8B8A8_SSCALED = 40
R8G8B8A8_UINT = 41
R8G8B8A8_SINT = 42
R8G8B8A8_SRGB = 43
B8G8R8A8_UNORM = 44
B8G8R8A8_SNORM = 45
B8G8R8A8_USCALED = 46
B8G8R8A8_SSCALED = 47
B8G8R8A8_UINT = 48
B8G8R8A8_SINT = 49
B8G8R8A8_SRGB = 50
A8B8G8R8_UNORM_PACK32 = 51
A8B8G8R8_SNORM_PACK32 = 52
A8B8G8R8_USCALED_PACK32 = 53
A8B8G8R8_SSCALED_PACK32 = 54
A8B8G8R8_UINT_PACK32 = 55
A8B8G8R8_SINT_PACK32 = 56
A8B8G8R8_SRGB_PACK32 = 57
A2R10G10B10_UNORM_PACK32 = 58
A2R10G10B10_SNORM_PACK32 = 59
A2R10G10B10_USCALED_PACK32 = 60
A2R10G10B10_SSCALED_PACK32 = 61
A2R10G10B10_UINT_PACK32 = 62
A2R10G10B10_SINT_PACK32 = 63
A2B10G10R10_UNORM_PACK32 = 64
A2B10G10R10_SNORM_PACK32 = 65
A2B10G10R10_USCALED_PACK32 = 66
A2B10G10R10_SSCALED_PACK32 = 67
A2B10G10R10_UINT_PACK32 = 68
A2B10G10R10_SINT_PACK32 = 69
R16_UNORM = 70
R16_SNORM = 71
R16_USCALED = 72
R16_SSCALED = 73
R16_UINT = 74
R16_SINT = 75
R16_SFLOAT = 76
R16G16_UNORM = 77
R16G16_SNORM = 78
R16G16_USCALED = 79
R16G16_SSCALED = 80
R16G16_UINT = 81
R16G16_SINT = 82
R16G16_SFLOAT = 83
R16G16B16_UNORM = 84
R16G16B16_SNORM = 85
R16G16B16_USCALED = 86
R16G16B16_SSCALED = 87
R16G16B16_UINT = 88
R16G16B16_SINT = 89
R16G16B16_SFLOAT = 90
R16G16B16A16_UNORM = 91
R16G16B16A16_SNORM = 92
R16G16B16A16_USCALED = 93
R16G16B16A16_SSCALED = 94
R16G16B16A16_UINT = 95
R16G16B16A16_SINT = 96
R16G16B16A16_SFLOAT = 97
R32_UINT = 98
R32_SINT = 99
R32_SFLOAT = 100
R32G32_UINT = 101
R32G32_SINT = 102
R32G32_SFLOAT = 103
R32G32B32_UINT = 104
R32G32B32_SINT = 105
R32G32B32_SFLOAT = 106
R32G32B32A32_UINT = 107
R32G32B32A32_SINT = 108
R32G32B32A32_SFLOAT = 109
R64_UINT = 110
R64_SINT = 111
R64_SFLOAT = 112
R64G64_UINT = 113
R64G64_SINT = 114
R64G64_SFLOAT = 115
R64G64B64_UINT = 116
R64G64B64_SINT = 117
R64G64B64_SFLOAT = 118
R64G64B64A64_UINT = 119
R64G64B64A64_SINT = 120
R64G64B64A64_SFLOAT = 121
B10G11R11_UFLOAT_PACK32 = 122
E5B9G9R9_UFLOAT_PACK32 = 123
D16_UNORM = 124
X8_D24_UNORM_PACK32 = 125
D32_SFLOAT = 126
S8_UINT = 127
D16_UNORM_S8_UINT = 128
D24_UNORM_S8_UINT = 129
D32_SFLOAT_S8_UINT = 130
BC1_RGB_UNORM_BLOCK = 131
BC1_RGB_SRGB_BLOCK = 132
BC1_RGBA_UNORM_BLOCK = 133
BC1_RGBA_SRGB_BLOCK = 134
BC2_UNORM_BLOCK = 135
BC2_SRGB_BLOCK = 136
BC3_UNORM_BLOCK = 137
BC3_SRGB_BLOCK = 138
BC4_UNORM_BLOCK = 139
BC4_SNORM_BLOCK = 140
BC5_UNORM_BLOCK = 141
BC5_SNORM_BLOCK = 142
BC6H_UFLOAT_BLOCK = 143
BC6H_SFLOAT_BLOCK = 144
BC7_UNORM_BLOCK = 145
BC7_SRGB_BLOCK = 146
ETC2_R8G8B8_UNORM_BLOCK = 147
ETC2_R8G8B8_SRGB_BLOCK = 148
ETC2_R8G8B8A1_UNORM_BLOCK = 149
ETC2_R8G8B8A1_SRGB_BLOCK = 150
ETC2_R8G8B8A8_UNORM_BLOCK = 151
ETC2_R8G8B8A8_SRGB_BLOCK = 152
EAC_R11_UNORM_BLOCK = 153
EAC_R11_SNORM_BLOCK = 154
EAC_R11G11_UNORM_BLOCK = 155
EAC_R11G11_SNORM_BLOCK = 156
ASTC_4x4_UNORM_BLOCK = 157
ASTC_4x4_SRGB_BLOCK = 158
ASTC_5x4_UNORM_BLOCK = 159
ASTC_5x4_SRGB_BLOCK = 160
ASTC_5x5_UNORM_BLOCK = 161
ASTC_5x5_SRGB_BLOCK = 162
ASTC_6x5_UNORM_BLOCK = 163
ASTC_6x5_SRGB_BLOCK = 164
ASTC_6x6_UNORM_BLOCK = 165
ASTC_6x6_SRGB_BLOCK = 166
ASTC_8x5_UNORM_BLOCK = 167
ASTC_8x5_SRGB_BLOCK = 168
ASTC_8x6_UNORM_BLOCK = 169
ASTC_8x6_SRGB_BLOCK = 170
ASTC_8x8_UNORM_BLOCK = 171
ASTC_8x8_SRGB_BLOCK = 172
ASTC_10x5_UNORM_BLOCK = 173
ASTC_10x5_SRGB_BLOCK = 174
ASTC_10x6_UNORM_BLOCK = 175
ASTC_10x6_SRGB_BLOCK = 176
ASTC_10x8_UNORM_BLOCK = 177
ASTC_10x8_SRGB_BLOCK = 178
ASTC_10x10_UNORM_BLOCK = 179
ASTC_10x10_SRGB_BLOCK = 180
ASTC_12x10_UNORM_BLOCK = 181
ASTC_12x10_SRGB_BLOCK = 182
ASTC_12x12_UNORM_BLOCK = 183
ASTC_12x12_SRGB_BLOCK = 184
G8B8G8R8_422_UNORM = 1_000_156_000
B8G8R8G8_422_UNORM = 1_000_156_001
G8_B8_R8_3PLANE_420_UNORM = 1_000_156_002
G8_B8R8_2PLANE_420_UNORM = 1_000_156_003
G8_B8_R8_3PLANE_422_UNORM = 1_000_156_004
G8_B8R8_2PLANE_422_UNORM = 1_000_156_005
G8_B8_R8_3PLANE_444_UNORM = 1_000_156_006
R10X6_UNORM_PACK16 = 1_000_156_007
R10X6G10X6_UNORM_2PACK16 = 1_000_156_008
R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1_000_156_009
G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1_000_156_010
B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1_000_156_011
G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1_000_156_012
G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1_000_156_013
G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1_000_156_014
G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1_000_156_015
G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1_000_156_016
R12X4_UNORM_PACK16 = 1_000_156_017
R12X4G12X4_UNORM_2PACK16 = 1_000_156_018
R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1_000_156_019
G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1_000_156_020
B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1_000_156_021
G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1_000_156_022
G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1_000_156_023
G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1_000_156_024
G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1_000_156_025
G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1_000_156_026
G16B16G16R16_422_UNORM = 1_000_156_027
B16G16R16G16_422_UNORM = 1_000_156_028
G16_B16_R16_3PLANE_420_UNORM = 1_000_156_029
G16_B16R16_2PLANE_420_UNORM = 1_000_156_030
G16_B16_R16_3PLANE_422_UNORM = 1_000_156_031
G16_B16R16_2PLANE_422_UNORM = 1_000_156_032
G16_B16_R16_3PLANE_444_UNORM = 1_000_156_033
PVRTC1_2BPP_UNORM_BLOCK = 1_000_054_000
PVRTC1_4BPP_UNORM_BLOCK = 1_000_054_001
PVRTC2_2BPP_UNORM_BLOCK = 1_000_054_002
PVRTC2_4BPP_UNORM_BLOCK = 1_000_054_003
PVRTC1_2BPP_SRGB_BLOCK = 1_000_054_004
PVRTC1_4BPP_SRGB_BLOCK = 1_000_054_005
PVRTC2_2BPP_SRGB_BLOCK = 1_000_054_006
PVRTC2_4BPP_SRGB_BLOCK = 1_000_054_007
ASTC_4x4_SFLOAT_BLOCK = 1_000_066_000
ASTC_5x4_SFLOAT_BLOCK = 1_000_066_001
ASTC_5x5_SFLOAT_BLOCK = 1_000_066_002
ASTC_6x5_SFLOAT_BLOCK = 1_000_066_003
ASTC_6x6_SFLOAT_BLOCK = 1_000_066_004
ASTC_8x5_SFLOAT_BLOCK = 1_000_066_005
ASTC_8x6_SFLOAT_BLOCK = 1_000_066_006
ASTC_8x8_SFLOAT_BLOCK = 1_000_066_007
ASTC_10x5_SFLOAT_BLOCK = 1_000_066_008
ASTC_10x6_SFLOAT_BLOCK = 1_000_066_009
ASTC_10x8_SFLOAT_BLOCK = 1_000_066_010
ASTC_10x10_SFLOAT_BLOCK = 1_000_066_011
ASTC_12x10_SFLOAT_BLOCK = 1_000_066_012
ASTC_12x12_SFLOAT_BLOCK = 1_000_066_013
G8_B8R8_2PLANE_444_UNORM = 1_000_330_000
G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 1_000_330_001
G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 1_000_330_002
G16_B16R16_2PLANE_444_UNORM = 1_000_330_003
A4R4G4B4_UNORM_PACK16 = 1_000_340_000
A4B4G4R4_UNORM_PACK16 = 1_000_340_001
R16G16_S10_5_NV = 1_000_464_000
Implementations§
source§impl Format
impl Format
sourcepub fn aspects(self) -> ImageAspects
pub fn aspects(self) -> ImageAspects
Returns the aspects that images of this format have.
sourcepub fn block_extent(self) -> [u32; 3]
pub fn block_extent(self) -> [u32; 3]
Returns the extent in texels (horizontally and vertically) of a single texel block of this format. A texel block is a rectangle of pixels that is represented by a single element of this format. It is also the minimum granularity of the extent of an image; images must always have an extent that’s a multiple of the block extent.
For normal formats, the block extent is [1, 1, 1], meaning that each element of the format represents one texel. Block-compressed formats encode multiple texels into a single element. The 422 and 420 YCbCr formats have a block extent of [2, 1, 1] and [2, 2, 1] respectively, as the red and blue components are shared across multiple texels.
sourcepub fn block_size(self) -> DeviceSize
pub fn block_size(self) -> DeviceSize
Returns the size in bytes of a single texel block of this format.
For regular formats, this is the size of a single texel, but for more specialized formats this may be the size of multiple texels.
Multi-planar formats store the color components disjointly in memory, and therefore the texels do not form a single texel block. The block size for such formats indicates the sum of the block size of each plane.
sourcepub fn compatibility(self) -> FormatCompatibility
pub fn compatibility(self) -> FormatCompatibility
Returns the an opaque object representing the compatibility class of the format. This can be used to determine whether two formats are compatible for the purposes of certain Vulkan operations, such as image copying.
sourcepub fn components(self) -> [u8; 4]
pub fn components(self) -> [u8; 4]
Returns the number of bits per texel block that each component (R, G, B, A) is represented with. Components that are not present in the format have 0 bits.
For depth/stencil formats, the depth component is the first, stencil the second. For multi-planar formats, this is the number of bits across all planes.
For block-compressed formats, the number of bits in individual components is not well-defined, and the return value is merely binary: 1 indicates a component that is present in the format, 0 indicates one that is absent.
sourcepub fn compression(self) -> Option<CompressionType>
pub fn compression(self) -> Option<CompressionType>
Returns the block compression scheme used for this format, if any. Returns None
if
the format does not use compression.
sourcepub fn planes(self) -> &'static [Self]
pub fn planes(self) -> &'static [Self]
For multi-planar formats, returns a slice of length 2 or 3, containing the equivalent regular format of each plane.
For non-planar formats, returns the empty slice.
sourcepub fn texels_per_block(self) -> u8
pub fn texels_per_block(self) -> u8
Returns the number of texels for a single texel block. For most formats, this is
the product of the block_extent
elements, but for some it differs.
sourcepub fn numeric_format_color(self) -> Option<NumericFormat>
pub fn numeric_format_color(self) -> Option<NumericFormat>
Returns the numeric format of the color aspect of this format. Returns None
for depth/stencil formats.
sourcepub fn numeric_format_depth(self) -> Option<NumericFormat>
pub fn numeric_format_depth(self) -> Option<NumericFormat>
Returns the numeric format of the depth aspect of this format. Returns None
color and stencil-only formats.
sourcepub fn numeric_format_stencil(self) -> Option<NumericFormat>
pub fn numeric_format_stencil(self) -> Option<NumericFormat>
Returns the numeric format of the stencil aspect of this format. Returns None
for color and depth-only formats.
sourcepub fn ycbcr_chroma_sampling(self) -> Option<ChromaSampling>
pub fn ycbcr_chroma_sampling(self) -> Option<ChromaSampling>
For YCbCr (YUV) formats, returns the way in which the chroma components are
represented. Returns None
for non-YCbCr formats.
If an image view is created for one of the formats for which this function returns
Some
, with the color
aspect selected, then the view and any samplers that sample
it must be created with an attached sampler YCbCr conversion object.
source§impl Format
impl Format
sourcepub fn properties(self, physical_device: PhysicalDevice) -> FormatProperties
👎Deprecated since 0.28.0: use PhysicalDevice::format_properties instead
pub fn properties(self, physical_device: PhysicalDevice) -> FormatProperties
Retrieves the properties of a format when used by a certain device.
sourcepub fn shader_storage_image_without_format(self) -> bool
pub fn shader_storage_image_without_format(self) -> bool
Returns whether the format can be used with a storage image, without specifying
the format in the shader, if the
shader_storage_image_read_without_format
and/or
shader_storage_image_write_without_format
features are enabled on the device.