Enum vulkano::format::Format

source ·
#[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
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future 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

Implementations§

source§

impl Format

source

pub fn aspects(self) -> ImageAspects

Returns the aspects that images of this format have.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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

source

pub fn properties(self, physical_device: PhysicalDevice) -> FormatProperties

👎Deprecated since 0.28.0: use PhysicalDevice::format_properties instead

Retrieves the properties of a format when used by a certain device.

source

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.

Trait Implementations§

source§

impl Clone for Format

source§

fn clone(&self) -> Format

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Format

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Format

source§

fn default() -> Format

Returns the “default value” for a type. Read more
source§

impl From<Format> for Format

source§

fn from(val: Format) -> Self

Converts to this type from the input type.
source§

impl Hash for Format

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for Format

source§

fn eq(&self, other: &Format) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl TryFrom<Format> for Format

§

type Error = ()

The type returned in the event of a conversion error.
source§

fn try_from(val: Format) -> Result<Format, ()>

Performs the conversion.
source§

impl Copy for Format

source§

impl Eq for Format

source§

impl StructuralEq for Format

source§

impl StructuralPartialEq for Format

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.