lava/vulkan/vk/
vk_format.rs

1// Generated by `scripts/generate.js`
2
3use utils::vk_traits::*;
4
5/// Wrapper for [VkFormat](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkFormat.html).
6#[repr(i32)]
7#[derive(Debug, PartialEq, Copy, Clone)]
8pub enum VkFormat {
9    Undefined = 0,
10    R4G4UnormPack8 = 1,
11    R4G4B4A4UnormPack16 = 2,
12    B4G4R4A4UnormPack16 = 3,
13    R5G6B5UnormPack16 = 4,
14    B5G6R5UnormPack16 = 5,
15    R5G5B5A1UnormPack16 = 6,
16    B5G5R5A1UnormPack16 = 7,
17    A1R5G5B5UnormPack16 = 8,
18    R8Unorm = 9,
19    R8Snorm = 10,
20    R8Uscaled = 11,
21    R8Sscaled = 12,
22    R8Uint = 13,
23    R8Sint = 14,
24    R8Srgb = 15,
25    R8G8Unorm = 16,
26    R8G8Snorm = 17,
27    R8G8Uscaled = 18,
28    R8G8Sscaled = 19,
29    R8G8Uint = 20,
30    R8G8Sint = 21,
31    R8G8Srgb = 22,
32    R8G8B8Unorm = 23,
33    R8G8B8Snorm = 24,
34    R8G8B8Uscaled = 25,
35    R8G8B8Sscaled = 26,
36    R8G8B8Uint = 27,
37    R8G8B8Sint = 28,
38    R8G8B8Srgb = 29,
39    B8G8R8Unorm = 30,
40    B8G8R8Snorm = 31,
41    B8G8R8Uscaled = 32,
42    B8G8R8Sscaled = 33,
43    B8G8R8Uint = 34,
44    B8G8R8Sint = 35,
45    B8G8R8Srgb = 36,
46    R8G8B8A8Unorm = 37,
47    R8G8B8A8Snorm = 38,
48    R8G8B8A8Uscaled = 39,
49    R8G8B8A8Sscaled = 40,
50    R8G8B8A8Uint = 41,
51    R8G8B8A8Sint = 42,
52    R8G8B8A8Srgb = 43,
53    B8G8R8A8Unorm = 44,
54    B8G8R8A8Snorm = 45,
55    B8G8R8A8Uscaled = 46,
56    B8G8R8A8Sscaled = 47,
57    B8G8R8A8Uint = 48,
58    B8G8R8A8Sint = 49,
59    B8G8R8A8Srgb = 50,
60    A8B8G8R8UnormPack32 = 51,
61    A8B8G8R8SnormPack32 = 52,
62    A8B8G8R8UscaledPack32 = 53,
63    A8B8G8R8SscaledPack32 = 54,
64    A8B8G8R8UintPack32 = 55,
65    A8B8G8R8SintPack32 = 56,
66    A8B8G8R8SrgbPack32 = 57,
67    A2R10G10B10UnormPack32 = 58,
68    A2R10G10B10SnormPack32 = 59,
69    A2R10G10B10UscaledPack32 = 60,
70    A2R10G10B10SscaledPack32 = 61,
71    A2R10G10B10UintPack32 = 62,
72    A2R10G10B10SintPack32 = 63,
73    A2B10G10R10UnormPack32 = 64,
74    A2B10G10R10SnormPack32 = 65,
75    A2B10G10R10UscaledPack32 = 66,
76    A2B10G10R10SscaledPack32 = 67,
77    A2B10G10R10UintPack32 = 68,
78    A2B10G10R10SintPack32 = 69,
79    R16Unorm = 70,
80    R16Snorm = 71,
81    R16Uscaled = 72,
82    R16Sscaled = 73,
83    R16Uint = 74,
84    R16Sint = 75,
85    R16Sfloat = 76,
86    R16G16Unorm = 77,
87    R16G16Snorm = 78,
88    R16G16Uscaled = 79,
89    R16G16Sscaled = 80,
90    R16G16Uint = 81,
91    R16G16Sint = 82,
92    R16G16Sfloat = 83,
93    R16G16B16Unorm = 84,
94    R16G16B16Snorm = 85,
95    R16G16B16Uscaled = 86,
96    R16G16B16Sscaled = 87,
97    R16G16B16Uint = 88,
98    R16G16B16Sint = 89,
99    R16G16B16Sfloat = 90,
100    R16G16B16A16Unorm = 91,
101    R16G16B16A16Snorm = 92,
102    R16G16B16A16Uscaled = 93,
103    R16G16B16A16Sscaled = 94,
104    R16G16B16A16Uint = 95,
105    R16G16B16A16Sint = 96,
106    R16G16B16A16Sfloat = 97,
107    R32Uint = 98,
108    R32Sint = 99,
109    R32Sfloat = 100,
110    R32G32Uint = 101,
111    R32G32Sint = 102,
112    R32G32Sfloat = 103,
113    R32G32B32Uint = 104,
114    R32G32B32Sint = 105,
115    R32G32B32Sfloat = 106,
116    R32G32B32A32Uint = 107,
117    R32G32B32A32Sint = 108,
118    R32G32B32A32Sfloat = 109,
119    R64Uint = 110,
120    R64Sint = 111,
121    R64Sfloat = 112,
122    R64G64Uint = 113,
123    R64G64Sint = 114,
124    R64G64Sfloat = 115,
125    R64G64B64Uint = 116,
126    R64G64B64Sint = 117,
127    R64G64B64Sfloat = 118,
128    R64G64B64A64Uint = 119,
129    R64G64B64A64Sint = 120,
130    R64G64B64A64Sfloat = 121,
131    B10G11R11UfloatPack32 = 122,
132    E5B9G9R9UfloatPack32 = 123,
133    D16Unorm = 124,
134    X8D24UnormPack32 = 125,
135    D32Sfloat = 126,
136    S8Uint = 127,
137    D16UnormS8Uint = 128,
138    D24UnormS8Uint = 129,
139    D32SfloatS8Uint = 130,
140    Bc1RgbUnormBlock = 131,
141    Bc1RgbSrgbBlock = 132,
142    Bc1RgbaUnormBlock = 133,
143    Bc1RgbaSrgbBlock = 134,
144    Bc2UnormBlock = 135,
145    Bc2SrgbBlock = 136,
146    Bc3UnormBlock = 137,
147    Bc3SrgbBlock = 138,
148    Bc4UnormBlock = 139,
149    Bc4SnormBlock = 140,
150    Bc5UnormBlock = 141,
151    Bc5SnormBlock = 142,
152    Bc6hUfloatBlock = 143,
153    Bc6hSfloatBlock = 144,
154    Bc7UnormBlock = 145,
155    Bc7SrgbBlock = 146,
156    Etc2R8G8B8UnormBlock = 147,
157    Etc2R8G8B8SrgbBlock = 148,
158    Etc2R8G8B8A1UnormBlock = 149,
159    Etc2R8G8B8A1SrgbBlock = 150,
160    Etc2R8G8B8A8UnormBlock = 151,
161    Etc2R8G8B8A8SrgbBlock = 152,
162    EacR11UnormBlock = 153,
163    EacR11SnormBlock = 154,
164    EacR11G11UnormBlock = 155,
165    EacR11G11SnormBlock = 156,
166    G8B8G8R8422Unorm = 1000156000,
167    B8G8R8G8422Unorm = 1000156001,
168    G8B8R83plane420Unorm = 1000156002,
169    G8B8R82plane420Unorm = 1000156003,
170    G8B8R83plane422Unorm = 1000156004,
171    G8B8R82plane422Unorm = 1000156005,
172    G8B8R83plane444Unorm = 1000156006,
173    R10X6UnormPack16 = 1000156007,
174    R10X6G10X6Unorm2pack16 = 1000156008,
175    R10X6G10X6B10X6A10X6Unorm4pack16 = 1000156009,
176    G10X6B10X6G10X6R10X6422Unorm4pack16 = 1000156010,
177    B10X6G10X6R10X6G10X6422Unorm4pack16 = 1000156011,
178    G10X6B10X6R10X63plane420Unorm3pack16 = 1000156012,
179    G10X6B10X6R10X62plane420Unorm3pack16 = 1000156013,
180    G10X6B10X6R10X63plane422Unorm3pack16 = 1000156014,
181    G10X6B10X6R10X62plane422Unorm3pack16 = 1000156015,
182    G10X6B10X6R10X63plane444Unorm3pack16 = 1000156016,
183    R12X4UnormPack16 = 1000156017,
184    R12X4G12X4Unorm2pack16 = 1000156018,
185    R12X4G12X4B12X4A12X4Unorm4pack16 = 1000156019,
186    G12X4B12X4G12X4R12X4422Unorm4pack16 = 1000156020,
187    B12X4G12X4R12X4G12X4422Unorm4pack16 = 1000156021,
188    G12X4B12X4R12X43plane420Unorm3pack16 = 1000156022,
189    G12X4B12X4R12X42plane420Unorm3pack16 = 1000156023,
190    G12X4B12X4R12X43plane422Unorm3pack16 = 1000156024,
191    G12X4B12X4R12X42plane422Unorm3pack16 = 1000156025,
192    G12X4B12X4R12X43plane444Unorm3pack16 = 1000156026,
193    G16B16G16R16422Unorm = 1000156027,
194    B16G16R16G16422Unorm = 1000156028,
195    G16B16R163plane420Unorm = 1000156029,
196    G16B16R162plane420Unorm = 1000156030,
197    G16B16R163plane422Unorm = 1000156031,
198    G16B16R162plane422Unorm = 1000156032,
199    G16B16R163plane444Unorm = 1000156033,
200    Pvrtc12bppUnormBlockImg = 1000054000,
201    Pvrtc14bppUnormBlockImg = 1000054001,
202    Pvrtc22bppUnormBlockImg = 1000054002,
203    Pvrtc24bppUnormBlockImg = 1000054003,
204    Pvrtc12bppSrgbBlockImg = 1000054004,
205    Pvrtc14bppSrgbBlockImg = 1000054005,
206    Pvrtc22bppSrgbBlockImg = 1000054006,
207    Pvrtc24bppSrgbBlockImg = 1000054007,
208}
209
210#[doc(hidden)]
211pub type RawVkFormat = i32;
212
213impl VkWrappedType<RawVkFormat> for VkFormat {
214    fn vk_to_raw(src: &VkFormat, dst: &mut RawVkFormat) {
215        *dst = *src as i32
216    }
217}
218
219impl VkRawType<VkFormat> for RawVkFormat {
220    fn vk_to_wrapped(src: &RawVkFormat) -> VkFormat {
221        unsafe {
222            *((src as *const i32) as *const VkFormat)
223        }
224    }
225}
226
227impl Default for VkFormat {
228    fn default() -> VkFormat {
229        VkFormat::Undefined
230    }
231}