1use super::*;
4
5pub const METADATA_SDL_PROP_GPU_DEVICE_CREATE_DEBUGMODE_BOOLEAN: Property = Property {
6 module: "gpu",
7 name: "SDL_PROP_GPU_DEVICE_CREATE_DEBUGMODE_BOOLEAN",
8 short_name: "GPU_DEVICE_CREATE_DEBUGMODE_BOOLEAN",
9 value: crate::gpu::SDL_PROP_GPU_DEVICE_CREATE_DEBUGMODE_BOOLEAN,
10 ty: PropertyType::BOOLEAN,
11 doc: None,
12 available_since: None,
13};
14pub const METADATA_SDL_PROP_GPU_DEVICE_CREATE_PREFERLOWPOWER_BOOLEAN: Property = Property {
15 module: "gpu",
16 name: "SDL_PROP_GPU_DEVICE_CREATE_PREFERLOWPOWER_BOOLEAN",
17 short_name: "GPU_DEVICE_CREATE_PREFERLOWPOWER_BOOLEAN",
18 value: crate::gpu::SDL_PROP_GPU_DEVICE_CREATE_PREFERLOWPOWER_BOOLEAN,
19 ty: PropertyType::BOOLEAN,
20 doc: None,
21 available_since: None,
22};
23pub const METADATA_SDL_PROP_GPU_DEVICE_CREATE_VERBOSE_BOOLEAN: Property = Property {
24 module: "gpu",
25 name: "SDL_PROP_GPU_DEVICE_CREATE_VERBOSE_BOOLEAN",
26 short_name: "GPU_DEVICE_CREATE_VERBOSE_BOOLEAN",
27 value: crate::gpu::SDL_PROP_GPU_DEVICE_CREATE_VERBOSE_BOOLEAN,
28 ty: PropertyType::BOOLEAN,
29 doc: None,
30 available_since: None,
31};
32pub const METADATA_SDL_PROP_GPU_DEVICE_CREATE_NAME_STRING: Property = Property {
33 module: "gpu",
34 name: "SDL_PROP_GPU_DEVICE_CREATE_NAME_STRING",
35 short_name: "GPU_DEVICE_CREATE_NAME_STRING",
36 value: crate::gpu::SDL_PROP_GPU_DEVICE_CREATE_NAME_STRING,
37 ty: PropertyType::STRING,
38 doc: None,
39 available_since: None,
40};
41pub const METADATA_SDL_PROP_GPU_DEVICE_CREATE_FEATURE_CLIP_DISTANCE_BOOLEAN: Property = Property {
42 module: "gpu",
43 name: "SDL_PROP_GPU_DEVICE_CREATE_FEATURE_CLIP_DISTANCE_BOOLEAN",
44 short_name: "GPU_DEVICE_CREATE_FEATURE_CLIP_DISTANCE_BOOLEAN",
45 value: crate::gpu::SDL_PROP_GPU_DEVICE_CREATE_FEATURE_CLIP_DISTANCE_BOOLEAN,
46 ty: PropertyType::BOOLEAN,
47 doc: None,
48 available_since: None,
49};
50pub const METADATA_SDL_PROP_GPU_DEVICE_CREATE_FEATURE_DEPTH_CLAMPING_BOOLEAN: Property = Property {
51 module: "gpu",
52 name: "SDL_PROP_GPU_DEVICE_CREATE_FEATURE_DEPTH_CLAMPING_BOOLEAN",
53 short_name: "GPU_DEVICE_CREATE_FEATURE_DEPTH_CLAMPING_BOOLEAN",
54 value: crate::gpu::SDL_PROP_GPU_DEVICE_CREATE_FEATURE_DEPTH_CLAMPING_BOOLEAN,
55 ty: PropertyType::BOOLEAN,
56 doc: None,
57 available_since: None,
58};
59pub const METADATA_SDL_PROP_GPU_DEVICE_CREATE_FEATURE_INDIRECT_DRAW_FIRST_INSTANCE_BOOLEAN:
60 Property = Property {
61 module: "gpu",
62 name: "SDL_PROP_GPU_DEVICE_CREATE_FEATURE_INDIRECT_DRAW_FIRST_INSTANCE_BOOLEAN",
63 short_name: "GPU_DEVICE_CREATE_FEATURE_INDIRECT_DRAW_FIRST_INSTANCE_BOOLEAN",
64 value: crate::gpu::SDL_PROP_GPU_DEVICE_CREATE_FEATURE_INDIRECT_DRAW_FIRST_INSTANCE_BOOLEAN,
65 ty: PropertyType::BOOLEAN,
66 doc: None,
67 available_since: None,
68};
69pub const METADATA_SDL_PROP_GPU_DEVICE_CREATE_FEATURE_ANISOTROPY_BOOLEAN: Property = Property {
70 module: "gpu",
71 name: "SDL_PROP_GPU_DEVICE_CREATE_FEATURE_ANISOTROPY_BOOLEAN",
72 short_name: "GPU_DEVICE_CREATE_FEATURE_ANISOTROPY_BOOLEAN",
73 value: crate::gpu::SDL_PROP_GPU_DEVICE_CREATE_FEATURE_ANISOTROPY_BOOLEAN,
74 ty: PropertyType::BOOLEAN,
75 doc: None,
76 available_since: None,
77};
78pub const METADATA_SDL_PROP_GPU_DEVICE_CREATE_SHADERS_PRIVATE_BOOLEAN: Property = Property {
79 module: "gpu",
80 name: "SDL_PROP_GPU_DEVICE_CREATE_SHADERS_PRIVATE_BOOLEAN",
81 short_name: "GPU_DEVICE_CREATE_SHADERS_PRIVATE_BOOLEAN",
82 value: crate::gpu::SDL_PROP_GPU_DEVICE_CREATE_SHADERS_PRIVATE_BOOLEAN,
83 ty: PropertyType::BOOLEAN,
84 doc: None,
85 available_since: None,
86};
87pub const METADATA_SDL_PROP_GPU_DEVICE_CREATE_SHADERS_SPIRV_BOOLEAN: Property = Property {
88 module: "gpu",
89 name: "SDL_PROP_GPU_DEVICE_CREATE_SHADERS_SPIRV_BOOLEAN",
90 short_name: "GPU_DEVICE_CREATE_SHADERS_SPIRV_BOOLEAN",
91 value: crate::gpu::SDL_PROP_GPU_DEVICE_CREATE_SHADERS_SPIRV_BOOLEAN,
92 ty: PropertyType::BOOLEAN,
93 doc: None,
94 available_since: None,
95};
96pub const METADATA_SDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXBC_BOOLEAN: Property = Property {
97 module: "gpu",
98 name: "SDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXBC_BOOLEAN",
99 short_name: "GPU_DEVICE_CREATE_SHADERS_DXBC_BOOLEAN",
100 value: crate::gpu::SDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXBC_BOOLEAN,
101 ty: PropertyType::BOOLEAN,
102 doc: None,
103 available_since: None,
104};
105pub const METADATA_SDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXIL_BOOLEAN: Property = Property {
106 module: "gpu",
107 name: "SDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXIL_BOOLEAN",
108 short_name: "GPU_DEVICE_CREATE_SHADERS_DXIL_BOOLEAN",
109 value: crate::gpu::SDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXIL_BOOLEAN,
110 ty: PropertyType::BOOLEAN,
111 doc: None,
112 available_since: None,
113};
114pub const METADATA_SDL_PROP_GPU_DEVICE_CREATE_SHADERS_MSL_BOOLEAN: Property = Property {
115 module: "gpu",
116 name: "SDL_PROP_GPU_DEVICE_CREATE_SHADERS_MSL_BOOLEAN",
117 short_name: "GPU_DEVICE_CREATE_SHADERS_MSL_BOOLEAN",
118 value: crate::gpu::SDL_PROP_GPU_DEVICE_CREATE_SHADERS_MSL_BOOLEAN,
119 ty: PropertyType::BOOLEAN,
120 doc: None,
121 available_since: None,
122};
123pub const METADATA_SDL_PROP_GPU_DEVICE_CREATE_SHADERS_METALLIB_BOOLEAN: Property = Property {
124 module: "gpu",
125 name: "SDL_PROP_GPU_DEVICE_CREATE_SHADERS_METALLIB_BOOLEAN",
126 short_name: "GPU_DEVICE_CREATE_SHADERS_METALLIB_BOOLEAN",
127 value: crate::gpu::SDL_PROP_GPU_DEVICE_CREATE_SHADERS_METALLIB_BOOLEAN,
128 ty: PropertyType::BOOLEAN,
129 doc: None,
130 available_since: None,
131};
132pub const METADATA_SDL_PROP_GPU_DEVICE_CREATE_D3D12_ALLOW_FEWER_RESOURCE_SLOTS_BOOLEAN: Property =
133 Property {
134 module: "gpu",
135 name: "SDL_PROP_GPU_DEVICE_CREATE_D3D12_ALLOW_FEWER_RESOURCE_SLOTS_BOOLEAN",
136 short_name: "GPU_DEVICE_CREATE_D3D12_ALLOW_FEWER_RESOURCE_SLOTS_BOOLEAN",
137 value: crate::gpu::SDL_PROP_GPU_DEVICE_CREATE_D3D12_ALLOW_FEWER_RESOURCE_SLOTS_BOOLEAN,
138 ty: PropertyType::BOOLEAN,
139 doc: None,
140 available_since: None,
141 };
142pub const METADATA_SDL_PROP_GPU_DEVICE_CREATE_D3D12_SEMANTIC_NAME_STRING: Property = Property {
143 module: "gpu",
144 name: "SDL_PROP_GPU_DEVICE_CREATE_D3D12_SEMANTIC_NAME_STRING",
145 short_name: "GPU_DEVICE_CREATE_D3D12_SEMANTIC_NAME_STRING",
146 value: crate::gpu::SDL_PROP_GPU_DEVICE_CREATE_D3D12_SEMANTIC_NAME_STRING,
147 ty: PropertyType::STRING,
148 doc: None,
149 available_since: None,
150};
151pub const METADATA_SDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEAN:
152 Property = Property {
153 module: "gpu",
154 name: "SDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEAN",
155 short_name: "GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEAN",
156 value: crate::gpu::SDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEAN,
157 ty: PropertyType::BOOLEAN,
158 doc: None,
159 available_since: None,
160};
161pub const METADATA_SDL_PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER: Property = Property {
162 module: "gpu",
163 name: "SDL_PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER",
164 short_name: "GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER",
165 value: crate::gpu::SDL_PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER,
166 ty: PropertyType::POINTER,
167 doc: None,
168 available_since: None,
169};
170pub const METADATA_SDL_PROP_GPU_DEVICE_NAME_STRING: Property = Property {
171 module: "gpu",
172 name: "SDL_PROP_GPU_DEVICE_NAME_STRING",
173 short_name: "GPU_DEVICE_NAME_STRING",
174 value: crate::gpu::SDL_PROP_GPU_DEVICE_NAME_STRING,
175 ty: PropertyType::STRING,
176 doc: None,
177 available_since: None,
178};
179pub const METADATA_SDL_PROP_GPU_DEVICE_DRIVER_NAME_STRING: Property = Property {
180 module: "gpu",
181 name: "SDL_PROP_GPU_DEVICE_DRIVER_NAME_STRING",
182 short_name: "GPU_DEVICE_DRIVER_NAME_STRING",
183 value: crate::gpu::SDL_PROP_GPU_DEVICE_DRIVER_NAME_STRING,
184 ty: PropertyType::STRING,
185 doc: None,
186 available_since: None,
187};
188pub const METADATA_SDL_PROP_GPU_DEVICE_DRIVER_VERSION_STRING: Property = Property {
189 module: "gpu",
190 name: "SDL_PROP_GPU_DEVICE_DRIVER_VERSION_STRING",
191 short_name: "GPU_DEVICE_DRIVER_VERSION_STRING",
192 value: crate::gpu::SDL_PROP_GPU_DEVICE_DRIVER_VERSION_STRING,
193 ty: PropertyType::STRING,
194 doc: None,
195 available_since: None,
196};
197pub const METADATA_SDL_PROP_GPU_DEVICE_DRIVER_INFO_STRING: Property = Property {
198 module: "gpu",
199 name: "SDL_PROP_GPU_DEVICE_DRIVER_INFO_STRING",
200 short_name: "GPU_DEVICE_DRIVER_INFO_STRING",
201 value: crate::gpu::SDL_PROP_GPU_DEVICE_DRIVER_INFO_STRING,
202 ty: PropertyType::STRING,
203 doc: None,
204 available_since: None,
205};
206pub const METADATA_SDL_PROP_GPU_COMPUTEPIPELINE_CREATE_NAME_STRING: Property = Property {
207 module: "gpu",
208 name: "SDL_PROP_GPU_COMPUTEPIPELINE_CREATE_NAME_STRING",
209 short_name: "GPU_COMPUTEPIPELINE_CREATE_NAME_STRING",
210 value: crate::gpu::SDL_PROP_GPU_COMPUTEPIPELINE_CREATE_NAME_STRING,
211 ty: PropertyType::STRING,
212 doc: None,
213 available_since: None,
214};
215pub const METADATA_SDL_PROP_GPU_GRAPHICSPIPELINE_CREATE_NAME_STRING: Property = Property {
216 module: "gpu",
217 name: "SDL_PROP_GPU_GRAPHICSPIPELINE_CREATE_NAME_STRING",
218 short_name: "GPU_GRAPHICSPIPELINE_CREATE_NAME_STRING",
219 value: crate::gpu::SDL_PROP_GPU_GRAPHICSPIPELINE_CREATE_NAME_STRING,
220 ty: PropertyType::STRING,
221 doc: None,
222 available_since: None,
223};
224pub const METADATA_SDL_PROP_GPU_SAMPLER_CREATE_NAME_STRING: Property = Property {
225 module: "gpu",
226 name: "SDL_PROP_GPU_SAMPLER_CREATE_NAME_STRING",
227 short_name: "GPU_SAMPLER_CREATE_NAME_STRING",
228 value: crate::gpu::SDL_PROP_GPU_SAMPLER_CREATE_NAME_STRING,
229 ty: PropertyType::STRING,
230 doc: None,
231 available_since: None,
232};
233pub const METADATA_SDL_PROP_GPU_SHADER_CREATE_NAME_STRING: Property = Property {
234 module: "gpu",
235 name: "SDL_PROP_GPU_SHADER_CREATE_NAME_STRING",
236 short_name: "GPU_SHADER_CREATE_NAME_STRING",
237 value: crate::gpu::SDL_PROP_GPU_SHADER_CREATE_NAME_STRING,
238 ty: PropertyType::STRING,
239 doc: None,
240 available_since: None,
241};
242pub const METADATA_SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_R_FLOAT: Property = Property {
243 module: "gpu",
244 name: "SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_R_FLOAT",
245 short_name: "GPU_TEXTURE_CREATE_D3D12_CLEAR_R_FLOAT",
246 value: crate::gpu::SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_R_FLOAT,
247 ty: PropertyType::FLOAT,
248 doc: None,
249 available_since: None,
250};
251pub const METADATA_SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_G_FLOAT: Property = Property {
252 module: "gpu",
253 name: "SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_G_FLOAT",
254 short_name: "GPU_TEXTURE_CREATE_D3D12_CLEAR_G_FLOAT",
255 value: crate::gpu::SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_G_FLOAT,
256 ty: PropertyType::FLOAT,
257 doc: None,
258 available_since: None,
259};
260pub const METADATA_SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_B_FLOAT: Property = Property {
261 module: "gpu",
262 name: "SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_B_FLOAT",
263 short_name: "GPU_TEXTURE_CREATE_D3D12_CLEAR_B_FLOAT",
264 value: crate::gpu::SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_B_FLOAT,
265 ty: PropertyType::FLOAT,
266 doc: None,
267 available_since: None,
268};
269pub const METADATA_SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_A_FLOAT: Property = Property {
270 module: "gpu",
271 name: "SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_A_FLOAT",
272 short_name: "GPU_TEXTURE_CREATE_D3D12_CLEAR_A_FLOAT",
273 value: crate::gpu::SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_A_FLOAT,
274 ty: PropertyType::FLOAT,
275 doc: None,
276 available_since: None,
277};
278pub const METADATA_SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_DEPTH_FLOAT: Property = Property {
279 module: "gpu",
280 name: "SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_DEPTH_FLOAT",
281 short_name: "GPU_TEXTURE_CREATE_D3D12_CLEAR_DEPTH_FLOAT",
282 value: crate::gpu::SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_DEPTH_FLOAT,
283 ty: PropertyType::FLOAT,
284 doc: None,
285 available_since: None,
286};
287pub const METADATA_SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_STENCIL_NUMBER: Property = Property {
288 module: "gpu",
289 name: "SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_STENCIL_NUMBER",
290 short_name: "GPU_TEXTURE_CREATE_D3D12_CLEAR_STENCIL_NUMBER",
291 value: crate::gpu::SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_STENCIL_NUMBER,
292 ty: PropertyType::NUMBER,
293 doc: None,
294 available_since: None,
295};
296pub const METADATA_SDL_PROP_GPU_TEXTURE_CREATE_NAME_STRING: Property = Property {
297 module: "gpu",
298 name: "SDL_PROP_GPU_TEXTURE_CREATE_NAME_STRING",
299 short_name: "GPU_TEXTURE_CREATE_NAME_STRING",
300 value: crate::gpu::SDL_PROP_GPU_TEXTURE_CREATE_NAME_STRING,
301 ty: PropertyType::STRING,
302 doc: None,
303 available_since: None,
304};
305pub const METADATA_SDL_PROP_GPU_BUFFER_CREATE_NAME_STRING: Property = Property {
306 module: "gpu",
307 name: "SDL_PROP_GPU_BUFFER_CREATE_NAME_STRING",
308 short_name: "GPU_BUFFER_CREATE_NAME_STRING",
309 value: crate::gpu::SDL_PROP_GPU_BUFFER_CREATE_NAME_STRING,
310 ty: PropertyType::STRING,
311 doc: None,
312 available_since: None,
313};
314pub const METADATA_SDL_PROP_GPU_TRANSFERBUFFER_CREATE_NAME_STRING: Property = Property {
315 module: "gpu",
316 name: "SDL_PROP_GPU_TRANSFERBUFFER_CREATE_NAME_STRING",
317 short_name: "GPU_TRANSFERBUFFER_CREATE_NAME_STRING",
318 value: crate::gpu::SDL_PROP_GPU_TRANSFERBUFFER_CREATE_NAME_STRING,
319 ty: PropertyType::STRING,
320 doc: None,
321 available_since: None,
322};
323pub const METADATA_SDL_GPUPrimitiveType: Group = Group {
324 module: "gpu",
325 kind: GroupKind::Enum,
326 name: "SDL_GPUPrimitiveType",
327 short_name: "GPUPrimitiveType",
328 doc: Some(
329 "Specifies the primitive topology of a graphics pipeline.\n\nIf you are using POINTLIST you must include a point size output in the\nvertex shader.\n\n- For HLSL compiling to SPIRV you must decorate a float output with\n\\[\\[vk::builtin(\"PointSize\")\\]\\].\n- For GLSL you must set the gl_PointSize builtin.\n- For MSL you must include a float output with the \\[\\[point_size\\]\\]\ndecorator.\n\nNote that sized point topology is totally unsupported on D3D12. Any size\nother than 1 will be ignored. In general, you should avoid using point\ntopology for both compatibility and performance reasons. You WILL regret\nusing it.\n\n## Availability\nThis enum is available since SDL 3.2.0.\n\n## See also\n- [`SDL_CreateGPUGraphicsPipeline`]\n",
330 ),
331 available_since: Some(SDL_VERSIONNUM(3, 2, 0)),
332 values: &[
333 GroupValue {
334 name: "SDL_GPU_PRIMITIVETYPE_TRIANGLELIST",
335 short_name: "TRIANGLELIST",
336 doc: Some("A series of separate triangles.\n"),
337 available_since: None,
338 },
339 GroupValue {
340 name: "SDL_GPU_PRIMITIVETYPE_TRIANGLESTRIP",
341 short_name: "TRIANGLESTRIP",
342 doc: Some("A series of connected triangles.\n"),
343 available_since: None,
344 },
345 GroupValue {
346 name: "SDL_GPU_PRIMITIVETYPE_LINELIST",
347 short_name: "LINELIST",
348 doc: Some("A series of separate lines.\n"),
349 available_since: None,
350 },
351 GroupValue {
352 name: "SDL_GPU_PRIMITIVETYPE_LINESTRIP",
353 short_name: "LINESTRIP",
354 doc: Some("A series of connected lines.\n"),
355 available_since: None,
356 },
357 GroupValue {
358 name: "SDL_GPU_PRIMITIVETYPE_POINTLIST",
359 short_name: "POINTLIST",
360 doc: Some("A series of separate points.\n"),
361 available_since: None,
362 },
363 ],
364};
365pub const METADATA_SDL_GPULoadOp: Group = Group {
366 module: "gpu",
367 kind: GroupKind::Enum,
368 name: "SDL_GPULoadOp",
369 short_name: "GPULoadOp",
370 doc: Some(
371 "Specifies how the contents of a texture attached to a render pass are\ntreated at the beginning of the render pass.\n\n## Availability\nThis enum is available since SDL 3.2.0.\n\n## See also\n- [`SDL_BeginGPURenderPass`]\n",
372 ),
373 available_since: Some(SDL_VERSIONNUM(3, 2, 0)),
374 values: &[
375 GroupValue {
376 name: "SDL_GPU_LOADOP_LOAD",
377 short_name: "LOAD",
378 doc: Some("The previous contents of the texture will be preserved.\n"),
379 available_since: None,
380 },
381 GroupValue {
382 name: "SDL_GPU_LOADOP_CLEAR",
383 short_name: "CLEAR",
384 doc: Some("The contents of the texture will be cleared to a color.\n"),
385 available_since: None,
386 },
387 GroupValue {
388 name: "SDL_GPU_LOADOP_DONT_CARE",
389 short_name: "DONT_CARE",
390 doc: Some(
391 "The previous contents of the texture need not be preserved. The contents will be undefined.\n",
392 ),
393 available_since: None,
394 },
395 ],
396};
397pub const METADATA_SDL_GPUStoreOp: Group = Group {
398 module: "gpu",
399 kind: GroupKind::Enum,
400 name: "SDL_GPUStoreOp",
401 short_name: "GPUStoreOp",
402 doc: Some(
403 "Specifies how the contents of a texture attached to a render pass are\ntreated at the end of the render pass.\n\n## Availability\nThis enum is available since SDL 3.2.0.\n\n## See also\n- [`SDL_BeginGPURenderPass`]\n",
404 ),
405 available_since: Some(SDL_VERSIONNUM(3, 2, 0)),
406 values: &[
407 GroupValue {
408 name: "SDL_GPU_STOREOP_STORE",
409 short_name: "STORE",
410 doc: Some("The contents generated during the render pass will be written to memory.\n"),
411 available_since: None,
412 },
413 GroupValue {
414 name: "SDL_GPU_STOREOP_DONT_CARE",
415 short_name: "DONT_CARE",
416 doc: Some(
417 "The contents generated during the render pass are not needed and may be discarded. The contents will be undefined.\n",
418 ),
419 available_since: None,
420 },
421 GroupValue {
422 name: "SDL_GPU_STOREOP_RESOLVE",
423 short_name: "RESOLVE",
424 doc: Some(
425 "The multisample contents generated during the render pass will be resolved to a non-multisample texture. The contents in the multisample texture may then be discarded and will be undefined.\n",
426 ),
427 available_since: None,
428 },
429 GroupValue {
430 name: "SDL_GPU_STOREOP_RESOLVE_AND_STORE",
431 short_name: "RESOLVE_AND_STORE",
432 doc: Some(
433 "The multisample contents generated during the render pass will be resolved to a non-multisample texture. The contents in the multisample texture will be written to memory.\n",
434 ),
435 available_since: None,
436 },
437 ],
438};
439pub const METADATA_SDL_GPUIndexElementSize: Group = Group {
440 module: "gpu",
441 kind: GroupKind::Enum,
442 name: "SDL_GPUIndexElementSize",
443 short_name: "GPUIndexElementSize",
444 doc: Some(
445 "Specifies the size of elements in an index buffer.\n\n## Availability\nThis enum is available since SDL 3.2.0.\n\n## See also\n- [`SDL_CreateGPUGraphicsPipeline`]\n",
446 ),
447 available_since: Some(SDL_VERSIONNUM(3, 2, 0)),
448 values: &[
449 GroupValue {
450 name: "SDL_GPU_INDEXELEMENTSIZE_16BIT",
451 short_name: "_16BIT",
452 doc: Some("The index elements are 16-bit.\n"),
453 available_since: None,
454 },
455 GroupValue {
456 name: "SDL_GPU_INDEXELEMENTSIZE_32BIT",
457 short_name: "_32BIT",
458 doc: Some("The index elements are 32-bit.\n"),
459 available_since: None,
460 },
461 ],
462};
463pub const METADATA_SDL_GPUTextureFormat: Group = Group {
464 module: "gpu",
465 kind: GroupKind::Enum,
466 name: "SDL_GPUTextureFormat",
467 short_name: "GPUTextureFormat",
468 doc: Some(
469 "Specifies the pixel format of a texture.\n\nTexture format support varies depending on driver, hardware, and usage\nflags. In general, you should use [`SDL_GPUTextureSupportsFormat`] to query if\na format is supported before using it. However, there are a few guaranteed\nformats.\n\nFIXME: Check universal support for 32-bit component formats FIXME: Check\nuniversal support for SIMULTANEOUS_READ_WRITE\n\nFor SAMPLER usage, the following formats are universally supported:\n\n- R8G8B8A8_UNORM\n- B8G8R8A8_UNORM\n- R8_UNORM\n- R8_SNORM\n- R8G8_UNORM\n- R8G8_SNORM\n- R8G8B8A8_SNORM\n- R16_FLOAT\n- R16G16_FLOAT\n- R16G16B16A16_FLOAT\n- R32_FLOAT\n- R32G32_FLOAT\n- R32G32B32A32_FLOAT\n- R11G11B10_UFLOAT\n- R8G8B8A8_UNORM_SRGB\n- B8G8R8A8_UNORM_SRGB\n- D16_UNORM\n\nFor COLOR_TARGET usage, the following formats are universally supported:\n\n- R8G8B8A8_UNORM\n- B8G8R8A8_UNORM\n- R8_UNORM\n- R16_FLOAT\n- R16G16_FLOAT\n- R16G16B16A16_FLOAT\n- R32_FLOAT\n- R32G32_FLOAT\n- R32G32B32A32_FLOAT\n- R8_UINT\n- R8G8_UINT\n- R8G8B8A8_UINT\n- R16_UINT\n- R16G16_UINT\n- R16G16B16A16_UINT\n- R8_INT\n- R8G8_INT\n- R8G8B8A8_INT\n- R16_INT\n- R16G16_INT\n- R16G16B16A16_INT\n- R8G8B8A8_UNORM_SRGB\n- B8G8R8A8_UNORM_SRGB\n\nFor STORAGE usages, the following formats are universally supported:\n\n- R8G8B8A8_UNORM\n- R8G8B8A8_SNORM\n- R16G16B16A16_FLOAT\n- R32_FLOAT\n- R32G32_FLOAT\n- R32G32B32A32_FLOAT\n- R8G8B8A8_UINT\n- R16G16B16A16_UINT\n- R8G8B8A8_INT\n- R16G16B16A16_INT\n\nFor DEPTH_STENCIL_TARGET usage, the following formats are universally\nsupported:\n\n- D16_UNORM\n- Either (but not necessarily both!) D24_UNORM or D32_FLOAT\n- Either (but not necessarily both!) D24_UNORM_S8_UINT or D32_FLOAT_S8_UINT\n\nUnless D16_UNORM is sufficient for your purposes, always check which of\nD24/D32 is supported before creating a depth-stencil texture!\n\n## Availability\nThis enum is available since SDL 3.2.0.\n\n## See also\n- [`SDL_CreateGPUTexture`]\n- [`SDL_GPUTextureSupportsFormat`]\n",
470 ),
471 available_since: Some(SDL_VERSIONNUM(3, 2, 0)),
472 values: &[
473 GroupValue {
474 name: "SDL_GPU_TEXTUREFORMAT_INVALID",
475 short_name: "INVALID",
476 doc: None,
477 available_since: None,
478 },
479 GroupValue {
480 name: "SDL_GPU_TEXTUREFORMAT_A8_UNORM",
481 short_name: "A8_UNORM",
482 doc: None,
483 available_since: None,
484 },
485 GroupValue {
486 name: "SDL_GPU_TEXTUREFORMAT_R8_UNORM",
487 short_name: "R8_UNORM",
488 doc: None,
489 available_since: None,
490 },
491 GroupValue {
492 name: "SDL_GPU_TEXTUREFORMAT_R8G8_UNORM",
493 short_name: "R8G8_UNORM",
494 doc: None,
495 available_since: None,
496 },
497 GroupValue {
498 name: "SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UNORM",
499 short_name: "R8G8B8A8_UNORM",
500 doc: None,
501 available_since: None,
502 },
503 GroupValue {
504 name: "SDL_GPU_TEXTUREFORMAT_R16_UNORM",
505 short_name: "R16_UNORM",
506 doc: None,
507 available_since: None,
508 },
509 GroupValue {
510 name: "SDL_GPU_TEXTUREFORMAT_R16G16_UNORM",
511 short_name: "R16G16_UNORM",
512 doc: None,
513 available_since: None,
514 },
515 GroupValue {
516 name: "SDL_GPU_TEXTUREFORMAT_R16G16B16A16_UNORM",
517 short_name: "R16G16B16A16_UNORM",
518 doc: None,
519 available_since: None,
520 },
521 GroupValue {
522 name: "SDL_GPU_TEXTUREFORMAT_R10G10B10A2_UNORM",
523 short_name: "R10G10B10A2_UNORM",
524 doc: None,
525 available_since: None,
526 },
527 GroupValue {
528 name: "SDL_GPU_TEXTUREFORMAT_B5G6R5_UNORM",
529 short_name: "B5G6R5_UNORM",
530 doc: None,
531 available_since: None,
532 },
533 GroupValue {
534 name: "SDL_GPU_TEXTUREFORMAT_B5G5R5A1_UNORM",
535 short_name: "B5G5R5A1_UNORM",
536 doc: None,
537 available_since: None,
538 },
539 GroupValue {
540 name: "SDL_GPU_TEXTUREFORMAT_B4G4R4A4_UNORM",
541 short_name: "B4G4R4A4_UNORM",
542 doc: None,
543 available_since: None,
544 },
545 GroupValue {
546 name: "SDL_GPU_TEXTUREFORMAT_B8G8R8A8_UNORM",
547 short_name: "B8G8R8A8_UNORM",
548 doc: None,
549 available_since: None,
550 },
551 GroupValue {
552 name: "SDL_GPU_TEXTUREFORMAT_BC1_RGBA_UNORM",
553 short_name: "BC1_RGBA_UNORM",
554 doc: None,
555 available_since: None,
556 },
557 GroupValue {
558 name: "SDL_GPU_TEXTUREFORMAT_BC2_RGBA_UNORM",
559 short_name: "BC2_RGBA_UNORM",
560 doc: None,
561 available_since: None,
562 },
563 GroupValue {
564 name: "SDL_GPU_TEXTUREFORMAT_BC3_RGBA_UNORM",
565 short_name: "BC3_RGBA_UNORM",
566 doc: None,
567 available_since: None,
568 },
569 GroupValue {
570 name: "SDL_GPU_TEXTUREFORMAT_BC4_R_UNORM",
571 short_name: "BC4_R_UNORM",
572 doc: None,
573 available_since: None,
574 },
575 GroupValue {
576 name: "SDL_GPU_TEXTUREFORMAT_BC5_RG_UNORM",
577 short_name: "BC5_RG_UNORM",
578 doc: None,
579 available_since: None,
580 },
581 GroupValue {
582 name: "SDL_GPU_TEXTUREFORMAT_BC7_RGBA_UNORM",
583 short_name: "BC7_RGBA_UNORM",
584 doc: None,
585 available_since: None,
586 },
587 GroupValue {
588 name: "SDL_GPU_TEXTUREFORMAT_BC6H_RGB_FLOAT",
589 short_name: "BC6H_RGB_FLOAT",
590 doc: None,
591 available_since: None,
592 },
593 GroupValue {
594 name: "SDL_GPU_TEXTUREFORMAT_BC6H_RGB_UFLOAT",
595 short_name: "BC6H_RGB_UFLOAT",
596 doc: None,
597 available_since: None,
598 },
599 GroupValue {
600 name: "SDL_GPU_TEXTUREFORMAT_R8_SNORM",
601 short_name: "R8_SNORM",
602 doc: None,
603 available_since: None,
604 },
605 GroupValue {
606 name: "SDL_GPU_TEXTUREFORMAT_R8G8_SNORM",
607 short_name: "R8G8_SNORM",
608 doc: None,
609 available_since: None,
610 },
611 GroupValue {
612 name: "SDL_GPU_TEXTUREFORMAT_R8G8B8A8_SNORM",
613 short_name: "R8G8B8A8_SNORM",
614 doc: None,
615 available_since: None,
616 },
617 GroupValue {
618 name: "SDL_GPU_TEXTUREFORMAT_R16_SNORM",
619 short_name: "R16_SNORM",
620 doc: None,
621 available_since: None,
622 },
623 GroupValue {
624 name: "SDL_GPU_TEXTUREFORMAT_R16G16_SNORM",
625 short_name: "R16G16_SNORM",
626 doc: None,
627 available_since: None,
628 },
629 GroupValue {
630 name: "SDL_GPU_TEXTUREFORMAT_R16G16B16A16_SNORM",
631 short_name: "R16G16B16A16_SNORM",
632 doc: None,
633 available_since: None,
634 },
635 GroupValue {
636 name: "SDL_GPU_TEXTUREFORMAT_R16_FLOAT",
637 short_name: "R16_FLOAT",
638 doc: None,
639 available_since: None,
640 },
641 GroupValue {
642 name: "SDL_GPU_TEXTUREFORMAT_R16G16_FLOAT",
643 short_name: "R16G16_FLOAT",
644 doc: None,
645 available_since: None,
646 },
647 GroupValue {
648 name: "SDL_GPU_TEXTUREFORMAT_R16G16B16A16_FLOAT",
649 short_name: "R16G16B16A16_FLOAT",
650 doc: None,
651 available_since: None,
652 },
653 GroupValue {
654 name: "SDL_GPU_TEXTUREFORMAT_R32_FLOAT",
655 short_name: "R32_FLOAT",
656 doc: None,
657 available_since: None,
658 },
659 GroupValue {
660 name: "SDL_GPU_TEXTUREFORMAT_R32G32_FLOAT",
661 short_name: "R32G32_FLOAT",
662 doc: None,
663 available_since: None,
664 },
665 GroupValue {
666 name: "SDL_GPU_TEXTUREFORMAT_R32G32B32A32_FLOAT",
667 short_name: "R32G32B32A32_FLOAT",
668 doc: None,
669 available_since: None,
670 },
671 GroupValue {
672 name: "SDL_GPU_TEXTUREFORMAT_R11G11B10_UFLOAT",
673 short_name: "R11G11B10_UFLOAT",
674 doc: None,
675 available_since: None,
676 },
677 GroupValue {
678 name: "SDL_GPU_TEXTUREFORMAT_R8_UINT",
679 short_name: "R8_UINT",
680 doc: None,
681 available_since: None,
682 },
683 GroupValue {
684 name: "SDL_GPU_TEXTUREFORMAT_R8G8_UINT",
685 short_name: "R8G8_UINT",
686 doc: None,
687 available_since: None,
688 },
689 GroupValue {
690 name: "SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UINT",
691 short_name: "R8G8B8A8_UINT",
692 doc: None,
693 available_since: None,
694 },
695 GroupValue {
696 name: "SDL_GPU_TEXTUREFORMAT_R16_UINT",
697 short_name: "R16_UINT",
698 doc: None,
699 available_since: None,
700 },
701 GroupValue {
702 name: "SDL_GPU_TEXTUREFORMAT_R16G16_UINT",
703 short_name: "R16G16_UINT",
704 doc: None,
705 available_since: None,
706 },
707 GroupValue {
708 name: "SDL_GPU_TEXTUREFORMAT_R16G16B16A16_UINT",
709 short_name: "R16G16B16A16_UINT",
710 doc: None,
711 available_since: None,
712 },
713 GroupValue {
714 name: "SDL_GPU_TEXTUREFORMAT_R32_UINT",
715 short_name: "R32_UINT",
716 doc: None,
717 available_since: None,
718 },
719 GroupValue {
720 name: "SDL_GPU_TEXTUREFORMAT_R32G32_UINT",
721 short_name: "R32G32_UINT",
722 doc: None,
723 available_since: None,
724 },
725 GroupValue {
726 name: "SDL_GPU_TEXTUREFORMAT_R32G32B32A32_UINT",
727 short_name: "R32G32B32A32_UINT",
728 doc: None,
729 available_since: None,
730 },
731 GroupValue {
732 name: "SDL_GPU_TEXTUREFORMAT_R8_INT",
733 short_name: "R8_INT",
734 doc: None,
735 available_since: None,
736 },
737 GroupValue {
738 name: "SDL_GPU_TEXTUREFORMAT_R8G8_INT",
739 short_name: "R8G8_INT",
740 doc: None,
741 available_since: None,
742 },
743 GroupValue {
744 name: "SDL_GPU_TEXTUREFORMAT_R8G8B8A8_INT",
745 short_name: "R8G8B8A8_INT",
746 doc: None,
747 available_since: None,
748 },
749 GroupValue {
750 name: "SDL_GPU_TEXTUREFORMAT_R16_INT",
751 short_name: "R16_INT",
752 doc: None,
753 available_since: None,
754 },
755 GroupValue {
756 name: "SDL_GPU_TEXTUREFORMAT_R16G16_INT",
757 short_name: "R16G16_INT",
758 doc: None,
759 available_since: None,
760 },
761 GroupValue {
762 name: "SDL_GPU_TEXTUREFORMAT_R16G16B16A16_INT",
763 short_name: "R16G16B16A16_INT",
764 doc: None,
765 available_since: None,
766 },
767 GroupValue {
768 name: "SDL_GPU_TEXTUREFORMAT_R32_INT",
769 short_name: "R32_INT",
770 doc: None,
771 available_since: None,
772 },
773 GroupValue {
774 name: "SDL_GPU_TEXTUREFORMAT_R32G32_INT",
775 short_name: "R32G32_INT",
776 doc: None,
777 available_since: None,
778 },
779 GroupValue {
780 name: "SDL_GPU_TEXTUREFORMAT_R32G32B32A32_INT",
781 short_name: "R32G32B32A32_INT",
782 doc: None,
783 available_since: None,
784 },
785 GroupValue {
786 name: "SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UNORM_SRGB",
787 short_name: "R8G8B8A8_UNORM_SRGB",
788 doc: None,
789 available_since: None,
790 },
791 GroupValue {
792 name: "SDL_GPU_TEXTUREFORMAT_B8G8R8A8_UNORM_SRGB",
793 short_name: "B8G8R8A8_UNORM_SRGB",
794 doc: None,
795 available_since: None,
796 },
797 GroupValue {
798 name: "SDL_GPU_TEXTUREFORMAT_BC1_RGBA_UNORM_SRGB",
799 short_name: "BC1_RGBA_UNORM_SRGB",
800 doc: None,
801 available_since: None,
802 },
803 GroupValue {
804 name: "SDL_GPU_TEXTUREFORMAT_BC2_RGBA_UNORM_SRGB",
805 short_name: "BC2_RGBA_UNORM_SRGB",
806 doc: None,
807 available_since: None,
808 },
809 GroupValue {
810 name: "SDL_GPU_TEXTUREFORMAT_BC3_RGBA_UNORM_SRGB",
811 short_name: "BC3_RGBA_UNORM_SRGB",
812 doc: None,
813 available_since: None,
814 },
815 GroupValue {
816 name: "SDL_GPU_TEXTUREFORMAT_BC7_RGBA_UNORM_SRGB",
817 short_name: "BC7_RGBA_UNORM_SRGB",
818 doc: None,
819 available_since: None,
820 },
821 GroupValue {
822 name: "SDL_GPU_TEXTUREFORMAT_D16_UNORM",
823 short_name: "D16_UNORM",
824 doc: None,
825 available_since: None,
826 },
827 GroupValue {
828 name: "SDL_GPU_TEXTUREFORMAT_D24_UNORM",
829 short_name: "D24_UNORM",
830 doc: None,
831 available_since: None,
832 },
833 GroupValue {
834 name: "SDL_GPU_TEXTUREFORMAT_D32_FLOAT",
835 short_name: "D32_FLOAT",
836 doc: None,
837 available_since: None,
838 },
839 GroupValue {
840 name: "SDL_GPU_TEXTUREFORMAT_D24_UNORM_S8_UINT",
841 short_name: "D24_UNORM_S8_UINT",
842 doc: None,
843 available_since: None,
844 },
845 GroupValue {
846 name: "SDL_GPU_TEXTUREFORMAT_D32_FLOAT_S8_UINT",
847 short_name: "D32_FLOAT_S8_UINT",
848 doc: None,
849 available_since: None,
850 },
851 GroupValue {
852 name: "SDL_GPU_TEXTUREFORMAT_ASTC_4x4_UNORM",
853 short_name: "ASTC_4x4_UNORM",
854 doc: None,
855 available_since: None,
856 },
857 GroupValue {
858 name: "SDL_GPU_TEXTUREFORMAT_ASTC_5x4_UNORM",
859 short_name: "ASTC_5x4_UNORM",
860 doc: None,
861 available_since: None,
862 },
863 GroupValue {
864 name: "SDL_GPU_TEXTUREFORMAT_ASTC_5x5_UNORM",
865 short_name: "ASTC_5x5_UNORM",
866 doc: None,
867 available_since: None,
868 },
869 GroupValue {
870 name: "SDL_GPU_TEXTUREFORMAT_ASTC_6x5_UNORM",
871 short_name: "ASTC_6x5_UNORM",
872 doc: None,
873 available_since: None,
874 },
875 GroupValue {
876 name: "SDL_GPU_TEXTUREFORMAT_ASTC_6x6_UNORM",
877 short_name: "ASTC_6x6_UNORM",
878 doc: None,
879 available_since: None,
880 },
881 GroupValue {
882 name: "SDL_GPU_TEXTUREFORMAT_ASTC_8x5_UNORM",
883 short_name: "ASTC_8x5_UNORM",
884 doc: None,
885 available_since: None,
886 },
887 GroupValue {
888 name: "SDL_GPU_TEXTUREFORMAT_ASTC_8x6_UNORM",
889 short_name: "ASTC_8x6_UNORM",
890 doc: None,
891 available_since: None,
892 },
893 GroupValue {
894 name: "SDL_GPU_TEXTUREFORMAT_ASTC_8x8_UNORM",
895 short_name: "ASTC_8x8_UNORM",
896 doc: None,
897 available_since: None,
898 },
899 GroupValue {
900 name: "SDL_GPU_TEXTUREFORMAT_ASTC_10x5_UNORM",
901 short_name: "ASTC_10x5_UNORM",
902 doc: None,
903 available_since: None,
904 },
905 GroupValue {
906 name: "SDL_GPU_TEXTUREFORMAT_ASTC_10x6_UNORM",
907 short_name: "ASTC_10x6_UNORM",
908 doc: None,
909 available_since: None,
910 },
911 GroupValue {
912 name: "SDL_GPU_TEXTUREFORMAT_ASTC_10x8_UNORM",
913 short_name: "ASTC_10x8_UNORM",
914 doc: None,
915 available_since: None,
916 },
917 GroupValue {
918 name: "SDL_GPU_TEXTUREFORMAT_ASTC_10x10_UNORM",
919 short_name: "ASTC_10x10_UNORM",
920 doc: None,
921 available_since: None,
922 },
923 GroupValue {
924 name: "SDL_GPU_TEXTUREFORMAT_ASTC_12x10_UNORM",
925 short_name: "ASTC_12x10_UNORM",
926 doc: None,
927 available_since: None,
928 },
929 GroupValue {
930 name: "SDL_GPU_TEXTUREFORMAT_ASTC_12x12_UNORM",
931 short_name: "ASTC_12x12_UNORM",
932 doc: None,
933 available_since: None,
934 },
935 GroupValue {
936 name: "SDL_GPU_TEXTUREFORMAT_ASTC_4x4_UNORM_SRGB",
937 short_name: "ASTC_4x4_UNORM_SRGB",
938 doc: None,
939 available_since: None,
940 },
941 GroupValue {
942 name: "SDL_GPU_TEXTUREFORMAT_ASTC_5x4_UNORM_SRGB",
943 short_name: "ASTC_5x4_UNORM_SRGB",
944 doc: None,
945 available_since: None,
946 },
947 GroupValue {
948 name: "SDL_GPU_TEXTUREFORMAT_ASTC_5x5_UNORM_SRGB",
949 short_name: "ASTC_5x5_UNORM_SRGB",
950 doc: None,
951 available_since: None,
952 },
953 GroupValue {
954 name: "SDL_GPU_TEXTUREFORMAT_ASTC_6x5_UNORM_SRGB",
955 short_name: "ASTC_6x5_UNORM_SRGB",
956 doc: None,
957 available_since: None,
958 },
959 GroupValue {
960 name: "SDL_GPU_TEXTUREFORMAT_ASTC_6x6_UNORM_SRGB",
961 short_name: "ASTC_6x6_UNORM_SRGB",
962 doc: None,
963 available_since: None,
964 },
965 GroupValue {
966 name: "SDL_GPU_TEXTUREFORMAT_ASTC_8x5_UNORM_SRGB",
967 short_name: "ASTC_8x5_UNORM_SRGB",
968 doc: None,
969 available_since: None,
970 },
971 GroupValue {
972 name: "SDL_GPU_TEXTUREFORMAT_ASTC_8x6_UNORM_SRGB",
973 short_name: "ASTC_8x6_UNORM_SRGB",
974 doc: None,
975 available_since: None,
976 },
977 GroupValue {
978 name: "SDL_GPU_TEXTUREFORMAT_ASTC_8x8_UNORM_SRGB",
979 short_name: "ASTC_8x8_UNORM_SRGB",
980 doc: None,
981 available_since: None,
982 },
983 GroupValue {
984 name: "SDL_GPU_TEXTUREFORMAT_ASTC_10x5_UNORM_SRGB",
985 short_name: "ASTC_10x5_UNORM_SRGB",
986 doc: None,
987 available_since: None,
988 },
989 GroupValue {
990 name: "SDL_GPU_TEXTUREFORMAT_ASTC_10x6_UNORM_SRGB",
991 short_name: "ASTC_10x6_UNORM_SRGB",
992 doc: None,
993 available_since: None,
994 },
995 GroupValue {
996 name: "SDL_GPU_TEXTUREFORMAT_ASTC_10x8_UNORM_SRGB",
997 short_name: "ASTC_10x8_UNORM_SRGB",
998 doc: None,
999 available_since: None,
1000 },
1001 GroupValue {
1002 name: "SDL_GPU_TEXTUREFORMAT_ASTC_10x10_UNORM_SRGB",
1003 short_name: "ASTC_10x10_UNORM_SRGB",
1004 doc: None,
1005 available_since: None,
1006 },
1007 GroupValue {
1008 name: "SDL_GPU_TEXTUREFORMAT_ASTC_12x10_UNORM_SRGB",
1009 short_name: "ASTC_12x10_UNORM_SRGB",
1010 doc: None,
1011 available_since: None,
1012 },
1013 GroupValue {
1014 name: "SDL_GPU_TEXTUREFORMAT_ASTC_12x12_UNORM_SRGB",
1015 short_name: "ASTC_12x12_UNORM_SRGB",
1016 doc: None,
1017 available_since: None,
1018 },
1019 GroupValue {
1020 name: "SDL_GPU_TEXTUREFORMAT_ASTC_4x4_FLOAT",
1021 short_name: "ASTC_4x4_FLOAT",
1022 doc: None,
1023 available_since: None,
1024 },
1025 GroupValue {
1026 name: "SDL_GPU_TEXTUREFORMAT_ASTC_5x4_FLOAT",
1027 short_name: "ASTC_5x4_FLOAT",
1028 doc: None,
1029 available_since: None,
1030 },
1031 GroupValue {
1032 name: "SDL_GPU_TEXTUREFORMAT_ASTC_5x5_FLOAT",
1033 short_name: "ASTC_5x5_FLOAT",
1034 doc: None,
1035 available_since: None,
1036 },
1037 GroupValue {
1038 name: "SDL_GPU_TEXTUREFORMAT_ASTC_6x5_FLOAT",
1039 short_name: "ASTC_6x5_FLOAT",
1040 doc: None,
1041 available_since: None,
1042 },
1043 GroupValue {
1044 name: "SDL_GPU_TEXTUREFORMAT_ASTC_6x6_FLOAT",
1045 short_name: "ASTC_6x6_FLOAT",
1046 doc: None,
1047 available_since: None,
1048 },
1049 GroupValue {
1050 name: "SDL_GPU_TEXTUREFORMAT_ASTC_8x5_FLOAT",
1051 short_name: "ASTC_8x5_FLOAT",
1052 doc: None,
1053 available_since: None,
1054 },
1055 GroupValue {
1056 name: "SDL_GPU_TEXTUREFORMAT_ASTC_8x6_FLOAT",
1057 short_name: "ASTC_8x6_FLOAT",
1058 doc: None,
1059 available_since: None,
1060 },
1061 GroupValue {
1062 name: "SDL_GPU_TEXTUREFORMAT_ASTC_8x8_FLOAT",
1063 short_name: "ASTC_8x8_FLOAT",
1064 doc: None,
1065 available_since: None,
1066 },
1067 GroupValue {
1068 name: "SDL_GPU_TEXTUREFORMAT_ASTC_10x5_FLOAT",
1069 short_name: "ASTC_10x5_FLOAT",
1070 doc: None,
1071 available_since: None,
1072 },
1073 GroupValue {
1074 name: "SDL_GPU_TEXTUREFORMAT_ASTC_10x6_FLOAT",
1075 short_name: "ASTC_10x6_FLOAT",
1076 doc: None,
1077 available_since: None,
1078 },
1079 GroupValue {
1080 name: "SDL_GPU_TEXTUREFORMAT_ASTC_10x8_FLOAT",
1081 short_name: "ASTC_10x8_FLOAT",
1082 doc: None,
1083 available_since: None,
1084 },
1085 GroupValue {
1086 name: "SDL_GPU_TEXTUREFORMAT_ASTC_10x10_FLOAT",
1087 short_name: "ASTC_10x10_FLOAT",
1088 doc: None,
1089 available_since: None,
1090 },
1091 GroupValue {
1092 name: "SDL_GPU_TEXTUREFORMAT_ASTC_12x10_FLOAT",
1093 short_name: "ASTC_12x10_FLOAT",
1094 doc: None,
1095 available_since: None,
1096 },
1097 GroupValue {
1098 name: "SDL_GPU_TEXTUREFORMAT_ASTC_12x12_FLOAT",
1099 short_name: "ASTC_12x12_FLOAT",
1100 doc: None,
1101 available_since: None,
1102 },
1103 ],
1104};
1105pub const METADATA_SDL_GPUTextureUsageFlags: Group = Group {
1106 module: "gpu",
1107 kind: GroupKind::Flags,
1108 name: "SDL_GPUTextureUsageFlags",
1109 short_name: "GPUTextureUsageFlags",
1110 doc: Some(
1111 "Specifies how a texture is intended to be used by the client.\n\nA texture must have at least one usage flag. Note that some usage flag\ncombinations are invalid.\n\nWith regards to compute storage usage, READ | WRITE means that you can have\nshader A that only writes into the texture and shader B that only reads\nfrom the texture and bind the same texture to either shader respectively.\nSIMULTANEOUS means that you can do reads and writes within the same shader\nor compute pass. It also implies that atomic ops can be used, since those\nare read-modify-write operations. If you use SIMULTANEOUS, you are\nresponsible for avoiding data races, as there is no data synchronization\nwithin a compute pass. Note that SIMULTANEOUS usage is only supported by a\nlimited number of texture formats.\n\n## Availability\nThis datatype is available since SDL 3.2.0.\n\n## See also\n- [`SDL_CreateGPUTexture`]\n",
1112 ),
1113 available_since: Some(SDL_VERSIONNUM(3, 2, 0)),
1114 values: &[
1115 GroupValue {
1116 name: "SDL_GPU_TEXTUREUSAGE_SAMPLER",
1117 short_name: "SAMPLER",
1118 doc: Some("Texture supports sampling.\n"),
1119 available_since: None,
1120 },
1121 GroupValue {
1122 name: "SDL_GPU_TEXTUREUSAGE_COLOR_TARGET",
1123 short_name: "COLOR_TARGET",
1124 doc: Some("Texture is a color render target.\n"),
1125 available_since: None,
1126 },
1127 GroupValue {
1128 name: "SDL_GPU_TEXTUREUSAGE_DEPTH_STENCIL_TARGET",
1129 short_name: "DEPTH_STENCIL_TARGET",
1130 doc: Some("Texture is a depth stencil target.\n"),
1131 available_since: None,
1132 },
1133 GroupValue {
1134 name: "SDL_GPU_TEXTUREUSAGE_GRAPHICS_STORAGE_READ",
1135 short_name: "GRAPHICS_STORAGE_READ",
1136 doc: Some("Texture supports storage reads in graphics stages.\n"),
1137 available_since: None,
1138 },
1139 GroupValue {
1140 name: "SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_READ",
1141 short_name: "COMPUTE_STORAGE_READ",
1142 doc: Some("Texture supports storage reads in the compute stage.\n"),
1143 available_since: None,
1144 },
1145 GroupValue {
1146 name: "SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_WRITE",
1147 short_name: "COMPUTE_STORAGE_WRITE",
1148 doc: Some("Texture supports storage writes in the compute stage.\n"),
1149 available_since: None,
1150 },
1151 GroupValue {
1152 name: "SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_SIMULTANEOUS_READ_WRITE",
1153 short_name: "COMPUTE_STORAGE_SIMULTANEOUS_READ_WRITE",
1154 doc: Some(
1155 "Texture supports reads and writes in the same compute shader. This is NOT equivalent to READ | WRITE.\n",
1156 ),
1157 available_since: None,
1158 },
1159 ],
1160};
1161pub const METADATA_SDL_GPUTextureType: Group = Group {
1162 module: "gpu",
1163 kind: GroupKind::Enum,
1164 name: "SDL_GPUTextureType",
1165 short_name: "GPUTextureType",
1166 doc: Some(
1167 "Specifies the type of a texture.\n\n## Availability\nThis enum is available since SDL 3.2.0.\n\n## See also\n- [`SDL_CreateGPUTexture`]\n",
1168 ),
1169 available_since: Some(SDL_VERSIONNUM(3, 2, 0)),
1170 values: &[
1171 GroupValue {
1172 name: "SDL_GPU_TEXTURETYPE_2D",
1173 short_name: "_2D",
1174 doc: Some("The texture is a 2-dimensional image.\n"),
1175 available_since: None,
1176 },
1177 GroupValue {
1178 name: "SDL_GPU_TEXTURETYPE_2D_ARRAY",
1179 short_name: "_2D_ARRAY",
1180 doc: Some("The texture is a 2-dimensional array image.\n"),
1181 available_since: None,
1182 },
1183 GroupValue {
1184 name: "SDL_GPU_TEXTURETYPE_3D",
1185 short_name: "_3D",
1186 doc: Some("The texture is a 3-dimensional image.\n"),
1187 available_since: None,
1188 },
1189 GroupValue {
1190 name: "SDL_GPU_TEXTURETYPE_CUBE",
1191 short_name: "CUBE",
1192 doc: Some("The texture is a cube image.\n"),
1193 available_since: None,
1194 },
1195 GroupValue {
1196 name: "SDL_GPU_TEXTURETYPE_CUBE_ARRAY",
1197 short_name: "CUBE_ARRAY",
1198 doc: Some("The texture is a cube array image.\n"),
1199 available_since: None,
1200 },
1201 ],
1202};
1203pub const METADATA_SDL_GPUSampleCount: Group = Group {
1204 module: "gpu",
1205 kind: GroupKind::Enum,
1206 name: "SDL_GPUSampleCount",
1207 short_name: "GPUSampleCount",
1208 doc: Some(
1209 "Specifies the sample count of a texture.\n\nUsed in multisampling. Note that this value only applies when the texture\nis used as a render target.\n\n## Availability\nThis enum is available since SDL 3.2.0.\n\n## See also\n- [`SDL_CreateGPUTexture`]\n- [`SDL_GPUTextureSupportsSampleCount`]\n",
1210 ),
1211 available_since: Some(SDL_VERSIONNUM(3, 2, 0)),
1212 values: &[
1213 GroupValue {
1214 name: "SDL_GPU_SAMPLECOUNT_1",
1215 short_name: "_1",
1216 doc: Some("No multisampling.\n"),
1217 available_since: None,
1218 },
1219 GroupValue {
1220 name: "SDL_GPU_SAMPLECOUNT_2",
1221 short_name: "_2",
1222 doc: Some("MSAA 2x\n"),
1223 available_since: None,
1224 },
1225 GroupValue {
1226 name: "SDL_GPU_SAMPLECOUNT_4",
1227 short_name: "_4",
1228 doc: Some("MSAA 4x\n"),
1229 available_since: None,
1230 },
1231 GroupValue {
1232 name: "SDL_GPU_SAMPLECOUNT_8",
1233 short_name: "_8",
1234 doc: Some("MSAA 8x\n"),
1235 available_since: None,
1236 },
1237 ],
1238};
1239pub const METADATA_SDL_GPUCubeMapFace: Group = Group {
1240 module: "gpu",
1241 kind: GroupKind::Enum,
1242 name: "SDL_GPUCubeMapFace",
1243 short_name: "GPUCubeMapFace",
1244 doc: Some(
1245 "Specifies the face of a cube map.\n\nCan be passed in as the layer field in texture-related structs.\n\n## Availability\nThis enum is available since SDL 3.2.0.\n",
1246 ),
1247 available_since: Some(SDL_VERSIONNUM(3, 2, 0)),
1248 values: &[
1249 GroupValue {
1250 name: "SDL_GPU_CUBEMAPFACE_POSITIVEX",
1251 short_name: "POSITIVEX",
1252 doc: None,
1253 available_since: None,
1254 },
1255 GroupValue {
1256 name: "SDL_GPU_CUBEMAPFACE_NEGATIVEX",
1257 short_name: "NEGATIVEX",
1258 doc: None,
1259 available_since: None,
1260 },
1261 GroupValue {
1262 name: "SDL_GPU_CUBEMAPFACE_POSITIVEY",
1263 short_name: "POSITIVEY",
1264 doc: None,
1265 available_since: None,
1266 },
1267 GroupValue {
1268 name: "SDL_GPU_CUBEMAPFACE_NEGATIVEY",
1269 short_name: "NEGATIVEY",
1270 doc: None,
1271 available_since: None,
1272 },
1273 GroupValue {
1274 name: "SDL_GPU_CUBEMAPFACE_POSITIVEZ",
1275 short_name: "POSITIVEZ",
1276 doc: None,
1277 available_since: None,
1278 },
1279 GroupValue {
1280 name: "SDL_GPU_CUBEMAPFACE_NEGATIVEZ",
1281 short_name: "NEGATIVEZ",
1282 doc: None,
1283 available_since: None,
1284 },
1285 ],
1286};
1287pub const METADATA_SDL_GPUBufferUsageFlags: Group = Group {
1288 module: "gpu",
1289 kind: GroupKind::Flags,
1290 name: "SDL_GPUBufferUsageFlags",
1291 short_name: "GPUBufferUsageFlags",
1292 doc: Some(
1293 "Specifies how a buffer is intended to be used by the client.\n\nA buffer must have at least one usage flag. Note that some usage flag\ncombinations are invalid.\n\nUnlike textures, READ | WRITE can be used for simultaneous read-write\nusage. The same data synchronization concerns as textures apply.\n\nIf you use a STORAGE flag, the data in the buffer must respect std140\nlayout conventions. In practical terms this means you must ensure that vec3\nand vec4 fields are 16-byte aligned.\n\n## Availability\nThis datatype is available since SDL 3.2.0.\n\n## See also\n- [`SDL_CreateGPUBuffer`]\n",
1294 ),
1295 available_since: Some(SDL_VERSIONNUM(3, 2, 0)),
1296 values: &[
1297 GroupValue {
1298 name: "SDL_GPU_BUFFERUSAGE_VERTEX",
1299 short_name: "VERTEX",
1300 doc: Some("Buffer is a vertex buffer.\n"),
1301 available_since: None,
1302 },
1303 GroupValue {
1304 name: "SDL_GPU_BUFFERUSAGE_INDEX",
1305 short_name: "INDEX",
1306 doc: Some("Buffer is an index buffer.\n"),
1307 available_since: None,
1308 },
1309 GroupValue {
1310 name: "SDL_GPU_BUFFERUSAGE_INDIRECT",
1311 short_name: "INDIRECT",
1312 doc: Some("Buffer is an indirect buffer.\n"),
1313 available_since: None,
1314 },
1315 GroupValue {
1316 name: "SDL_GPU_BUFFERUSAGE_GRAPHICS_STORAGE_READ",
1317 short_name: "GRAPHICS_STORAGE_READ",
1318 doc: Some("Buffer supports storage reads in graphics stages.\n"),
1319 available_since: None,
1320 },
1321 GroupValue {
1322 name: "SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_READ",
1323 short_name: "COMPUTE_STORAGE_READ",
1324 doc: Some("Buffer supports storage reads in the compute stage.\n"),
1325 available_since: None,
1326 },
1327 GroupValue {
1328 name: "SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_WRITE",
1329 short_name: "COMPUTE_STORAGE_WRITE",
1330 doc: Some("Buffer supports storage writes in the compute stage.\n"),
1331 available_since: None,
1332 },
1333 ],
1334};
1335pub const METADATA_SDL_GPUTransferBufferUsage: Group = Group {
1336 module: "gpu",
1337 kind: GroupKind::Enum,
1338 name: "SDL_GPUTransferBufferUsage",
1339 short_name: "GPUTransferBufferUsage",
1340 doc: Some(
1341 "Specifies how a transfer buffer is intended to be used by the client.\n\nNote that mapping and copying FROM an upload transfer buffer or TO a\ndownload transfer buffer is undefined behavior.\n\n## Availability\nThis enum is available since SDL 3.2.0.\n\n## See also\n- [`SDL_CreateGPUTransferBuffer`]\n",
1342 ),
1343 available_since: Some(SDL_VERSIONNUM(3, 2, 0)),
1344 values: &[
1345 GroupValue {
1346 name: "SDL_GPU_TRANSFERBUFFERUSAGE_UPLOAD",
1347 short_name: "UPLOAD",
1348 doc: None,
1349 available_since: None,
1350 },
1351 GroupValue {
1352 name: "SDL_GPU_TRANSFERBUFFERUSAGE_DOWNLOAD",
1353 short_name: "DOWNLOAD",
1354 doc: None,
1355 available_since: None,
1356 },
1357 ],
1358};
1359pub const METADATA_SDL_GPUShaderStage: Group = Group {
1360 module: "gpu",
1361 kind: GroupKind::Enum,
1362 name: "SDL_GPUShaderStage",
1363 short_name: "GPUShaderStage",
1364 doc: Some(
1365 "Specifies which stage a shader program corresponds to.\n\n## Availability\nThis enum is available since SDL 3.2.0.\n\n## See also\n- [`SDL_CreateGPUShader`]\n",
1366 ),
1367 available_since: Some(SDL_VERSIONNUM(3, 2, 0)),
1368 values: &[
1369 GroupValue {
1370 name: "SDL_GPU_SHADERSTAGE_VERTEX",
1371 short_name: "VERTEX",
1372 doc: None,
1373 available_since: None,
1374 },
1375 GroupValue {
1376 name: "SDL_GPU_SHADERSTAGE_FRAGMENT",
1377 short_name: "FRAGMENT",
1378 doc: None,
1379 available_since: None,
1380 },
1381 ],
1382};
1383pub const METADATA_SDL_GPUShaderFormat: Group = Group {
1384 module: "gpu",
1385 kind: GroupKind::Flags,
1386 name: "SDL_GPUShaderFormat",
1387 short_name: "GPUShaderFormat",
1388 doc: Some(
1389 "Specifies the format of shader code.\n\nEach format corresponds to a specific backend that accepts it.\n\n## Availability\nThis datatype is available since SDL 3.2.0.\n\n## See also\n- [`SDL_CreateGPUShader`]\n",
1390 ),
1391 available_since: Some(SDL_VERSIONNUM(3, 2, 0)),
1392 values: &[
1393 GroupValue {
1394 name: "SDL_GPU_SHADERFORMAT_INVALID",
1395 short_name: "INVALID",
1396 doc: None,
1397 available_since: None,
1398 },
1399 GroupValue {
1400 name: "SDL_GPU_SHADERFORMAT_PRIVATE",
1401 short_name: "PRIVATE",
1402 doc: Some("Shaders for NDA'd platforms.\n"),
1403 available_since: None,
1404 },
1405 GroupValue {
1406 name: "SDL_GPU_SHADERFORMAT_SPIRV",
1407 short_name: "SPIRV",
1408 doc: Some("SPIR-V shaders for Vulkan.\n"),
1409 available_since: None,
1410 },
1411 GroupValue {
1412 name: "SDL_GPU_SHADERFORMAT_DXBC",
1413 short_name: "DXBC",
1414 doc: Some("DXBC SM5_1 shaders for D3D12.\n"),
1415 available_since: None,
1416 },
1417 GroupValue {
1418 name: "SDL_GPU_SHADERFORMAT_DXIL",
1419 short_name: "DXIL",
1420 doc: Some("DXIL SM6_0 shaders for D3D12.\n"),
1421 available_since: None,
1422 },
1423 GroupValue {
1424 name: "SDL_GPU_SHADERFORMAT_MSL",
1425 short_name: "MSL",
1426 doc: Some("MSL shaders for Metal.\n"),
1427 available_since: None,
1428 },
1429 GroupValue {
1430 name: "SDL_GPU_SHADERFORMAT_METALLIB",
1431 short_name: "METALLIB",
1432 doc: Some("Precompiled metallib shaders for Metal.\n"),
1433 available_since: None,
1434 },
1435 ],
1436};
1437pub const METADATA_SDL_GPUVertexElementFormat: Group = Group {
1438 module: "gpu",
1439 kind: GroupKind::Enum,
1440 name: "SDL_GPUVertexElementFormat",
1441 short_name: "GPUVertexElementFormat",
1442 doc: Some(
1443 "Specifies the format of a vertex attribute.\n\n## Availability\nThis enum is available since SDL 3.2.0.\n\n## See also\n- [`SDL_CreateGPUGraphicsPipeline`]\n",
1444 ),
1445 available_since: Some(SDL_VERSIONNUM(3, 2, 0)),
1446 values: &[
1447 GroupValue {
1448 name: "SDL_GPU_VERTEXELEMENTFORMAT_INVALID",
1449 short_name: "INVALID",
1450 doc: None,
1451 available_since: None,
1452 },
1453 GroupValue {
1454 name: "SDL_GPU_VERTEXELEMENTFORMAT_INT",
1455 short_name: "INT",
1456 doc: None,
1457 available_since: None,
1458 },
1459 GroupValue {
1460 name: "SDL_GPU_VERTEXELEMENTFORMAT_INT2",
1461 short_name: "INT2",
1462 doc: None,
1463 available_since: None,
1464 },
1465 GroupValue {
1466 name: "SDL_GPU_VERTEXELEMENTFORMAT_INT3",
1467 short_name: "INT3",
1468 doc: None,
1469 available_since: None,
1470 },
1471 GroupValue {
1472 name: "SDL_GPU_VERTEXELEMENTFORMAT_INT4",
1473 short_name: "INT4",
1474 doc: None,
1475 available_since: None,
1476 },
1477 GroupValue {
1478 name: "SDL_GPU_VERTEXELEMENTFORMAT_UINT",
1479 short_name: "UINT",
1480 doc: None,
1481 available_since: None,
1482 },
1483 GroupValue {
1484 name: "SDL_GPU_VERTEXELEMENTFORMAT_UINT2",
1485 short_name: "UINT2",
1486 doc: None,
1487 available_since: None,
1488 },
1489 GroupValue {
1490 name: "SDL_GPU_VERTEXELEMENTFORMAT_UINT3",
1491 short_name: "UINT3",
1492 doc: None,
1493 available_since: None,
1494 },
1495 GroupValue {
1496 name: "SDL_GPU_VERTEXELEMENTFORMAT_UINT4",
1497 short_name: "UINT4",
1498 doc: None,
1499 available_since: None,
1500 },
1501 GroupValue {
1502 name: "SDL_GPU_VERTEXELEMENTFORMAT_FLOAT",
1503 short_name: "FLOAT",
1504 doc: None,
1505 available_since: None,
1506 },
1507 GroupValue {
1508 name: "SDL_GPU_VERTEXELEMENTFORMAT_FLOAT2",
1509 short_name: "FLOAT2",
1510 doc: None,
1511 available_since: None,
1512 },
1513 GroupValue {
1514 name: "SDL_GPU_VERTEXELEMENTFORMAT_FLOAT3",
1515 short_name: "FLOAT3",
1516 doc: None,
1517 available_since: None,
1518 },
1519 GroupValue {
1520 name: "SDL_GPU_VERTEXELEMENTFORMAT_FLOAT4",
1521 short_name: "FLOAT4",
1522 doc: None,
1523 available_since: None,
1524 },
1525 GroupValue {
1526 name: "SDL_GPU_VERTEXELEMENTFORMAT_BYTE2",
1527 short_name: "BYTE2",
1528 doc: None,
1529 available_since: None,
1530 },
1531 GroupValue {
1532 name: "SDL_GPU_VERTEXELEMENTFORMAT_BYTE4",
1533 short_name: "BYTE4",
1534 doc: None,
1535 available_since: None,
1536 },
1537 GroupValue {
1538 name: "SDL_GPU_VERTEXELEMENTFORMAT_UBYTE2",
1539 short_name: "UBYTE2",
1540 doc: None,
1541 available_since: None,
1542 },
1543 GroupValue {
1544 name: "SDL_GPU_VERTEXELEMENTFORMAT_UBYTE4",
1545 short_name: "UBYTE4",
1546 doc: None,
1547 available_since: None,
1548 },
1549 GroupValue {
1550 name: "SDL_GPU_VERTEXELEMENTFORMAT_BYTE2_NORM",
1551 short_name: "BYTE2_NORM",
1552 doc: None,
1553 available_since: None,
1554 },
1555 GroupValue {
1556 name: "SDL_GPU_VERTEXELEMENTFORMAT_BYTE4_NORM",
1557 short_name: "BYTE4_NORM",
1558 doc: None,
1559 available_since: None,
1560 },
1561 GroupValue {
1562 name: "SDL_GPU_VERTEXELEMENTFORMAT_UBYTE2_NORM",
1563 short_name: "UBYTE2_NORM",
1564 doc: None,
1565 available_since: None,
1566 },
1567 GroupValue {
1568 name: "SDL_GPU_VERTEXELEMENTFORMAT_UBYTE4_NORM",
1569 short_name: "UBYTE4_NORM",
1570 doc: None,
1571 available_since: None,
1572 },
1573 GroupValue {
1574 name: "SDL_GPU_VERTEXELEMENTFORMAT_SHORT2",
1575 short_name: "SHORT2",
1576 doc: None,
1577 available_since: None,
1578 },
1579 GroupValue {
1580 name: "SDL_GPU_VERTEXELEMENTFORMAT_SHORT4",
1581 short_name: "SHORT4",
1582 doc: None,
1583 available_since: None,
1584 },
1585 GroupValue {
1586 name: "SDL_GPU_VERTEXELEMENTFORMAT_USHORT2",
1587 short_name: "USHORT2",
1588 doc: None,
1589 available_since: None,
1590 },
1591 GroupValue {
1592 name: "SDL_GPU_VERTEXELEMENTFORMAT_USHORT4",
1593 short_name: "USHORT4",
1594 doc: None,
1595 available_since: None,
1596 },
1597 GroupValue {
1598 name: "SDL_GPU_VERTEXELEMENTFORMAT_SHORT2_NORM",
1599 short_name: "SHORT2_NORM",
1600 doc: None,
1601 available_since: None,
1602 },
1603 GroupValue {
1604 name: "SDL_GPU_VERTEXELEMENTFORMAT_SHORT4_NORM",
1605 short_name: "SHORT4_NORM",
1606 doc: None,
1607 available_since: None,
1608 },
1609 GroupValue {
1610 name: "SDL_GPU_VERTEXELEMENTFORMAT_USHORT2_NORM",
1611 short_name: "USHORT2_NORM",
1612 doc: None,
1613 available_since: None,
1614 },
1615 GroupValue {
1616 name: "SDL_GPU_VERTEXELEMENTFORMAT_USHORT4_NORM",
1617 short_name: "USHORT4_NORM",
1618 doc: None,
1619 available_since: None,
1620 },
1621 GroupValue {
1622 name: "SDL_GPU_VERTEXELEMENTFORMAT_HALF2",
1623 short_name: "HALF2",
1624 doc: None,
1625 available_since: None,
1626 },
1627 GroupValue {
1628 name: "SDL_GPU_VERTEXELEMENTFORMAT_HALF4",
1629 short_name: "HALF4",
1630 doc: None,
1631 available_since: None,
1632 },
1633 ],
1634};
1635pub const METADATA_SDL_GPUVertexInputRate: Group = Group {
1636 module: "gpu",
1637 kind: GroupKind::Enum,
1638 name: "SDL_GPUVertexInputRate",
1639 short_name: "GPUVertexInputRate",
1640 doc: Some(
1641 "Specifies the rate at which vertex attributes are pulled from buffers.\n\n## Availability\nThis enum is available since SDL 3.2.0.\n\n## See also\n- [`SDL_CreateGPUGraphicsPipeline`]\n",
1642 ),
1643 available_since: Some(SDL_VERSIONNUM(3, 2, 0)),
1644 values: &[
1645 GroupValue {
1646 name: "SDL_GPU_VERTEXINPUTRATE_VERTEX",
1647 short_name: "VERTEX",
1648 doc: Some("Attribute addressing is a function of the vertex index.\n"),
1649 available_since: None,
1650 },
1651 GroupValue {
1652 name: "SDL_GPU_VERTEXINPUTRATE_INSTANCE",
1653 short_name: "INSTANCE",
1654 doc: Some("Attribute addressing is a function of the instance index.\n"),
1655 available_since: None,
1656 },
1657 ],
1658};
1659pub const METADATA_SDL_GPUFillMode: Group = Group {
1660 module: "gpu",
1661 kind: GroupKind::Enum,
1662 name: "SDL_GPUFillMode",
1663 short_name: "GPUFillMode",
1664 doc: Some(
1665 "Specifies the fill mode of the graphics pipeline.\n\n## Availability\nThis enum is available since SDL 3.2.0.\n\n## See also\n- [`SDL_CreateGPUGraphicsPipeline`]\n",
1666 ),
1667 available_since: Some(SDL_VERSIONNUM(3, 2, 0)),
1668 values: &[
1669 GroupValue {
1670 name: "SDL_GPU_FILLMODE_FILL",
1671 short_name: "FILL",
1672 doc: Some("Polygons will be rendered via rasterization.\n"),
1673 available_since: None,
1674 },
1675 GroupValue {
1676 name: "SDL_GPU_FILLMODE_LINE",
1677 short_name: "LINE",
1678 doc: Some("Polygon edges will be drawn as line segments.\n"),
1679 available_since: None,
1680 },
1681 ],
1682};
1683pub const METADATA_SDL_GPUCullMode: Group = Group {
1684 module: "gpu",
1685 kind: GroupKind::Enum,
1686 name: "SDL_GPUCullMode",
1687 short_name: "GPUCullMode",
1688 doc: Some(
1689 "Specifies the facing direction in which triangle faces will be culled.\n\n## Availability\nThis enum is available since SDL 3.2.0.\n\n## See also\n- [`SDL_CreateGPUGraphicsPipeline`]\n",
1690 ),
1691 available_since: Some(SDL_VERSIONNUM(3, 2, 0)),
1692 values: &[
1693 GroupValue {
1694 name: "SDL_GPU_CULLMODE_NONE",
1695 short_name: "NONE",
1696 doc: Some("No triangles are culled.\n"),
1697 available_since: None,
1698 },
1699 GroupValue {
1700 name: "SDL_GPU_CULLMODE_FRONT",
1701 short_name: "FRONT",
1702 doc: Some("Front-facing triangles are culled.\n"),
1703 available_since: None,
1704 },
1705 GroupValue {
1706 name: "SDL_GPU_CULLMODE_BACK",
1707 short_name: "BACK",
1708 doc: Some("Back-facing triangles are culled.\n"),
1709 available_since: None,
1710 },
1711 ],
1712};
1713pub const METADATA_SDL_GPUFrontFace: Group = Group {
1714 module: "gpu",
1715 kind: GroupKind::Enum,
1716 name: "SDL_GPUFrontFace",
1717 short_name: "GPUFrontFace",
1718 doc: Some(
1719 "Specifies the vertex winding that will cause a triangle to be determined to\nbe front-facing.\n\n## Availability\nThis enum is available since SDL 3.2.0.\n\n## See also\n- [`SDL_CreateGPUGraphicsPipeline`]\n",
1720 ),
1721 available_since: Some(SDL_VERSIONNUM(3, 2, 0)),
1722 values: &[
1723 GroupValue {
1724 name: "SDL_GPU_FRONTFACE_COUNTER_CLOCKWISE",
1725 short_name: "COUNTER_CLOCKWISE",
1726 doc: Some(
1727 "A triangle with counter-clockwise vertex winding will be considered front-facing.\n",
1728 ),
1729 available_since: None,
1730 },
1731 GroupValue {
1732 name: "SDL_GPU_FRONTFACE_CLOCKWISE",
1733 short_name: "CLOCKWISE",
1734 doc: Some(
1735 "A triangle with clockwise vertex winding will be considered front-facing.\n",
1736 ),
1737 available_since: None,
1738 },
1739 ],
1740};
1741pub const METADATA_SDL_GPUCompareOp: Group = Group {
1742 module: "gpu",
1743 kind: GroupKind::Enum,
1744 name: "SDL_GPUCompareOp",
1745 short_name: "GPUCompareOp",
1746 doc: Some(
1747 "Specifies a comparison operator for depth, stencil and sampler operations.\n\n## Availability\nThis enum is available since SDL 3.2.0.\n\n## See also\n- [`SDL_CreateGPUGraphicsPipeline`]\n",
1748 ),
1749 available_since: Some(SDL_VERSIONNUM(3, 2, 0)),
1750 values: &[
1751 GroupValue {
1752 name: "SDL_GPU_COMPAREOP_INVALID",
1753 short_name: "INVALID",
1754 doc: None,
1755 available_since: None,
1756 },
1757 GroupValue {
1758 name: "SDL_GPU_COMPAREOP_NEVER",
1759 short_name: "NEVER",
1760 doc: Some("The comparison always evaluates false.\n"),
1761 available_since: None,
1762 },
1763 GroupValue {
1764 name: "SDL_GPU_COMPAREOP_LESS",
1765 short_name: "LESS",
1766 doc: Some("The comparison evaluates reference < test.\n"),
1767 available_since: None,
1768 },
1769 GroupValue {
1770 name: "SDL_GPU_COMPAREOP_EQUAL",
1771 short_name: "EQUAL",
1772 doc: Some("The comparison evaluates reference == test.\n"),
1773 available_since: None,
1774 },
1775 GroupValue {
1776 name: "SDL_GPU_COMPAREOP_LESS_OR_EQUAL",
1777 short_name: "LESS_OR_EQUAL",
1778 doc: Some("The comparison evaluates reference <= test.\n"),
1779 available_since: None,
1780 },
1781 GroupValue {
1782 name: "SDL_GPU_COMPAREOP_GREATER",
1783 short_name: "GREATER",
1784 doc: Some("The comparison evaluates reference > test.\n"),
1785 available_since: None,
1786 },
1787 GroupValue {
1788 name: "SDL_GPU_COMPAREOP_NOT_EQUAL",
1789 short_name: "NOT_EQUAL",
1790 doc: Some("The comparison evaluates reference != test.\n"),
1791 available_since: None,
1792 },
1793 GroupValue {
1794 name: "SDL_GPU_COMPAREOP_GREATER_OR_EQUAL",
1795 short_name: "GREATER_OR_EQUAL",
1796 doc: Some("The comparison evaluates reference >= test.\n"),
1797 available_since: None,
1798 },
1799 GroupValue {
1800 name: "SDL_GPU_COMPAREOP_ALWAYS",
1801 short_name: "ALWAYS",
1802 doc: Some("The comparison always evaluates true.\n"),
1803 available_since: None,
1804 },
1805 ],
1806};
1807pub const METADATA_SDL_GPUStencilOp: Group = Group {
1808 module: "gpu",
1809 kind: GroupKind::Enum,
1810 name: "SDL_GPUStencilOp",
1811 short_name: "GPUStencilOp",
1812 doc: Some(
1813 "Specifies what happens to a stored stencil value if stencil tests fail or\npass.\n\n## Availability\nThis enum is available since SDL 3.2.0.\n\n## See also\n- [`SDL_CreateGPUGraphicsPipeline`]\n",
1814 ),
1815 available_since: Some(SDL_VERSIONNUM(3, 2, 0)),
1816 values: &[
1817 GroupValue {
1818 name: "SDL_GPU_STENCILOP_INVALID",
1819 short_name: "INVALID",
1820 doc: None,
1821 available_since: None,
1822 },
1823 GroupValue {
1824 name: "SDL_GPU_STENCILOP_KEEP",
1825 short_name: "KEEP",
1826 doc: Some("Keeps the current value.\n"),
1827 available_since: None,
1828 },
1829 GroupValue {
1830 name: "SDL_GPU_STENCILOP_ZERO",
1831 short_name: "ZERO",
1832 doc: Some("Sets the value to 0.\n"),
1833 available_since: None,
1834 },
1835 GroupValue {
1836 name: "SDL_GPU_STENCILOP_REPLACE",
1837 short_name: "REPLACE",
1838 doc: Some("Sets the value to reference.\n"),
1839 available_since: None,
1840 },
1841 GroupValue {
1842 name: "SDL_GPU_STENCILOP_INCREMENT_AND_CLAMP",
1843 short_name: "INCREMENT_AND_CLAMP",
1844 doc: Some("Increments the current value and clamps to the maximum value.\n"),
1845 available_since: None,
1846 },
1847 GroupValue {
1848 name: "SDL_GPU_STENCILOP_DECREMENT_AND_CLAMP",
1849 short_name: "DECREMENT_AND_CLAMP",
1850 doc: Some("Decrements the current value and clamps to 0.\n"),
1851 available_since: None,
1852 },
1853 GroupValue {
1854 name: "SDL_GPU_STENCILOP_INVERT",
1855 short_name: "INVERT",
1856 doc: Some("Bitwise-inverts the current value.\n"),
1857 available_since: None,
1858 },
1859 GroupValue {
1860 name: "SDL_GPU_STENCILOP_INCREMENT_AND_WRAP",
1861 short_name: "INCREMENT_AND_WRAP",
1862 doc: Some("Increments the current value and wraps back to 0.\n"),
1863 available_since: None,
1864 },
1865 GroupValue {
1866 name: "SDL_GPU_STENCILOP_DECREMENT_AND_WRAP",
1867 short_name: "DECREMENT_AND_WRAP",
1868 doc: Some("Decrements the current value and wraps to the maximum value.\n"),
1869 available_since: None,
1870 },
1871 ],
1872};
1873pub const METADATA_SDL_GPUBlendOp: Group = Group {
1874 module: "gpu",
1875 kind: GroupKind::Enum,
1876 name: "SDL_GPUBlendOp",
1877 short_name: "GPUBlendOp",
1878 doc: Some(
1879 "Specifies the operator to be used when pixels in a render target are\nblended with existing pixels in the texture.\n\nThe source color is the value written by the fragment shader. The\ndestination color is the value currently existing in the texture.\n\n## Availability\nThis enum is available since SDL 3.2.0.\n\n## See also\n- [`SDL_CreateGPUGraphicsPipeline`]\n",
1880 ),
1881 available_since: Some(SDL_VERSIONNUM(3, 2, 0)),
1882 values: &[
1883 GroupValue {
1884 name: "SDL_GPU_BLENDOP_INVALID",
1885 short_name: "INVALID",
1886 doc: None,
1887 available_since: None,
1888 },
1889 GroupValue {
1890 name: "SDL_GPU_BLENDOP_ADD",
1891 short_name: "ADD",
1892 doc: Some("(source * source_factor) + (destination * destination_factor)\n"),
1893 available_since: None,
1894 },
1895 GroupValue {
1896 name: "SDL_GPU_BLENDOP_SUBTRACT",
1897 short_name: "SUBTRACT",
1898 doc: Some("(source * source_factor) - (destination * destination_factor)\n"),
1899 available_since: None,
1900 },
1901 GroupValue {
1902 name: "SDL_GPU_BLENDOP_REVERSE_SUBTRACT",
1903 short_name: "REVERSE_SUBTRACT",
1904 doc: Some("(destination * destination_factor) - (source * source_factor)\n"),
1905 available_since: None,
1906 },
1907 GroupValue {
1908 name: "SDL_GPU_BLENDOP_MIN",
1909 short_name: "MIN",
1910 doc: Some("min(source, destination)\n"),
1911 available_since: None,
1912 },
1913 GroupValue {
1914 name: "SDL_GPU_BLENDOP_MAX",
1915 short_name: "MAX",
1916 doc: Some("max(source, destination)\n"),
1917 available_since: None,
1918 },
1919 ],
1920};
1921pub const METADATA_SDL_GPUBlendFactor: Group = Group {
1922 module: "gpu",
1923 kind: GroupKind::Enum,
1924 name: "SDL_GPUBlendFactor",
1925 short_name: "GPUBlendFactor",
1926 doc: Some(
1927 "Specifies a blending factor to be used when pixels in a render target are\nblended with existing pixels in the texture.\n\nThe source color is the value written by the fragment shader. The\ndestination color is the value currently existing in the texture.\n\n## Availability\nThis enum is available since SDL 3.2.0.\n\n## See also\n- [`SDL_CreateGPUGraphicsPipeline`]\n",
1928 ),
1929 available_since: Some(SDL_VERSIONNUM(3, 2, 0)),
1930 values: &[
1931 GroupValue {
1932 name: "SDL_GPU_BLENDFACTOR_INVALID",
1933 short_name: "INVALID",
1934 doc: None,
1935 available_since: None,
1936 },
1937 GroupValue {
1938 name: "SDL_GPU_BLENDFACTOR_ZERO",
1939 short_name: "ZERO",
1940 doc: Some("0\n"),
1941 available_since: None,
1942 },
1943 GroupValue {
1944 name: "SDL_GPU_BLENDFACTOR_ONE",
1945 short_name: "ONE",
1946 doc: Some("1\n"),
1947 available_since: None,
1948 },
1949 GroupValue {
1950 name: "SDL_GPU_BLENDFACTOR_SRC_COLOR",
1951 short_name: "SRC_COLOR",
1952 doc: Some("source color\n"),
1953 available_since: None,
1954 },
1955 GroupValue {
1956 name: "SDL_GPU_BLENDFACTOR_ONE_MINUS_SRC_COLOR",
1957 short_name: "ONE_MINUS_SRC_COLOR",
1958 doc: Some("1 - source color\n"),
1959 available_since: None,
1960 },
1961 GroupValue {
1962 name: "SDL_GPU_BLENDFACTOR_DST_COLOR",
1963 short_name: "DST_COLOR",
1964 doc: Some("destination color\n"),
1965 available_since: None,
1966 },
1967 GroupValue {
1968 name: "SDL_GPU_BLENDFACTOR_ONE_MINUS_DST_COLOR",
1969 short_name: "ONE_MINUS_DST_COLOR",
1970 doc: Some("1 - destination color\n"),
1971 available_since: None,
1972 },
1973 GroupValue {
1974 name: "SDL_GPU_BLENDFACTOR_SRC_ALPHA",
1975 short_name: "SRC_ALPHA",
1976 doc: Some("source alpha\n"),
1977 available_since: None,
1978 },
1979 GroupValue {
1980 name: "SDL_GPU_BLENDFACTOR_ONE_MINUS_SRC_ALPHA",
1981 short_name: "ONE_MINUS_SRC_ALPHA",
1982 doc: Some("1 - source alpha\n"),
1983 available_since: None,
1984 },
1985 GroupValue {
1986 name: "SDL_GPU_BLENDFACTOR_DST_ALPHA",
1987 short_name: "DST_ALPHA",
1988 doc: Some("destination alpha\n"),
1989 available_since: None,
1990 },
1991 GroupValue {
1992 name: "SDL_GPU_BLENDFACTOR_ONE_MINUS_DST_ALPHA",
1993 short_name: "ONE_MINUS_DST_ALPHA",
1994 doc: Some("1 - destination alpha\n"),
1995 available_since: None,
1996 },
1997 GroupValue {
1998 name: "SDL_GPU_BLENDFACTOR_CONSTANT_COLOR",
1999 short_name: "CONSTANT_COLOR",
2000 doc: Some("blend constant\n"),
2001 available_since: None,
2002 },
2003 GroupValue {
2004 name: "SDL_GPU_BLENDFACTOR_ONE_MINUS_CONSTANT_COLOR",
2005 short_name: "ONE_MINUS_CONSTANT_COLOR",
2006 doc: Some("1 - blend constant\n"),
2007 available_since: None,
2008 },
2009 GroupValue {
2010 name: "SDL_GPU_BLENDFACTOR_SRC_ALPHA_SATURATE",
2011 short_name: "SRC_ALPHA_SATURATE",
2012 doc: Some("min(source alpha, 1 - destination alpha)\n"),
2013 available_since: None,
2014 },
2015 ],
2016};
2017pub const METADATA_SDL_GPUColorComponentFlags: Group = Group {
2018 module: "gpu",
2019 kind: GroupKind::Flags,
2020 name: "SDL_GPUColorComponentFlags",
2021 short_name: "GPUColorComponentFlags",
2022 doc: Some(
2023 "Specifies which color components are written in a graphics pipeline.\n\n## Availability\nThis datatype is available since SDL 3.2.0.\n\n## See also\n- [`SDL_CreateGPUGraphicsPipeline`]\n",
2024 ),
2025 available_since: Some(SDL_VERSIONNUM(3, 2, 0)),
2026 values: &[
2027 GroupValue {
2028 name: "SDL_GPU_COLORCOMPONENT_R",
2029 short_name: "R",
2030 doc: Some("the red component\n"),
2031 available_since: None,
2032 },
2033 GroupValue {
2034 name: "SDL_GPU_COLORCOMPONENT_G",
2035 short_name: "G",
2036 doc: Some("the green component\n"),
2037 available_since: None,
2038 },
2039 GroupValue {
2040 name: "SDL_GPU_COLORCOMPONENT_B",
2041 short_name: "B",
2042 doc: Some("the blue component\n"),
2043 available_since: None,
2044 },
2045 GroupValue {
2046 name: "SDL_GPU_COLORCOMPONENT_A",
2047 short_name: "A",
2048 doc: Some("the alpha component\n"),
2049 available_since: None,
2050 },
2051 ],
2052};
2053pub const METADATA_SDL_GPUFilter: Group = Group {
2054 module: "gpu",
2055 kind: GroupKind::Enum,
2056 name: "SDL_GPUFilter",
2057 short_name: "GPUFilter",
2058 doc: Some(
2059 "Specifies a filter operation used by a sampler.\n\n## Availability\nThis enum is available since SDL 3.2.0.\n\n## See also\n- [`SDL_CreateGPUSampler`]\n",
2060 ),
2061 available_since: Some(SDL_VERSIONNUM(3, 2, 0)),
2062 values: &[
2063 GroupValue {
2064 name: "SDL_GPU_FILTER_NEAREST",
2065 short_name: "NEAREST",
2066 doc: Some("Point filtering.\n"),
2067 available_since: None,
2068 },
2069 GroupValue {
2070 name: "SDL_GPU_FILTER_LINEAR",
2071 short_name: "LINEAR",
2072 doc: Some("Linear filtering.\n"),
2073 available_since: None,
2074 },
2075 ],
2076};
2077pub const METADATA_SDL_GPUSamplerMipmapMode: Group = Group {
2078 module: "gpu",
2079 kind: GroupKind::Enum,
2080 name: "SDL_GPUSamplerMipmapMode",
2081 short_name: "GPUSamplerMipmapMode",
2082 doc: Some(
2083 "Specifies a mipmap mode used by a sampler.\n\n## Availability\nThis enum is available since SDL 3.2.0.\n\n## See also\n- [`SDL_CreateGPUSampler`]\n",
2084 ),
2085 available_since: Some(SDL_VERSIONNUM(3, 2, 0)),
2086 values: &[
2087 GroupValue {
2088 name: "SDL_GPU_SAMPLERMIPMAPMODE_NEAREST",
2089 short_name: "NEAREST",
2090 doc: Some("Point filtering.\n"),
2091 available_since: None,
2092 },
2093 GroupValue {
2094 name: "SDL_GPU_SAMPLERMIPMAPMODE_LINEAR",
2095 short_name: "LINEAR",
2096 doc: Some("Linear filtering.\n"),
2097 available_since: None,
2098 },
2099 ],
2100};
2101pub const METADATA_SDL_GPUSamplerAddressMode: Group = Group {
2102 module: "gpu",
2103 kind: GroupKind::Enum,
2104 name: "SDL_GPUSamplerAddressMode",
2105 short_name: "GPUSamplerAddressMode",
2106 doc: Some(
2107 "Specifies behavior of texture sampling when the coordinates exceed the 0-1\nrange.\n\n## Availability\nThis enum is available since SDL 3.2.0.\n\n## See also\n- [`SDL_CreateGPUSampler`]\n",
2108 ),
2109 available_since: Some(SDL_VERSIONNUM(3, 2, 0)),
2110 values: &[
2111 GroupValue {
2112 name: "SDL_GPU_SAMPLERADDRESSMODE_REPEAT",
2113 short_name: "REPEAT",
2114 doc: Some("Specifies that the coordinates will wrap around.\n"),
2115 available_since: None,
2116 },
2117 GroupValue {
2118 name: "SDL_GPU_SAMPLERADDRESSMODE_MIRRORED_REPEAT",
2119 short_name: "MIRRORED_REPEAT",
2120 doc: Some("Specifies that the coordinates will wrap around mirrored.\n"),
2121 available_since: None,
2122 },
2123 GroupValue {
2124 name: "SDL_GPU_SAMPLERADDRESSMODE_CLAMP_TO_EDGE",
2125 short_name: "CLAMP_TO_EDGE",
2126 doc: Some("Specifies that the coordinates will clamp to the 0-1 range.\n"),
2127 available_since: None,
2128 },
2129 ],
2130};
2131pub const METADATA_SDL_GPUPresentMode: Group = Group {
2132 module: "gpu",
2133 kind: GroupKind::Enum,
2134 name: "SDL_GPUPresentMode",
2135 short_name: "GPUPresentMode",
2136 doc: Some(
2137 "Specifies the timing that will be used to present swapchain textures to the\nOS.\n\nVSYNC mode will always be supported. IMMEDIATE and MAILBOX modes may not be\nsupported on certain systems.\n\nIt is recommended to query [`SDL_WindowSupportsGPUPresentMode`] after claiming\nthe window if you wish to change the present mode to IMMEDIATE or MAILBOX.\n\n- VSYNC: Waits for vblank before presenting. No tearing is possible. If\nthere is a pending image to present, the new image is enqueued for\npresentation. Disallows tearing at the cost of visual latency.\n- IMMEDIATE: Immediately presents. Lowest latency option, but tearing may\noccur.\n- MAILBOX: Waits for vblank before presenting. No tearing is possible. If\nthere is a pending image to present, the pending image is replaced by the\nnew image. Similar to VSYNC, but with reduced visual latency.\n\n## Availability\nThis enum is available since SDL 3.2.0.\n\n## See also\n- [`SDL_SetGPUSwapchainParameters`]\n- [`SDL_WindowSupportsGPUPresentMode`]\n- [`SDL_WaitAndAcquireGPUSwapchainTexture`]\n",
2138 ),
2139 available_since: Some(SDL_VERSIONNUM(3, 2, 0)),
2140 values: &[
2141 GroupValue {
2142 name: "SDL_GPU_PRESENTMODE_VSYNC",
2143 short_name: "VSYNC",
2144 doc: None,
2145 available_since: None,
2146 },
2147 GroupValue {
2148 name: "SDL_GPU_PRESENTMODE_IMMEDIATE",
2149 short_name: "IMMEDIATE",
2150 doc: None,
2151 available_since: None,
2152 },
2153 GroupValue {
2154 name: "SDL_GPU_PRESENTMODE_MAILBOX",
2155 short_name: "MAILBOX",
2156 doc: None,
2157 available_since: None,
2158 },
2159 ],
2160};
2161pub const METADATA_SDL_GPUSwapchainComposition: Group = Group {
2162 module: "gpu",
2163 kind: GroupKind::Enum,
2164 name: "SDL_GPUSwapchainComposition",
2165 short_name: "GPUSwapchainComposition",
2166 doc: Some(
2167 "Specifies the texture format and colorspace of the swapchain textures.\n\nSDR will always be supported. Other compositions may not be supported on\ncertain systems.\n\nIt is recommended to query [`SDL_WindowSupportsGPUSwapchainComposition`] after\nclaiming the window if you wish to change the swapchain composition from\nSDR.\n\n- SDR: B8G8R8A8 or R8G8B8A8 swapchain. Pixel values are in sRGB encoding.\n- SDR_LINEAR: B8G8R8A8_SRGB or R8G8B8A8_SRGB swapchain. Pixel values are\nstored in memory in sRGB encoding but accessed in shaders in \"linear\nsRGB\" encoding which is sRGB but with a linear transfer function.\n- HDR_EXTENDED_LINEAR: R16G16B16A16_FLOAT swapchain. Pixel values are in\nextended linear sRGB encoding and permits values outside of the \\[0, 1\\]\nrange.\n- HDR10_ST2084: A2R10G10B10 or A2B10G10R10 swapchain. Pixel values are in\nBT.2020 ST2084 (PQ) encoding.\n\n## Availability\nThis enum is available since SDL 3.2.0.\n\n## See also\n- [`SDL_SetGPUSwapchainParameters`]\n- [`SDL_WindowSupportsGPUSwapchainComposition`]\n- [`SDL_WaitAndAcquireGPUSwapchainTexture`]\n",
2168 ),
2169 available_since: Some(SDL_VERSIONNUM(3, 2, 0)),
2170 values: &[
2171 GroupValue {
2172 name: "SDL_GPU_SWAPCHAINCOMPOSITION_SDR",
2173 short_name: "SDR",
2174 doc: None,
2175 available_since: None,
2176 },
2177 GroupValue {
2178 name: "SDL_GPU_SWAPCHAINCOMPOSITION_SDR_LINEAR",
2179 short_name: "SDR_LINEAR",
2180 doc: None,
2181 available_since: None,
2182 },
2183 GroupValue {
2184 name: "SDL_GPU_SWAPCHAINCOMPOSITION_HDR_EXTENDED_LINEAR",
2185 short_name: "HDR_EXTENDED_LINEAR",
2186 doc: None,
2187 available_since: None,
2188 },
2189 GroupValue {
2190 name: "SDL_GPU_SWAPCHAINCOMPOSITION_HDR10_ST2084",
2191 short_name: "HDR10_ST2084",
2192 doc: None,
2193 available_since: None,
2194 },
2195 ],
2196};