sdl3_sys/metadata/generated/
gpu.rs

1//! Metadata for items in the `crate::gpu` module
2
3use 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};