openxr_sys/
generated.rs

1#![doc = r" Automatically generated code; do not edit!"]
2#![allow(
3    non_upper_case_globals,
4    clippy::unreadable_literal,
5    clippy::identity_op,
6    unused,
7    clippy::derive_partial_eq_without_eq
8)]
9use crate::platform::*;
10use crate::support::*;
11use crate::*;
12use libc::{timespec, wchar_t};
13use std::fmt;
14use std::mem::MaybeUninit;
15use std::os::raw::{c_char, c_void};
16pub const CURRENT_API_VERSION: Version = Version::new(1u16, 1u16, 54u32);
17pub const EXTENSION_ENUM_BASE: usize = 1000000000usize;
18pub const EXTENSION_ENUM_STRIDE: usize = 1000usize;
19pub const NULL_PATH: usize = 0usize;
20pub const NULL_SYSTEM_ID: usize = 0usize;
21pub const NO_DURATION: usize = 0usize;
22pub const FREQUENCY_UNSPECIFIED: usize = 0usize;
23pub const MIN_COMPOSITION_LAYERS_SUPPORTED: usize = 16usize;
24pub const CURRENT_LOADER_API_LAYER_VERSION: usize = 1usize;
25pub const CURRENT_LOADER_RUNTIME_VERSION: usize = 1usize;
26pub const LOADER_INFO_STRUCT_VERSION: usize = 1usize;
27pub const API_LAYER_INFO_STRUCT_VERSION: usize = 1usize;
28pub const RUNTIME_INFO_STRUCT_VERSION: usize = 1usize;
29pub const API_LAYER_NEXT_INFO_STRUCT_VERSION: usize = 1usize;
30pub const API_LAYER_CREATE_INFO_STRUCT_VERSION: usize = 1usize;
31pub const API_LAYER_MAX_SETTINGS_PATH_SIZE: usize = 512usize;
32pub const HAND_JOINT_COUNT_EXT: usize = 26usize;
33pub const BODY_JOINT_COUNT_BD: usize = 24usize;
34pub const BODY_JOINT_WITHOUT_ARM_COUNT_BD: usize = 16usize;
35pub const NULL_CONTROLLER_MODEL_KEY_MSFT: usize = 0usize;
36pub const NULL_RENDER_MODEL_KEY_FB: usize = 0usize;
37pub const FACIAL_EXPRESSION_EYE_COUNT_HTC: usize = 14usize;
38pub const FACIAL_EXPRESSION_LIP_COUNT_HTC: usize = 37usize;
39pub const HAND_FOREARM_JOINT_COUNT_ULTRALEAP: usize = 27usize;
40pub const NULL_TRACKABLE_ANDROID: usize = 0usize;
41pub const MAX_HAPTIC_PCM_BUFFER_SIZE_FB: usize = 4000usize;
42pub const NULL_SPATIAL_ENTITY_ID_EXT: usize = 0usize;
43pub const NULL_SPATIAL_BUFFER_ID_EXT: usize = 0usize;
44pub const BODY_JOINT_COUNT_HTC: usize = 26usize;
45pub const FACE_EXPRESSION_COUNT_BD: usize = 52usize;
46pub const LIP_EXPRESSION_COUNT_BD: usize = 20usize;
47pub const MAX_EXTENSION_NAME_SIZE: usize = 128usize;
48pub const MAX_API_LAYER_NAME_SIZE: usize = 256usize;
49pub const MAX_API_LAYER_DESCRIPTION_SIZE: usize = 256usize;
50pub const MAX_SYSTEM_NAME_SIZE: usize = 256usize;
51pub const MAX_APPLICATION_NAME_SIZE: usize = 128usize;
52pub const MAX_ENGINE_NAME_SIZE: usize = 128usize;
53pub const MAX_RUNTIME_NAME_SIZE: usize = 128usize;
54pub const MAX_PATH_LENGTH: usize = 256usize;
55pub const MAX_STRUCTURE_NAME_SIZE: usize = 64usize;
56pub const MAX_RESULT_STRING_SIZE: usize = 64usize;
57pub const MAX_GRAPHICS_APIS_SUPPORTED: usize = 32usize;
58pub const MAX_ACTION_SET_NAME_SIZE: usize = 64usize;
59pub const MAX_ACTION_NAME_SIZE: usize = 64usize;
60pub const MAX_LOCALIZED_ACTION_SET_NAME_SIZE: usize = 128usize;
61pub const MAX_LOCALIZED_ACTION_NAME_SIZE: usize = 128usize;
62pub const UUID_SIZE: usize = 16usize;
63pub const GUID_SIZE_MSFT: usize = 16usize;
64pub const MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT: usize = 64usize;
65pub const HAND_TRACKING_CAPSULE_POINT_COUNT_FB: usize = 2usize;
66pub const HAND_TRACKING_CAPSULE_COUNT_FB: usize = 19usize;
67pub const MAX_KEYBOARD_TRACKING_NAME_SIZE_FB: usize = 128usize;
68pub const PASSTHROUGH_COLOR_MAP_MONO_SIZE_FB: usize = 256usize;
69pub const MAX_RENDER_MODEL_NAME_SIZE_FB: usize = 64usize;
70pub const MAX_LOCALIZATION_MAP_NAME_LENGTH_ML: usize = 64usize;
71pub const MAX_SPATIAL_ANCHOR_NAME_SIZE_MSFT: usize = 256usize;
72pub const MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR: usize = 256usize;
73pub const MAX_AUDIO_DEVICE_STR_SIZE_OCULUS: usize = 128usize;
74pub const FOVEATION_CENTER_SIZE_META: usize = 2usize;
75pub const MAX_VIRTUAL_KEYBOARD_COMMIT_TEXT_SIZE_META: usize = 3992usize;
76pub const MAX_EXTERNAL_CAMERA_NAME_SIZE_OCULUS: usize = 32usize;
77pub const MAX_SPACES_PER_SHARE_REQUEST_META: usize = 32usize;
78pub const UUID_SIZE_EXT: usize = 16usize;
79pub const NULL_RENDER_MODEL_ID_EXT: usize = 0usize;
80pub const MAX_RENDER_MODEL_ASSET_NODE_NAME_SIZE_EXT: usize = 64usize;
81pub const MAX_SPATIAL_ANCHOR_NAME_SIZE_HTC: usize = 256usize;
82pub const FACE_PARAMETER_COUNT_ANDROID: usize = 68usize;
83pub const FACE_REGION_CONFIDENCE_COUNT_ANDROID: usize = 3usize;
84pub const NULL_FUTURE_EXT: usize = 0usize;
85pub const MAX_COLOCATION_DISCOVERY_BUFFER_SIZE_META: usize = 1024usize;
86#[doc = "See [XrPassthroughCameraStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughCameraStateANDROID)"]
87#[repr(transparent)]
88#[derive(Copy, Clone, Eq, PartialEq, Default)]
89pub struct PassthroughCameraStateANDROID(i32);
90impl PassthroughCameraStateANDROID {
91    #[doc = "The camera has been disabled by an app, the system or the user."]
92    pub const DISABLED: PassthroughCameraStateANDROID = Self(0i32);
93    #[doc = "The camera is still coming online and not yet ready to use. The runtime may: render a black background where the passthrough video is supposed to appear."]
94    pub const INITIALIZING: PassthroughCameraStateANDROID = Self(1i32);
95    #[doc = "The camera is ready to use."]
96    pub const READY: PassthroughCameraStateANDROID = Self(2i32);
97    #[doc = "The camera is in an unrecoverable error state."]
98    pub const ERROR: PassthroughCameraStateANDROID = Self(3i32);
99    pub fn from_raw(x: i32) -> Self {
100        Self(x)
101    }
102    pub fn into_raw(self) -> i32 {
103        self.0
104    }
105}
106impl fmt::Debug for PassthroughCameraStateANDROID {
107    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
108        let name = match *self {
109            Self::DISABLED => Some("DISABLED"),
110            Self::INITIALIZING => Some("INITIALIZING"),
111            Self::READY => Some("READY"),
112            Self::ERROR => Some("ERROR"),
113            _ => None,
114        };
115        fmt_enum(fmt, self.0, name)
116    }
117}
118#[doc = "See [XrTrackableMarkerTrackingModeANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableMarkerTrackingModeANDROID)"]
119#[repr(transparent)]
120#[derive(Copy, Clone, Eq, PartialEq, Default)]
121pub struct TrackableMarkerTrackingModeANDROID(i32);
122impl TrackableMarkerTrackingModeANDROID {
123    #[doc = "Tracking dynamic markers. This mode has the highest accuracy and works on moving and static markers, but also has the highest power consumption."]
124    pub const DYNAMIC: TrackableMarkerTrackingModeANDROID = Self(0i32);
125    #[doc = "Tracking static markers. This mode is primarily useful for markers that are known to be static, which leads to less power consumption in comparison to the dynamic mode."]
126    pub const STATIC: TrackableMarkerTrackingModeANDROID = Self(1i32);
127    pub fn from_raw(x: i32) -> Self {
128        Self(x)
129    }
130    pub fn into_raw(self) -> i32 {
131        self.0
132    }
133}
134impl fmt::Debug for TrackableMarkerTrackingModeANDROID {
135    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
136        let name = match *self {
137            Self::DYNAMIC => Some("DYNAMIC"),
138            Self::STATIC => Some("STATIC"),
139            _ => None,
140        };
141        fmt_enum(fmt, self.0, name)
142    }
143}
144#[doc = "See [XrTrackableMarkerDictionaryANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableMarkerDictionaryANDROID)"]
145#[repr(transparent)]
146#[derive(Copy, Clone, Eq, PartialEq, Default)]
147pub struct TrackableMarkerDictionaryANDROID(i32);
148impl TrackableMarkerDictionaryANDROID {
149    pub const ARUCO_4X4_50: TrackableMarkerDictionaryANDROID = Self(0i32);
150    pub const ARUCO_4X4_100: TrackableMarkerDictionaryANDROID = Self(1i32);
151    pub const ARUCO_4X4_250: TrackableMarkerDictionaryANDROID = Self(2i32);
152    pub const ARUCO_4X4_1000: TrackableMarkerDictionaryANDROID = Self(3i32);
153    pub const ARUCO_5X5_50: TrackableMarkerDictionaryANDROID = Self(4i32);
154    pub const ARUCO_5X5_100: TrackableMarkerDictionaryANDROID = Self(5i32);
155    pub const ARUCO_5X5_250: TrackableMarkerDictionaryANDROID = Self(6i32);
156    pub const ARUCO_5X5_1000: TrackableMarkerDictionaryANDROID = Self(7i32);
157    pub const ARUCO_6X6_50: TrackableMarkerDictionaryANDROID = Self(8i32);
158    pub const ARUCO_6X6_100: TrackableMarkerDictionaryANDROID = Self(9i32);
159    pub const ARUCO_6X6_250: TrackableMarkerDictionaryANDROID = Self(10i32);
160    pub const ARUCO_6X6_1000: TrackableMarkerDictionaryANDROID = Self(11i32);
161    pub const ARUCO_7X7_50: TrackableMarkerDictionaryANDROID = Self(12i32);
162    pub const ARUCO_7X7_100: TrackableMarkerDictionaryANDROID = Self(13i32);
163    pub const ARUCO_7X7_250: TrackableMarkerDictionaryANDROID = Self(14i32);
164    pub const ARUCO_7X7_1000: TrackableMarkerDictionaryANDROID = Self(15i32);
165    pub const APRILTAG_16H5: TrackableMarkerDictionaryANDROID = Self(16i32);
166    pub const APRILTAG_25H9: TrackableMarkerDictionaryANDROID = Self(17i32);
167    pub const APRILTAG_36H10: TrackableMarkerDictionaryANDROID = Self(18i32);
168    pub const APRILTAG_36H11: TrackableMarkerDictionaryANDROID = Self(19i32);
169    pub fn from_raw(x: i32) -> Self {
170        Self(x)
171    }
172    pub fn into_raw(self) -> i32 {
173        self.0
174    }
175}
176impl fmt::Debug for TrackableMarkerDictionaryANDROID {
177    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
178        let name = match *self {
179            Self::ARUCO_4X4_50 => Some("ARUCO_4X4_50"),
180            Self::ARUCO_4X4_100 => Some("ARUCO_4X4_100"),
181            Self::ARUCO_4X4_250 => Some("ARUCO_4X4_250"),
182            Self::ARUCO_4X4_1000 => Some("ARUCO_4X4_1000"),
183            Self::ARUCO_5X5_50 => Some("ARUCO_5X5_50"),
184            Self::ARUCO_5X5_100 => Some("ARUCO_5X5_100"),
185            Self::ARUCO_5X5_250 => Some("ARUCO_5X5_250"),
186            Self::ARUCO_5X5_1000 => Some("ARUCO_5X5_1000"),
187            Self::ARUCO_6X6_50 => Some("ARUCO_6X6_50"),
188            Self::ARUCO_6X6_100 => Some("ARUCO_6X6_100"),
189            Self::ARUCO_6X6_250 => Some("ARUCO_6X6_250"),
190            Self::ARUCO_6X6_1000 => Some("ARUCO_6X6_1000"),
191            Self::ARUCO_7X7_50 => Some("ARUCO_7X7_50"),
192            Self::ARUCO_7X7_100 => Some("ARUCO_7X7_100"),
193            Self::ARUCO_7X7_250 => Some("ARUCO_7X7_250"),
194            Self::ARUCO_7X7_1000 => Some("ARUCO_7X7_1000"),
195            Self::APRILTAG_16H5 => Some("APRILTAG_16H5"),
196            Self::APRILTAG_25H9 => Some("APRILTAG_25H9"),
197            Self::APRILTAG_36H10 => Some("APRILTAG_36H10"),
198            Self::APRILTAG_36H11 => Some("APRILTAG_36H11"),
199            _ => None,
200        };
201        fmt_enum(fmt, self.0, name)
202    }
203}
204#[doc = "See [XrLoaderInterfaceStructs](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLoaderInterfaceStructs)"]
205#[repr(transparent)]
206#[derive(Copy, Clone, Eq, PartialEq, Default)]
207pub struct LoaderInterfaceStructs(i32);
208impl LoaderInterfaceStructs {
209    pub const UNINTIALIZED: LoaderInterfaceStructs = Self(0i32);
210    pub const LOADER_INFO: LoaderInterfaceStructs = Self(1i32);
211    pub const API_LAYER_REQUEST: LoaderInterfaceStructs = Self(2i32);
212    pub const RUNTIME_REQUEST: LoaderInterfaceStructs = Self(3i32);
213    pub const API_LAYER_CREATE_INFO: LoaderInterfaceStructs = Self(4i32);
214    pub const API_LAYER_NEXT_INFO: LoaderInterfaceStructs = Self(5i32);
215    pub fn from_raw(x: i32) -> Self {
216        Self(x)
217    }
218    pub fn into_raw(self) -> i32 {
219        self.0
220    }
221}
222impl fmt::Debug for LoaderInterfaceStructs {
223    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
224        let name = match *self {
225            Self::UNINTIALIZED => Some("UNINTIALIZED"),
226            Self::LOADER_INFO => Some("LOADER_INFO"),
227            Self::API_LAYER_REQUEST => Some("API_LAYER_REQUEST"),
228            Self::RUNTIME_REQUEST => Some("RUNTIME_REQUEST"),
229            Self::API_LAYER_CREATE_INFO => Some("API_LAYER_CREATE_INFO"),
230            Self::API_LAYER_NEXT_INFO => Some("API_LAYER_NEXT_INFO"),
231            _ => None,
232        };
233        fmt_enum(fmt, self.0, name)
234    }
235}
236#[doc = "Structure type enumerant - see [XrStructureType](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrStructureType)"]
237#[repr(transparent)]
238#[derive(Copy, Clone, Eq, PartialEq, Default)]
239pub struct StructureType(i32);
240impl StructureType {
241    pub const UNKNOWN: StructureType = Self(0i32);
242    pub const API_LAYER_PROPERTIES: StructureType = Self(1i32);
243    pub const EXTENSION_PROPERTIES: StructureType = Self(2i32);
244    pub const INSTANCE_CREATE_INFO: StructureType = Self(3i32);
245    pub const SYSTEM_GET_INFO: StructureType = Self(4i32);
246    pub const SYSTEM_PROPERTIES: StructureType = Self(5i32);
247    pub const VIEW_LOCATE_INFO: StructureType = Self(6i32);
248    pub const VIEW: StructureType = Self(7i32);
249    pub const SESSION_CREATE_INFO: StructureType = Self(8i32);
250    pub const SWAPCHAIN_CREATE_INFO: StructureType = Self(9i32);
251    pub const SESSION_BEGIN_INFO: StructureType = Self(10i32);
252    pub const VIEW_STATE: StructureType = Self(11i32);
253    pub const FRAME_END_INFO: StructureType = Self(12i32);
254    pub const HAPTIC_VIBRATION: StructureType = Self(13i32);
255    pub const EVENT_DATA_BUFFER: StructureType = Self(16i32);
256    pub const EVENT_DATA_INSTANCE_LOSS_PENDING: StructureType = Self(17i32);
257    pub const EVENT_DATA_SESSION_STATE_CHANGED: StructureType = Self(18i32);
258    pub const ACTION_STATE_BOOLEAN: StructureType = Self(23i32);
259    pub const ACTION_STATE_FLOAT: StructureType = Self(24i32);
260    pub const ACTION_STATE_VECTOR2F: StructureType = Self(25i32);
261    pub const ACTION_STATE_POSE: StructureType = Self(27i32);
262    pub const ACTION_SET_CREATE_INFO: StructureType = Self(28i32);
263    pub const ACTION_CREATE_INFO: StructureType = Self(29i32);
264    pub const INSTANCE_PROPERTIES: StructureType = Self(32i32);
265    pub const FRAME_WAIT_INFO: StructureType = Self(33i32);
266    pub const COMPOSITION_LAYER_PROJECTION: StructureType = Self(35i32);
267    pub const COMPOSITION_LAYER_QUAD: StructureType = Self(36i32);
268    pub const REFERENCE_SPACE_CREATE_INFO: StructureType = Self(37i32);
269    pub const ACTION_SPACE_CREATE_INFO: StructureType = Self(38i32);
270    pub const EVENT_DATA_REFERENCE_SPACE_CHANGE_PENDING: StructureType = Self(40i32);
271    pub const VIEW_CONFIGURATION_VIEW: StructureType = Self(41i32);
272    pub const SPACE_LOCATION: StructureType = Self(42i32);
273    pub const SPACE_VELOCITY: StructureType = Self(43i32);
274    pub const FRAME_STATE: StructureType = Self(44i32);
275    pub const VIEW_CONFIGURATION_PROPERTIES: StructureType = Self(45i32);
276    pub const FRAME_BEGIN_INFO: StructureType = Self(46i32);
277    pub const COMPOSITION_LAYER_PROJECTION_VIEW: StructureType = Self(48i32);
278    pub const EVENT_DATA_EVENTS_LOST: StructureType = Self(49i32);
279    pub const INTERACTION_PROFILE_SUGGESTED_BINDING: StructureType = Self(51i32);
280    pub const EVENT_DATA_INTERACTION_PROFILE_CHANGED: StructureType = Self(52i32);
281    pub const INTERACTION_PROFILE_STATE: StructureType = Self(53i32);
282    pub const SWAPCHAIN_IMAGE_ACQUIRE_INFO: StructureType = Self(55i32);
283    pub const SWAPCHAIN_IMAGE_WAIT_INFO: StructureType = Self(56i32);
284    pub const SWAPCHAIN_IMAGE_RELEASE_INFO: StructureType = Self(57i32);
285    pub const ACTION_STATE_GET_INFO: StructureType = Self(58i32);
286    pub const HAPTIC_ACTION_INFO: StructureType = Self(59i32);
287    pub const SESSION_ACTION_SETS_ATTACH_INFO: StructureType = Self(60i32);
288    pub const ACTIONS_SYNC_INFO: StructureType = Self(61i32);
289    pub const BOUND_SOURCES_FOR_ACTION_ENUMERATE_INFO: StructureType = Self(62i32);
290    pub const INPUT_SOURCE_LOCALIZED_NAME_GET_INFO: StructureType = Self(63i32);
291    pub const SPACES_LOCATE_INFO: StructureType = Self(1000471000i32);
292    pub const SPACE_LOCATIONS: StructureType = Self(1000471001i32);
293    pub const SPACE_VELOCITIES: StructureType = Self(1000471002i32);
294    pub const COMPOSITION_LAYER_CUBE_KHR: StructureType = Self(1000006000i32);
295    pub const INSTANCE_CREATE_INFO_ANDROID_KHR: StructureType = Self(1000008000i32);
296    pub const COMPOSITION_LAYER_DEPTH_INFO_KHR: StructureType = Self(1000010000i32);
297    pub const VULKAN_SWAPCHAIN_FORMAT_LIST_CREATE_INFO_KHR: StructureType = Self(1000014000i32);
298    pub const EVENT_DATA_PERF_SETTINGS_EXT: StructureType = Self(1000015000i32);
299    pub const COMPOSITION_LAYER_CYLINDER_KHR: StructureType = Self(1000017000i32);
300    pub const COMPOSITION_LAYER_EQUIRECT_KHR: StructureType = Self(1000018000i32);
301    pub const DEBUG_UTILS_OBJECT_NAME_INFO_EXT: StructureType = Self(1000019000i32);
302    pub const DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT: StructureType = Self(1000019001i32);
303    pub const DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: StructureType = Self(1000019002i32);
304    pub const DEBUG_UTILS_LABEL_EXT: StructureType = Self(1000019003i32);
305    pub const GRAPHICS_BINDING_OPENGL_WIN32_KHR: StructureType = Self(1000023000i32);
306    pub const GRAPHICS_BINDING_OPENGL_XLIB_KHR: StructureType = Self(1000023001i32);
307    pub const GRAPHICS_BINDING_OPENGL_XCB_KHR: StructureType = Self(1000023002i32);
308    pub const GRAPHICS_BINDING_OPENGL_WAYLAND_KHR: StructureType = Self(1000023003i32);
309    pub const SWAPCHAIN_IMAGE_OPENGL_KHR: StructureType = Self(1000023004i32);
310    pub const GRAPHICS_REQUIREMENTS_OPENGL_KHR: StructureType = Self(1000023005i32);
311    pub const GRAPHICS_BINDING_OPENGL_ES_ANDROID_KHR: StructureType = Self(1000024001i32);
312    pub const SWAPCHAIN_IMAGE_OPENGL_ES_KHR: StructureType = Self(1000024002i32);
313    pub const GRAPHICS_REQUIREMENTS_OPENGL_ES_KHR: StructureType = Self(1000024003i32);
314    pub const GRAPHICS_BINDING_VULKAN_KHR: StructureType = Self(1000025000i32);
315    pub const SWAPCHAIN_IMAGE_VULKAN_KHR: StructureType = Self(1000025001i32);
316    pub const GRAPHICS_REQUIREMENTS_VULKAN_KHR: StructureType = Self(1000025002i32);
317    pub const GRAPHICS_BINDING_D3D11_KHR: StructureType = Self(1000027000i32);
318    pub const SWAPCHAIN_IMAGE_D3D11_KHR: StructureType = Self(1000027001i32);
319    pub const GRAPHICS_REQUIREMENTS_D3D11_KHR: StructureType = Self(1000027002i32);
320    pub const GRAPHICS_BINDING_D3D12_KHR: StructureType = Self(1000028000i32);
321    pub const SWAPCHAIN_IMAGE_D3D12_KHR: StructureType = Self(1000028001i32);
322    pub const GRAPHICS_REQUIREMENTS_D3D12_KHR: StructureType = Self(1000028002i32);
323    pub const GRAPHICS_BINDING_METAL_KHR: StructureType = Self(1000029000i32);
324    pub const SWAPCHAIN_IMAGE_METAL_KHR: StructureType = Self(1000029001i32);
325    pub const GRAPHICS_REQUIREMENTS_METAL_KHR: StructureType = Self(1000029002i32);
326    pub const SYSTEM_EYE_GAZE_INTERACTION_PROPERTIES_EXT: StructureType = Self(1000030000i32);
327    pub const EYE_GAZE_SAMPLE_TIME_EXT: StructureType = Self(1000030001i32);
328    pub const VISIBILITY_MASK_KHR: StructureType = Self(1000031000i32);
329    pub const EVENT_DATA_VISIBILITY_MASK_CHANGED_KHR: StructureType = Self(1000031001i32);
330    pub const SESSION_CREATE_INFO_OVERLAY_EXTX: StructureType = Self(1000033000i32);
331    pub const EVENT_DATA_MAIN_SESSION_VISIBILITY_CHANGED_EXTX: StructureType = Self(1000033003i32);
332    pub const COMPOSITION_LAYER_COLOR_SCALE_BIAS_KHR: StructureType = Self(1000034000i32);
333    pub const SPATIAL_ANCHOR_CREATE_INFO_MSFT: StructureType = Self(1000039000i32);
334    pub const SPATIAL_ANCHOR_SPACE_CREATE_INFO_MSFT: StructureType = Self(1000039001i32);
335    pub const COMPOSITION_LAYER_IMAGE_LAYOUT_FB: StructureType = Self(1000040000i32);
336    pub const COMPOSITION_LAYER_ALPHA_BLEND_FB: StructureType = Self(1000041001i32);
337    pub const VIEW_CONFIGURATION_DEPTH_RANGE_EXT: StructureType = Self(1000046000i32);
338    pub const GRAPHICS_BINDING_EGL_MNDX: StructureType = Self(1000048004i32);
339    pub const SPATIAL_GRAPH_NODE_SPACE_CREATE_INFO_MSFT: StructureType = Self(1000049000i32);
340    pub const SPATIAL_GRAPH_STATIC_NODE_BINDING_CREATE_INFO_MSFT: StructureType =
341        Self(1000049001i32);
342    pub const SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_GET_INFO_MSFT: StructureType =
343        Self(1000049002i32);
344    pub const SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_MSFT: StructureType = Self(1000049003i32);
345    pub const SYSTEM_HAND_TRACKING_PROPERTIES_EXT: StructureType = Self(1000051000i32);
346    pub const HAND_TRACKER_CREATE_INFO_EXT: StructureType = Self(1000051001i32);
347    pub const HAND_JOINTS_LOCATE_INFO_EXT: StructureType = Self(1000051002i32);
348    pub const HAND_JOINT_LOCATIONS_EXT: StructureType = Self(1000051003i32);
349    pub const HAND_JOINT_VELOCITIES_EXT: StructureType = Self(1000051004i32);
350    pub const SYSTEM_HAND_TRACKING_MESH_PROPERTIES_MSFT: StructureType = Self(1000052000i32);
351    pub const HAND_MESH_SPACE_CREATE_INFO_MSFT: StructureType = Self(1000052001i32);
352    pub const HAND_MESH_UPDATE_INFO_MSFT: StructureType = Self(1000052002i32);
353    pub const HAND_MESH_MSFT: StructureType = Self(1000052003i32);
354    pub const HAND_POSE_TYPE_INFO_MSFT: StructureType = Self(1000052004i32);
355    pub const SECONDARY_VIEW_CONFIGURATION_SESSION_BEGIN_INFO_MSFT: StructureType =
356        Self(1000053000i32);
357    pub const SECONDARY_VIEW_CONFIGURATION_STATE_MSFT: StructureType = Self(1000053001i32);
358    pub const SECONDARY_VIEW_CONFIGURATION_FRAME_STATE_MSFT: StructureType = Self(1000053002i32);
359    pub const SECONDARY_VIEW_CONFIGURATION_FRAME_END_INFO_MSFT: StructureType = Self(1000053003i32);
360    pub const SECONDARY_VIEW_CONFIGURATION_LAYER_INFO_MSFT: StructureType = Self(1000053004i32);
361    pub const SECONDARY_VIEW_CONFIGURATION_SWAPCHAIN_CREATE_INFO_MSFT: StructureType =
362        Self(1000053005i32);
363    pub const CONTROLLER_MODEL_KEY_STATE_MSFT: StructureType = Self(1000055000i32);
364    pub const CONTROLLER_MODEL_NODE_PROPERTIES_MSFT: StructureType = Self(1000055001i32);
365    pub const CONTROLLER_MODEL_PROPERTIES_MSFT: StructureType = Self(1000055002i32);
366    pub const CONTROLLER_MODEL_NODE_STATE_MSFT: StructureType = Self(1000055003i32);
367    pub const CONTROLLER_MODEL_STATE_MSFT: StructureType = Self(1000055004i32);
368    pub const VIEW_CONFIGURATION_VIEW_FOV_EPIC: StructureType = Self(1000059000i32);
369    pub const HOLOGRAPHIC_WINDOW_ATTACHMENT_MSFT: StructureType = Self(1000063000i32);
370    pub const COMPOSITION_LAYER_REPROJECTION_INFO_MSFT: StructureType = Self(1000066000i32);
371    pub const COMPOSITION_LAYER_REPROJECTION_PLANE_OVERRIDE_MSFT: StructureType =
372        Self(1000066001i32);
373    pub const ANDROID_SURFACE_SWAPCHAIN_CREATE_INFO_FB: StructureType = Self(1000070000i32);
374    pub const COMPOSITION_LAYER_SECURE_CONTENT_FB: StructureType = Self(1000072000i32);
375    pub const BODY_TRACKER_CREATE_INFO_FB: StructureType = Self(1000076001i32);
376    pub const BODY_JOINTS_LOCATE_INFO_FB: StructureType = Self(1000076002i32);
377    pub const SYSTEM_BODY_TRACKING_PROPERTIES_FB: StructureType = Self(1000076004i32);
378    pub const BODY_JOINT_LOCATIONS_FB: StructureType = Self(1000076005i32);
379    pub const BODY_SKELETON_FB: StructureType = Self(1000076006i32);
380    pub const INTERACTION_PROFILE_DPAD_BINDING_EXT: StructureType = Self(1000078000i32);
381    pub const INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVE: StructureType = Self(1000079000i32);
382    pub const HAND_JOINTS_MOTION_RANGE_INFO_EXT: StructureType = Self(1000080000i32);
383    pub const LOADER_INIT_INFO_ANDROID_KHR: StructureType = Self(1000089000i32);
384    pub const VULKAN_INSTANCE_CREATE_INFO_KHR: StructureType = Self(1000090000i32);
385    pub const VULKAN_DEVICE_CREATE_INFO_KHR: StructureType = Self(1000090001i32);
386    pub const VULKAN_GRAPHICS_DEVICE_GET_INFO_KHR: StructureType = Self(1000090003i32);
387    pub const GRAPHICS_BINDING_VULKAN2_KHR: StructureType = Self::GRAPHICS_BINDING_VULKAN_KHR;
388    pub const SWAPCHAIN_IMAGE_VULKAN2_KHR: StructureType = Self::SWAPCHAIN_IMAGE_VULKAN_KHR;
389    pub const GRAPHICS_REQUIREMENTS_VULKAN2_KHR: StructureType =
390        Self::GRAPHICS_REQUIREMENTS_VULKAN_KHR;
391    pub const COMPOSITION_LAYER_EQUIRECT2_KHR: StructureType = Self(1000091000i32);
392    pub const SCENE_OBSERVER_CREATE_INFO_MSFT: StructureType = Self(1000097000i32);
393    pub const SCENE_CREATE_INFO_MSFT: StructureType = Self(1000097001i32);
394    pub const NEW_SCENE_COMPUTE_INFO_MSFT: StructureType = Self(1000097002i32);
395    pub const VISUAL_MESH_COMPUTE_LOD_INFO_MSFT: StructureType = Self(1000097003i32);
396    pub const SCENE_COMPONENTS_MSFT: StructureType = Self(1000097004i32);
397    pub const SCENE_COMPONENTS_GET_INFO_MSFT: StructureType = Self(1000097005i32);
398    pub const SCENE_COMPONENT_LOCATIONS_MSFT: StructureType = Self(1000097006i32);
399    pub const SCENE_COMPONENTS_LOCATE_INFO_MSFT: StructureType = Self(1000097007i32);
400    pub const SCENE_OBJECTS_MSFT: StructureType = Self(1000097008i32);
401    pub const SCENE_COMPONENT_PARENT_FILTER_INFO_MSFT: StructureType = Self(1000097009i32);
402    pub const SCENE_OBJECT_TYPES_FILTER_INFO_MSFT: StructureType = Self(1000097010i32);
403    pub const SCENE_PLANES_MSFT: StructureType = Self(1000097011i32);
404    pub const SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFT: StructureType = Self(1000097012i32);
405    pub const SCENE_MESHES_MSFT: StructureType = Self(1000097013i32);
406    pub const SCENE_MESH_BUFFERS_GET_INFO_MSFT: StructureType = Self(1000097014i32);
407    pub const SCENE_MESH_BUFFERS_MSFT: StructureType = Self(1000097015i32);
408    pub const SCENE_MESH_VERTEX_BUFFER_MSFT: StructureType = Self(1000097016i32);
409    pub const SCENE_MESH_INDICES_UINT32_MSFT: StructureType = Self(1000097017i32);
410    pub const SCENE_MESH_INDICES_UINT16_MSFT: StructureType = Self(1000097018i32);
411    pub const SERIALIZED_SCENE_FRAGMENT_DATA_GET_INFO_MSFT: StructureType = Self(1000098000i32);
412    pub const SCENE_DESERIALIZE_INFO_MSFT: StructureType = Self(1000098001i32);
413    pub const EVENT_DATA_DISPLAY_REFRESH_RATE_CHANGED_FB: StructureType = Self(1000101000i32);
414    pub const VIVE_TRACKER_PATHS_HTCX: StructureType = Self(1000103000i32);
415    pub const EVENT_DATA_VIVE_TRACKER_CONNECTED_HTCX: StructureType = Self(1000103001i32);
416    pub const SYSTEM_FACIAL_TRACKING_PROPERTIES_HTC: StructureType = Self(1000104000i32);
417    pub const FACIAL_TRACKER_CREATE_INFO_HTC: StructureType = Self(1000104001i32);
418    pub const FACIAL_EXPRESSIONS_HTC: StructureType = Self(1000104002i32);
419    pub const SYSTEM_COLOR_SPACE_PROPERTIES_FB: StructureType = Self(1000108000i32);
420    pub const HAND_TRACKING_MESH_FB: StructureType = Self(1000110001i32);
421    pub const HAND_TRACKING_SCALE_FB: StructureType = Self(1000110003i32);
422    pub const HAND_TRACKING_AIM_STATE_FB: StructureType = Self(1000111001i32);
423    pub const HAND_TRACKING_CAPSULES_STATE_FB: StructureType = Self(1000112000i32);
424    pub const SYSTEM_SPATIAL_ENTITY_PROPERTIES_FB: StructureType = Self(1000113004i32);
425    pub const SPATIAL_ANCHOR_CREATE_INFO_FB: StructureType = Self(1000113003i32);
426    pub const SPACE_COMPONENT_STATUS_SET_INFO_FB: StructureType = Self(1000113007i32);
427    pub const SPACE_COMPONENT_STATUS_FB: StructureType = Self(1000113001i32);
428    pub const EVENT_DATA_SPATIAL_ANCHOR_CREATE_COMPLETE_FB: StructureType = Self(1000113005i32);
429    pub const EVENT_DATA_SPACE_SET_STATUS_COMPLETE_FB: StructureType = Self(1000113006i32);
430    pub const FOVEATION_PROFILE_CREATE_INFO_FB: StructureType = Self(1000114000i32);
431    pub const SWAPCHAIN_CREATE_INFO_FOVEATION_FB: StructureType = Self(1000114001i32);
432    pub const SWAPCHAIN_STATE_FOVEATION_FB: StructureType = Self(1000114002i32);
433    pub const FOVEATION_LEVEL_PROFILE_CREATE_INFO_FB: StructureType = Self(1000115000i32);
434    pub const KEYBOARD_SPACE_CREATE_INFO_FB: StructureType = Self(1000116009i32);
435    pub const KEYBOARD_TRACKING_QUERY_FB: StructureType = Self(1000116004i32);
436    pub const SYSTEM_KEYBOARD_TRACKING_PROPERTIES_FB: StructureType = Self(1000116002i32);
437    pub const TRIANGLE_MESH_CREATE_INFO_FB: StructureType = Self(1000117001i32);
438    pub const SYSTEM_PASSTHROUGH_PROPERTIES_FB: StructureType = Self(1000118000i32);
439    pub const PASSTHROUGH_CREATE_INFO_FB: StructureType = Self(1000118001i32);
440    pub const PASSTHROUGH_LAYER_CREATE_INFO_FB: StructureType = Self(1000118002i32);
441    pub const COMPOSITION_LAYER_PASSTHROUGH_FB: StructureType = Self(1000118003i32);
442    pub const GEOMETRY_INSTANCE_CREATE_INFO_FB: StructureType = Self(1000118004i32);
443    pub const GEOMETRY_INSTANCE_TRANSFORM_FB: StructureType = Self(1000118005i32);
444    pub const SYSTEM_PASSTHROUGH_PROPERTIES2_FB: StructureType = Self(1000118006i32);
445    pub const PASSTHROUGH_STYLE_FB: StructureType = Self(1000118020i32);
446    pub const PASSTHROUGH_COLOR_MAP_MONO_TO_RGBA_FB: StructureType = Self(1000118021i32);
447    pub const PASSTHROUGH_COLOR_MAP_MONO_TO_MONO_FB: StructureType = Self(1000118022i32);
448    pub const PASSTHROUGH_BRIGHTNESS_CONTRAST_SATURATION_FB: StructureType = Self(1000118023i32);
449    pub const EVENT_DATA_PASSTHROUGH_STATE_CHANGED_FB: StructureType = Self(1000118030i32);
450    pub const RENDER_MODEL_PATH_INFO_FB: StructureType = Self(1000119000i32);
451    pub const RENDER_MODEL_PROPERTIES_FB: StructureType = Self(1000119001i32);
452    pub const RENDER_MODEL_BUFFER_FB: StructureType = Self(1000119002i32);
453    pub const RENDER_MODEL_LOAD_INFO_FB: StructureType = Self(1000119003i32);
454    pub const SYSTEM_RENDER_MODEL_PROPERTIES_FB: StructureType = Self(1000119004i32);
455    pub const RENDER_MODEL_CAPABILITIES_REQUEST_FB: StructureType = Self(1000119005i32);
456    pub const BINDING_MODIFICATIONS_KHR: StructureType = Self(1000120000i32);
457    pub const VIEW_LOCATE_FOVEATED_RENDERING_VARJO: StructureType = Self(1000121000i32);
458    pub const FOVEATED_VIEW_CONFIGURATION_VIEW_VARJO: StructureType = Self(1000121001i32);
459    pub const SYSTEM_FOVEATED_RENDERING_PROPERTIES_VARJO: StructureType = Self(1000121002i32);
460    pub const COMPOSITION_LAYER_DEPTH_TEST_VARJO: StructureType = Self(1000122000i32);
461    pub const SYSTEM_MARKER_TRACKING_PROPERTIES_VARJO: StructureType = Self(1000124000i32);
462    pub const EVENT_DATA_MARKER_TRACKING_UPDATE_VARJO: StructureType = Self(1000124001i32);
463    pub const MARKER_SPACE_CREATE_INFO_VARJO: StructureType = Self(1000124002i32);
464    pub const FRAME_END_INFO_ML: StructureType = Self(1000135000i32);
465    pub const GLOBAL_DIMMER_FRAME_END_INFO_ML: StructureType = Self(1000136000i32);
466    pub const COORDINATE_SPACE_CREATE_INFO_ML: StructureType = Self(1000137000i32);
467    pub const SYSTEM_MARKER_UNDERSTANDING_PROPERTIES_ML: StructureType = Self(1000138000i32);
468    pub const MARKER_DETECTOR_CREATE_INFO_ML: StructureType = Self(1000138001i32);
469    pub const MARKER_DETECTOR_ARUCO_INFO_ML: StructureType = Self(1000138002i32);
470    pub const MARKER_DETECTOR_SIZE_INFO_ML: StructureType = Self(1000138003i32);
471    pub const MARKER_DETECTOR_APRIL_TAG_INFO_ML: StructureType = Self(1000138004i32);
472    pub const MARKER_DETECTOR_CUSTOM_PROFILE_INFO_ML: StructureType = Self(1000138005i32);
473    pub const MARKER_DETECTOR_SNAPSHOT_INFO_ML: StructureType = Self(1000138006i32);
474    pub const MARKER_DETECTOR_STATE_ML: StructureType = Self(1000138007i32);
475    pub const MARKER_SPACE_CREATE_INFO_ML: StructureType = Self(1000138008i32);
476    pub const LOCALIZATION_MAP_ML: StructureType = Self(1000139000i32);
477    pub const EVENT_DATA_LOCALIZATION_CHANGED_ML: StructureType = Self(1000139001i32);
478    pub const MAP_LOCALIZATION_REQUEST_INFO_ML: StructureType = Self(1000139002i32);
479    pub const LOCALIZATION_MAP_IMPORT_INFO_ML: StructureType = Self(1000139003i32);
480    pub const LOCALIZATION_ENABLE_EVENTS_INFO_ML: StructureType = Self(1000139004i32);
481    pub const SPATIAL_ANCHORS_CREATE_INFO_FROM_POSE_ML: StructureType = Self(1000140000i32);
482    pub const CREATE_SPATIAL_ANCHORS_COMPLETION_ML: StructureType = Self(1000140001i32);
483    pub const SPATIAL_ANCHOR_STATE_ML: StructureType = Self(1000140002i32);
484    pub const SPATIAL_ANCHORS_CREATE_STORAGE_INFO_ML: StructureType = Self(1000141000i32);
485    pub const SPATIAL_ANCHORS_QUERY_INFO_RADIUS_ML: StructureType = Self(1000141001i32);
486    pub const SPATIAL_ANCHORS_QUERY_COMPLETION_ML: StructureType = Self(1000141002i32);
487    pub const SPATIAL_ANCHORS_CREATE_INFO_FROM_UUIDS_ML: StructureType = Self(1000141003i32);
488    pub const SPATIAL_ANCHORS_PUBLISH_INFO_ML: StructureType = Self(1000141004i32);
489    pub const SPATIAL_ANCHORS_PUBLISH_COMPLETION_ML: StructureType = Self(1000141005i32);
490    pub const SPATIAL_ANCHORS_DELETE_INFO_ML: StructureType = Self(1000141006i32);
491    pub const SPATIAL_ANCHORS_DELETE_COMPLETION_ML: StructureType = Self(1000141007i32);
492    pub const SPATIAL_ANCHORS_UPDATE_EXPIRATION_INFO_ML: StructureType = Self(1000141008i32);
493    pub const SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_ML: StructureType = Self(1000141009i32);
494    pub const SPATIAL_ANCHORS_PUBLISH_COMPLETION_DETAILS_ML: StructureType = Self(1000141010i32);
495    pub const SPATIAL_ANCHORS_DELETE_COMPLETION_DETAILS_ML: StructureType = Self(1000141011i32);
496    pub const SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_DETAILS_ML: StructureType =
497        Self(1000141012i32);
498    pub const EVENT_DATA_HEADSET_FIT_CHANGED_ML: StructureType = Self(1000472000i32);
499    pub const EVENT_DATA_EYE_CALIBRATION_CHANGED_ML: StructureType = Self(1000472001i32);
500    pub const USER_CALIBRATION_ENABLE_EVENTS_INFO_ML: StructureType = Self(1000472002i32);
501    pub const SPATIAL_ANCHOR_PERSISTENCE_INFO_MSFT: StructureType = Self(1000142000i32);
502    pub const SPATIAL_ANCHOR_FROM_PERSISTED_ANCHOR_CREATE_INFO_MSFT: StructureType =
503        Self(1000142001i32);
504    pub const SCENE_MARKERS_MSFT: StructureType = Self(1000147000i32);
505    pub const SCENE_MARKER_TYPE_FILTER_MSFT: StructureType = Self(1000147001i32);
506    pub const SCENE_MARKER_QR_CODES_MSFT: StructureType = Self(1000147002i32);
507    pub const SPACE_QUERY_INFO_FB: StructureType = Self(1000156001i32);
508    pub const SPACE_QUERY_RESULTS_FB: StructureType = Self(1000156002i32);
509    pub const SPACE_STORAGE_LOCATION_FILTER_INFO_FB: StructureType = Self(1000156003i32);
510    pub const SPACE_UUID_FILTER_INFO_FB: StructureType = Self(1000156054i32);
511    pub const SPACE_COMPONENT_FILTER_INFO_FB: StructureType = Self(1000156052i32);
512    pub const EVENT_DATA_SPACE_QUERY_RESULTS_AVAILABLE_FB: StructureType = Self(1000156103i32);
513    pub const EVENT_DATA_SPACE_QUERY_COMPLETE_FB: StructureType = Self(1000156104i32);
514    pub const SPACE_SAVE_INFO_FB: StructureType = Self(1000158000i32);
515    pub const SPACE_ERASE_INFO_FB: StructureType = Self(1000158001i32);
516    pub const EVENT_DATA_SPACE_SAVE_COMPLETE_FB: StructureType = Self(1000158106i32);
517    pub const EVENT_DATA_SPACE_ERASE_COMPLETE_FB: StructureType = Self(1000158107i32);
518    pub const SWAPCHAIN_IMAGE_FOVEATION_VULKAN_FB: StructureType = Self(1000160000i32);
519    pub const SWAPCHAIN_STATE_ANDROID_SURFACE_DIMENSIONS_FB: StructureType = Self(1000161000i32);
520    pub const SWAPCHAIN_STATE_SAMPLER_OPENGL_ES_FB: StructureType = Self(1000162000i32);
521    pub const SWAPCHAIN_STATE_SAMPLER_VULKAN_FB: StructureType = Self(1000163000i32);
522    pub const SPACE_SHARE_INFO_FB: StructureType = Self(1000169001i32);
523    pub const EVENT_DATA_SPACE_SHARE_COMPLETE_FB: StructureType = Self(1000169002i32);
524    pub const COMPOSITION_LAYER_SPACE_WARP_INFO_FB: StructureType = Self(1000171000i32);
525    pub const SYSTEM_SPACE_WARP_PROPERTIES_FB: StructureType = Self(1000171001i32);
526    pub const HAPTIC_AMPLITUDE_ENVELOPE_VIBRATION_FB: StructureType = Self(1000173001i32);
527    pub const SEMANTIC_LABELS_FB: StructureType = Self(1000175000i32);
528    pub const ROOM_LAYOUT_FB: StructureType = Self(1000175001i32);
529    pub const BOUNDARY_2D_FB: StructureType = Self(1000175002i32);
530    pub const SEMANTIC_LABELS_SUPPORT_INFO_FB: StructureType = Self(1000175010i32);
531    pub const DIGITAL_LENS_CONTROL_ALMALENCE: StructureType = Self(1000196000i32);
532    pub const EVENT_DATA_SCENE_CAPTURE_COMPLETE_FB: StructureType = Self(1000198001i32);
533    pub const SCENE_CAPTURE_REQUEST_INFO_FB: StructureType = Self(1000198050i32);
534    pub const SPACE_CONTAINER_FB: StructureType = Self(1000199000i32);
535    pub const FOVEATION_EYE_TRACKED_PROFILE_CREATE_INFO_META: StructureType = Self(1000200000i32);
536    pub const FOVEATION_EYE_TRACKED_STATE_META: StructureType = Self(1000200001i32);
537    pub const SYSTEM_FOVEATION_EYE_TRACKED_PROPERTIES_META: StructureType = Self(1000200002i32);
538    pub const SYSTEM_FACE_TRACKING_PROPERTIES_FB: StructureType = Self(1000201004i32);
539    pub const FACE_TRACKER_CREATE_INFO_FB: StructureType = Self(1000201005i32);
540    pub const FACE_EXPRESSION_INFO_FB: StructureType = Self(1000201002i32);
541    pub const FACE_EXPRESSION_WEIGHTS_FB: StructureType = Self(1000201006i32);
542    pub const EYE_TRACKER_CREATE_INFO_FB: StructureType = Self(1000202001i32);
543    pub const EYE_GAZES_INFO_FB: StructureType = Self(1000202002i32);
544    pub const EYE_GAZES_FB: StructureType = Self(1000202003i32);
545    pub const SYSTEM_EYE_TRACKING_PROPERTIES_FB: StructureType = Self(1000202004i32);
546    pub const PASSTHROUGH_KEYBOARD_HANDS_INTENSITY_FB: StructureType = Self(1000203002i32);
547    pub const COMPOSITION_LAYER_SETTINGS_FB: StructureType = Self(1000204000i32);
548    pub const HAPTIC_PCM_VIBRATION_FB: StructureType = Self(1000209001i32);
549    pub const DEVICE_PCM_SAMPLE_RATE_STATE_FB: StructureType = Self(1000209002i32);
550    pub const DEVICE_PCM_SAMPLE_RATE_GET_INFO_FB: StructureType =
551        Self::DEVICE_PCM_SAMPLE_RATE_STATE_FB;
552    pub const FRAME_SYNTHESIS_INFO_EXT: StructureType = Self(1000211000i32);
553    pub const FRAME_SYNTHESIS_CONFIG_VIEW_EXT: StructureType = Self(1000211001i32);
554    pub const COMPOSITION_LAYER_DEPTH_TEST_FB: StructureType = Self(1000212000i32);
555    pub const LOCAL_DIMMING_FRAME_END_INFO_META: StructureType = Self(1000216000i32);
556    pub const PASSTHROUGH_PREFERENCES_META: StructureType = Self(1000217000i32);
557    pub const SYSTEM_VIRTUAL_KEYBOARD_PROPERTIES_META: StructureType = Self(1000219001i32);
558    pub const VIRTUAL_KEYBOARD_CREATE_INFO_META: StructureType = Self(1000219002i32);
559    pub const VIRTUAL_KEYBOARD_SPACE_CREATE_INFO_META: StructureType = Self(1000219003i32);
560    pub const VIRTUAL_KEYBOARD_LOCATION_INFO_META: StructureType = Self(1000219004i32);
561    pub const VIRTUAL_KEYBOARD_MODEL_VISIBILITY_SET_INFO_META: StructureType = Self(1000219005i32);
562    pub const VIRTUAL_KEYBOARD_ANIMATION_STATE_META: StructureType = Self(1000219006i32);
563    pub const VIRTUAL_KEYBOARD_MODEL_ANIMATION_STATES_META: StructureType = Self(1000219007i32);
564    pub const VIRTUAL_KEYBOARD_TEXTURE_DATA_META: StructureType = Self(1000219009i32);
565    pub const VIRTUAL_KEYBOARD_INPUT_INFO_META: StructureType = Self(1000219010i32);
566    pub const VIRTUAL_KEYBOARD_TEXT_CONTEXT_CHANGE_INFO_META: StructureType = Self(1000219011i32);
567    pub const EVENT_DATA_VIRTUAL_KEYBOARD_COMMIT_TEXT_META: StructureType = Self(1000219014i32);
568    pub const EVENT_DATA_VIRTUAL_KEYBOARD_BACKSPACE_META: StructureType = Self(1000219015i32);
569    pub const EVENT_DATA_VIRTUAL_KEYBOARD_ENTER_META: StructureType = Self(1000219016i32);
570    pub const EVENT_DATA_VIRTUAL_KEYBOARD_SHOWN_META: StructureType = Self(1000219017i32);
571    pub const EVENT_DATA_VIRTUAL_KEYBOARD_HIDDEN_META: StructureType = Self(1000219018i32);
572    pub const EXTERNAL_CAMERA_OCULUS: StructureType = Self(1000226000i32);
573    pub const VULKAN_SWAPCHAIN_CREATE_INFO_META: StructureType = Self(1000227000i32);
574    pub const PERFORMANCE_METRICS_STATE_META: StructureType = Self(1000232001i32);
575    pub const PERFORMANCE_METRICS_COUNTER_META: StructureType = Self(1000232002i32);
576    pub const SPACE_LIST_SAVE_INFO_FB: StructureType = Self(1000238000i32);
577    pub const EVENT_DATA_SPACE_LIST_SAVE_COMPLETE_FB: StructureType = Self(1000238001i32);
578    pub const SPACE_USER_CREATE_INFO_FB: StructureType = Self(1000241001i32);
579    pub const SYSTEM_HEADSET_ID_PROPERTIES_META: StructureType = Self(1000245000i32);
580    pub const SYSTEM_SPACE_DISCOVERY_PROPERTIES_META: StructureType = Self(1000247000i32);
581    pub const SPACE_DISCOVERY_INFO_META: StructureType = Self(1000247001i32);
582    pub const SPACE_FILTER_UUID_META: StructureType = Self(1000247003i32);
583    pub const SPACE_FILTER_COMPONENT_META: StructureType = Self(1000247004i32);
584    pub const SPACE_DISCOVERY_RESULT_META: StructureType = Self(1000247005i32);
585    pub const SPACE_DISCOVERY_RESULTS_META: StructureType = Self(1000247006i32);
586    pub const EVENT_DATA_SPACE_DISCOVERY_RESULTS_AVAILABLE_META: StructureType =
587        Self(1000247007i32);
588    pub const EVENT_DATA_SPACE_DISCOVERY_COMPLETE_META: StructureType = Self(1000247008i32);
589    pub const RECOMMENDED_LAYER_RESOLUTION_META: StructureType = Self(1000254000i32);
590    pub const RECOMMENDED_LAYER_RESOLUTION_GET_INFO_META: StructureType = Self(1000254001i32);
591    pub const SYSTEM_SPACE_PERSISTENCE_PROPERTIES_META: StructureType = Self(1000259000i32);
592    pub const SPACES_SAVE_INFO_META: StructureType = Self(1000259001i32);
593    pub const EVENT_DATA_SPACES_SAVE_RESULT_META: StructureType = Self(1000259002i32);
594    pub const SPACES_ERASE_INFO_META: StructureType = Self(1000259003i32);
595    pub const EVENT_DATA_SPACES_ERASE_RESULT_META: StructureType = Self(1000259004i32);
596    pub const SYSTEM_PASSTHROUGH_COLOR_LUT_PROPERTIES_META: StructureType = Self(1000266000i32);
597    pub const PASSTHROUGH_COLOR_LUT_CREATE_INFO_META: StructureType = Self(1000266001i32);
598    pub const PASSTHROUGH_COLOR_LUT_UPDATE_INFO_META: StructureType = Self(1000266002i32);
599    pub const PASSTHROUGH_COLOR_MAP_LUT_META: StructureType = Self(1000266100i32);
600    pub const PASSTHROUGH_COLOR_MAP_INTERPOLATED_LUT_META: StructureType = Self(1000266101i32);
601    pub const SPACE_TRIANGLE_MESH_GET_INFO_META: StructureType = Self(1000269001i32);
602    pub const SPACE_TRIANGLE_MESH_META: StructureType = Self(1000269002i32);
603    pub const SYSTEM_PROPERTIES_BODY_TRACKING_FULL_BODY_META: StructureType = Self(1000274000i32);
604    pub const EVENT_DATA_PASSTHROUGH_LAYER_RESUMED_META: StructureType = Self(1000282000i32);
605    pub const BODY_TRACKING_CALIBRATION_INFO_META: StructureType = Self(1000283002i32);
606    pub const BODY_TRACKING_CALIBRATION_STATUS_META: StructureType = Self(1000283003i32);
607    pub const SYSTEM_PROPERTIES_BODY_TRACKING_CALIBRATION_META: StructureType = Self(1000283004i32);
608    pub const SYSTEM_FACE_TRACKING_PROPERTIES2_FB: StructureType = Self(1000287013i32);
609    pub const FACE_TRACKER_CREATE_INFO2_FB: StructureType = Self(1000287014i32);
610    pub const FACE_EXPRESSION_INFO2_FB: StructureType = Self(1000287015i32);
611    pub const FACE_EXPRESSION_WEIGHTS2_FB: StructureType = Self(1000287016i32);
612    pub const SYSTEM_SPATIAL_ENTITY_SHARING_PROPERTIES_META: StructureType = Self(1000290000i32);
613    pub const SHARE_SPACES_INFO_META: StructureType = Self(1000290001i32);
614    pub const EVENT_DATA_SHARE_SPACES_COMPLETE_META: StructureType = Self(1000290002i32);
615    pub const ENVIRONMENT_DEPTH_PROVIDER_CREATE_INFO_META: StructureType = Self(1000291000i32);
616    pub const ENVIRONMENT_DEPTH_SWAPCHAIN_CREATE_INFO_META: StructureType = Self(1000291001i32);
617    pub const ENVIRONMENT_DEPTH_SWAPCHAIN_STATE_META: StructureType = Self(1000291002i32);
618    pub const ENVIRONMENT_DEPTH_IMAGE_ACQUIRE_INFO_META: StructureType = Self(1000291003i32);
619    pub const ENVIRONMENT_DEPTH_IMAGE_VIEW_META: StructureType = Self(1000291004i32);
620    pub const ENVIRONMENT_DEPTH_IMAGE_META: StructureType = Self(1000291005i32);
621    pub const ENVIRONMENT_DEPTH_HAND_REMOVAL_SET_INFO_META: StructureType = Self(1000291006i32);
622    pub const SYSTEM_ENVIRONMENT_DEPTH_PROPERTIES_META: StructureType = Self(1000291007i32);
623    pub const ENVIRONMENT_DEPTH_IMAGE_TIMESTAMP_META: StructureType = Self(1000291008i32);
624    pub const RENDER_MODEL_CREATE_INFO_EXT: StructureType = Self(1000300000i32);
625    pub const RENDER_MODEL_PROPERTIES_GET_INFO_EXT: StructureType = Self(1000300001i32);
626    pub const RENDER_MODEL_PROPERTIES_EXT: StructureType = Self(1000300002i32);
627    pub const RENDER_MODEL_SPACE_CREATE_INFO_EXT: StructureType = Self(1000300003i32);
628    pub const RENDER_MODEL_STATE_GET_INFO_EXT: StructureType = Self(1000300004i32);
629    pub const RENDER_MODEL_STATE_EXT: StructureType = Self(1000300005i32);
630    pub const RENDER_MODEL_ASSET_CREATE_INFO_EXT: StructureType = Self(1000300006i32);
631    pub const RENDER_MODEL_ASSET_DATA_GET_INFO_EXT: StructureType = Self(1000300007i32);
632    pub const RENDER_MODEL_ASSET_DATA_EXT: StructureType = Self(1000300008i32);
633    pub const RENDER_MODEL_ASSET_PROPERTIES_GET_INFO_EXT: StructureType = Self(1000300009i32);
634    pub const RENDER_MODEL_ASSET_PROPERTIES_EXT: StructureType = Self(1000300010i32);
635    pub const INTERACTION_RENDER_MODEL_IDS_ENUMERATE_INFO_EXT: StructureType = Self(1000301000i32);
636    pub const INTERACTION_RENDER_MODEL_SUBACTION_PATH_INFO_EXT: StructureType = Self(1000301001i32);
637    pub const EVENT_DATA_INTERACTION_RENDER_MODELS_CHANGED_EXT: StructureType = Self(1000301002i32);
638    pub const INTERACTION_RENDER_MODEL_TOP_LEVEL_USER_PATH_GET_INFO_EXT: StructureType =
639        Self(1000301003i32);
640    pub const PASSTHROUGH_CREATE_INFO_HTC: StructureType = Self(1000317001i32);
641    pub const PASSTHROUGH_COLOR_HTC: StructureType = Self(1000317002i32);
642    pub const PASSTHROUGH_MESH_TRANSFORM_INFO_HTC: StructureType = Self(1000317003i32);
643    pub const COMPOSITION_LAYER_PASSTHROUGH_HTC: StructureType = Self(1000317004i32);
644    pub const FOVEATION_APPLY_INFO_HTC: StructureType = Self(1000318000i32);
645    pub const FOVEATION_DYNAMIC_MODE_INFO_HTC: StructureType = Self(1000318001i32);
646    pub const FOVEATION_CUSTOM_MODE_INFO_HTC: StructureType = Self(1000318002i32);
647    pub const SYSTEM_ANCHOR_PROPERTIES_HTC: StructureType = Self(1000319000i32);
648    pub const SPATIAL_ANCHOR_CREATE_INFO_HTC: StructureType = Self(1000319001i32);
649    pub const SYSTEM_BODY_TRACKING_PROPERTIES_HTC: StructureType = Self(1000320000i32);
650    pub const BODY_TRACKER_CREATE_INFO_HTC: StructureType = Self(1000320001i32);
651    pub const BODY_JOINTS_LOCATE_INFO_HTC: StructureType = Self(1000320002i32);
652    pub const BODY_JOINT_LOCATIONS_HTC: StructureType = Self(1000320003i32);
653    pub const BODY_SKELETON_HTC: StructureType = Self(1000320004i32);
654    pub const ACTIVE_ACTION_SET_PRIORITIES_EXT: StructureType = Self(1000373000i32);
655    pub const SYSTEM_FORCE_FEEDBACK_CURL_PROPERTIES_MNDX: StructureType = Self(1000375000i32);
656    pub const FORCE_FEEDBACK_CURL_APPLY_LOCATIONS_MNDX: StructureType = Self(1000375001i32);
657    pub const BODY_TRACKER_CREATE_INFO_BD: StructureType = Self(1000385001i32);
658    pub const BODY_JOINTS_LOCATE_INFO_BD: StructureType = Self(1000385002i32);
659    pub const BODY_JOINT_LOCATIONS_BD: StructureType = Self(1000385003i32);
660    pub const SYSTEM_BODY_TRACKING_PROPERTIES_BD: StructureType = Self(1000385004i32);
661    pub const SYSTEM_FACIAL_SIMULATION_PROPERTIES_BD: StructureType = Self(1000386001i32);
662    pub const FACE_TRACKER_CREATE_INFO_BD: StructureType = Self(1000386002i32);
663    pub const FACIAL_SIMULATION_DATA_GET_INFO_BD: StructureType = Self(1000386003i32);
664    pub const FACIAL_SIMULATION_DATA_BD: StructureType = Self(1000386004i32);
665    pub const LIP_EXPRESSION_DATA_BD: StructureType = Self(1000386005i32);
666    pub const SYSTEM_SPATIAL_SENSING_PROPERTIES_BD: StructureType = Self(1000389000i32);
667    pub const SPATIAL_ENTITY_COMPONENT_GET_INFO_BD: StructureType = Self(1000389001i32);
668    pub const SPATIAL_ENTITY_LOCATION_GET_INFO_BD: StructureType = Self(1000389002i32);
669    pub const SPATIAL_ENTITY_COMPONENT_DATA_LOCATION_BD: StructureType = Self(1000389003i32);
670    pub const SPATIAL_ENTITY_COMPONENT_DATA_SEMANTIC_BD: StructureType = Self(1000389004i32);
671    pub const SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_2D_BD: StructureType = Self(1000389005i32);
672    pub const SPATIAL_ENTITY_COMPONENT_DATA_POLYGON_BD: StructureType = Self(1000389006i32);
673    pub const SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_3D_BD: StructureType = Self(1000389007i32);
674    pub const SPATIAL_ENTITY_COMPONENT_DATA_TRIANGLE_MESH_BD: StructureType = Self(1000389008i32);
675    pub const SENSE_DATA_PROVIDER_CREATE_INFO_BD: StructureType = Self(1000389009i32);
676    pub const SENSE_DATA_PROVIDER_START_INFO_BD: StructureType = Self(1000389010i32);
677    pub const EVENT_DATA_SENSE_DATA_PROVIDER_STATE_CHANGED_BD: StructureType = Self(1000389011i32);
678    pub const EVENT_DATA_SENSE_DATA_UPDATED_BD: StructureType = Self(1000389012i32);
679    pub const SENSE_DATA_QUERY_INFO_BD: StructureType = Self(1000389013i32);
680    pub const SENSE_DATA_QUERY_COMPLETION_BD: StructureType = Self(1000389014i32);
681    pub const SENSE_DATA_FILTER_UUID_BD: StructureType = Self(1000389015i32);
682    pub const SENSE_DATA_FILTER_SEMANTIC_BD: StructureType = Self(1000389016i32);
683    pub const QUERIED_SENSE_DATA_GET_INFO_BD: StructureType = Self(1000389017i32);
684    pub const QUERIED_SENSE_DATA_BD: StructureType = Self(1000389018i32);
685    pub const SPATIAL_ENTITY_STATE_BD: StructureType = Self(1000389019i32);
686    pub const SPATIAL_ENTITY_ANCHOR_CREATE_INFO_BD: StructureType = Self(1000389020i32);
687    pub const ANCHOR_SPACE_CREATE_INFO_BD: StructureType = Self(1000389021i32);
688    pub const SYSTEM_SPATIAL_ANCHOR_PROPERTIES_BD: StructureType = Self(1000390000i32);
689    pub const SPATIAL_ANCHOR_CREATE_INFO_BD: StructureType = Self(1000390001i32);
690    pub const SPATIAL_ANCHOR_CREATE_COMPLETION_BD: StructureType = Self(1000390002i32);
691    pub const SPATIAL_ANCHOR_PERSIST_INFO_BD: StructureType = Self(1000390003i32);
692    pub const SPATIAL_ANCHOR_UNPERSIST_INFO_BD: StructureType = Self(1000390004i32);
693    pub const SYSTEM_SPATIAL_ANCHOR_SHARING_PROPERTIES_BD: StructureType = Self(1000391000i32);
694    pub const SPATIAL_ANCHOR_SHARE_INFO_BD: StructureType = Self(1000391001i32);
695    pub const SHARED_SPATIAL_ANCHOR_DOWNLOAD_INFO_BD: StructureType = Self(1000391002i32);
696    pub const SYSTEM_SPATIAL_SCENE_PROPERTIES_BD: StructureType = Self(1000392000i32);
697    pub const SCENE_CAPTURE_INFO_BD: StructureType = Self(1000392001i32);
698    pub const SYSTEM_SPATIAL_MESH_PROPERTIES_BD: StructureType = Self(1000393000i32);
699    pub const SENSE_DATA_PROVIDER_CREATE_INFO_SPATIAL_MESH_BD: StructureType = Self(1000393001i32);
700    pub const FUTURE_POLL_RESULT_PROGRESS_BD: StructureType = Self(1000394001i32);
701    #[doc = "XrSystemSpatialPlanePropertiesBD"]
702    pub const SYSTEM_SPATIAL_PLANE_PROPERTIES_BD: StructureType = Self(1000396000i32);
703    #[doc = "XrSpatialEntityComponentDataPlaneOrientationBD"]
704    pub const SPATIAL_ENTITY_COMPONENT_DATA_PLANE_ORIENTATION_BD: StructureType =
705        Self(1000396001i32);
706    #[doc = "XrSenseDataFilterPlaneOrientationBD"]
707    pub const SENSE_DATA_FILTER_PLANE_ORIENTATION_BD: StructureType = Self(1000396002i32);
708    pub const HAND_TRACKING_DATA_SOURCE_INFO_EXT: StructureType = Self(1000428000i32);
709    pub const HAND_TRACKING_DATA_SOURCE_STATE_EXT: StructureType = Self(1000428001i32);
710    pub const PLANE_DETECTOR_CREATE_INFO_EXT: StructureType = Self(1000429001i32);
711    pub const PLANE_DETECTOR_BEGIN_INFO_EXT: StructureType = Self(1000429002i32);
712    pub const PLANE_DETECTOR_GET_INFO_EXT: StructureType = Self(1000429003i32);
713    pub const PLANE_DETECTOR_LOCATIONS_EXT: StructureType = Self(1000429004i32);
714    pub const PLANE_DETECTOR_LOCATION_EXT: StructureType = Self(1000429005i32);
715    pub const PLANE_DETECTOR_POLYGON_BUFFER_EXT: StructureType = Self(1000429006i32);
716    pub const SYSTEM_PLANE_DETECTION_PROPERTIES_EXT: StructureType = Self(1000429007i32);
717    pub const TRACKABLE_GET_INFO_ANDROID: StructureType = Self(1000455000i32);
718    pub const ANCHOR_SPACE_CREATE_INFO_ANDROID: StructureType = Self(1000455001i32);
719    pub const TRACKABLE_PLANE_ANDROID: StructureType = Self(1000455003i32);
720    pub const TRACKABLE_TRACKER_CREATE_INFO_ANDROID: StructureType = Self(1000455004i32);
721    pub const SYSTEM_TRACKABLES_PROPERTIES_ANDROID: StructureType = Self(1000455005i32);
722    pub const PERSISTED_ANCHOR_SPACE_CREATE_INFO_ANDROID: StructureType = Self(1000457001i32);
723    pub const PERSISTED_ANCHOR_SPACE_INFO_ANDROID: StructureType = Self(1000457002i32);
724    pub const DEVICE_ANCHOR_PERSISTENCE_CREATE_INFO_ANDROID: StructureType = Self(1000457003i32);
725    pub const SYSTEM_DEVICE_ANCHOR_PERSISTENCE_PROPERTIES_ANDROID: StructureType =
726        Self(1000457004i32);
727    pub const FACE_TRACKER_CREATE_INFO_ANDROID: StructureType = Self(1000458000i32);
728    pub const FACE_STATE_GET_INFO_ANDROID: StructureType = Self(1000458001i32);
729    pub const FACE_STATE_ANDROID: StructureType = Self(1000458002i32);
730    pub const SYSTEM_FACE_TRACKING_PROPERTIES_ANDROID: StructureType = Self(1000458003i32);
731    pub const PASSTHROUGH_CAMERA_STATE_GET_INFO_ANDROID: StructureType = Self(1000460000i32);
732    pub const SYSTEM_PASSTHROUGH_CAMERA_STATE_PROPERTIES_ANDROID: StructureType =
733        Self(1000460001i32);
734    pub const RAYCAST_INFO_ANDROID: StructureType = Self(1000463000i32);
735    pub const RAYCAST_HIT_RESULTS_ANDROID: StructureType = Self(1000463001i32);
736    pub const TRACKABLE_OBJECT_ANDROID: StructureType = Self(1000466000i32);
737    pub const TRACKABLE_OBJECT_CONFIGURATION_ANDROID: StructureType = Self(1000466001i32);
738    pub const FUTURE_CANCEL_INFO_EXT: StructureType = Self(1000469000i32);
739    pub const FUTURE_POLL_INFO_EXT: StructureType = Self(1000469001i32);
740    pub const FUTURE_COMPLETION_EXT: StructureType = Self(1000469002i32);
741    pub const FUTURE_POLL_RESULT_EXT: StructureType = Self(1000469003i32);
742    pub const EVENT_DATA_USER_PRESENCE_CHANGED_EXT: StructureType = Self(1000470000i32);
743    pub const SYSTEM_USER_PRESENCE_PROPERTIES_EXT: StructureType = Self(1000470001i32);
744    pub const SPACES_LOCATE_INFO_KHR: StructureType = Self::SPACES_LOCATE_INFO;
745    pub const SPACE_LOCATIONS_KHR: StructureType = Self::SPACE_LOCATIONS;
746    pub const SPACE_VELOCITIES_KHR: StructureType = Self::SPACE_VELOCITIES;
747    pub const SYSTEM_NOTIFICATIONS_SET_INFO_ML: StructureType = Self(1000473000i32);
748    pub const WORLD_MESH_DETECTOR_CREATE_INFO_ML: StructureType = Self(1000474001i32);
749    pub const WORLD_MESH_STATE_REQUEST_INFO_ML: StructureType = Self(1000474002i32);
750    pub const WORLD_MESH_BLOCK_STATE_ML: StructureType = Self(1000474003i32);
751    pub const WORLD_MESH_STATE_REQUEST_COMPLETION_ML: StructureType = Self(1000474004i32);
752    pub const WORLD_MESH_BUFFER_RECOMMENDED_SIZE_INFO_ML: StructureType = Self(1000474005i32);
753    pub const WORLD_MESH_BUFFER_SIZE_ML: StructureType = Self(1000474006i32);
754    pub const WORLD_MESH_BUFFER_ML: StructureType = Self(1000474007i32);
755    pub const WORLD_MESH_BLOCK_REQUEST_ML: StructureType = Self(1000474008i32);
756    pub const WORLD_MESH_GET_INFO_ML: StructureType = Self(1000474009i32);
757    pub const WORLD_MESH_BLOCK_ML: StructureType = Self(1000474010i32);
758    pub const WORLD_MESH_REQUEST_COMPLETION_ML: StructureType = Self(1000474011i32);
759    pub const WORLD_MESH_REQUEST_COMPLETION_INFO_ML: StructureType = Self(1000474012i32);
760    pub const SYSTEM_FACIAL_EXPRESSION_PROPERTIES_ML: StructureType = Self(1000482004i32);
761    pub const FACIAL_EXPRESSION_CLIENT_CREATE_INFO_ML: StructureType = Self(1000482005i32);
762    pub const FACIAL_EXPRESSION_BLEND_SHAPE_GET_INFO_ML: StructureType = Self(1000482006i32);
763    pub const FACIAL_EXPRESSION_BLEND_SHAPE_PROPERTIES_ML: StructureType = Self(1000482007i32);
764    pub const SYSTEM_SIMULTANEOUS_HANDS_AND_CONTROLLERS_PROPERTIES_META: StructureType =
765        Self(1000532001i32);
766    pub const SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_RESUME_INFO_META: StructureType =
767        Self(1000532002i32);
768    pub const SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_PAUSE_INFO_META: StructureType =
769        Self(1000532003i32);
770    pub const COLOCATION_DISCOVERY_START_INFO_META: StructureType = Self(1000571010i32);
771    pub const COLOCATION_DISCOVERY_STOP_INFO_META: StructureType = Self(1000571011i32);
772    pub const COLOCATION_ADVERTISEMENT_START_INFO_META: StructureType = Self(1000571012i32);
773    pub const COLOCATION_ADVERTISEMENT_STOP_INFO_META: StructureType = Self(1000571013i32);
774    pub const EVENT_DATA_START_COLOCATION_ADVERTISEMENT_COMPLETE_META: StructureType =
775        Self(1000571020i32);
776    pub const EVENT_DATA_STOP_COLOCATION_ADVERTISEMENT_COMPLETE_META: StructureType =
777        Self(1000571021i32);
778    pub const EVENT_DATA_COLOCATION_ADVERTISEMENT_COMPLETE_META: StructureType =
779        Self(1000571022i32);
780    pub const EVENT_DATA_START_COLOCATION_DISCOVERY_COMPLETE_META: StructureType =
781        Self(1000571023i32);
782    pub const EVENT_DATA_COLOCATION_DISCOVERY_RESULT_META: StructureType = Self(1000571024i32);
783    pub const EVENT_DATA_COLOCATION_DISCOVERY_COMPLETE_META: StructureType = Self(1000571025i32);
784    pub const EVENT_DATA_STOP_COLOCATION_DISCOVERY_COMPLETE_META: StructureType =
785        Self(1000571026i32);
786    pub const SYSTEM_COLOCATION_DISCOVERY_PROPERTIES_META: StructureType = Self(1000571030i32);
787    pub const SHARE_SPACES_RECIPIENT_GROUPS_META: StructureType = Self(1000572000i32);
788    pub const SPACE_GROUP_UUID_FILTER_INFO_META: StructureType = Self(1000572001i32);
789    pub const SYSTEM_SPATIAL_ENTITY_GROUP_SHARING_PROPERTIES_META: StructureType =
790        Self(1000572100i32);
791    pub const ANCHOR_SHARING_INFO_ANDROID: StructureType = Self(1000701000i32);
792    pub const ANCHOR_SHARING_TOKEN_ANDROID: StructureType = Self(1000701001i32);
793    pub const SYSTEM_ANCHOR_SHARING_EXPORT_PROPERTIES_ANDROID: StructureType = Self(1000701002i32);
794    pub const SYSTEM_MARKER_TRACKING_PROPERTIES_ANDROID: StructureType = Self(1000707000i32);
795    pub const TRACKABLE_MARKER_CONFIGURATION_ANDROID: StructureType = Self(1000707001i32);
796    pub const TRACKABLE_MARKER_ANDROID: StructureType = Self(1000707002i32);
797    pub const SPATIAL_CAPABILITY_COMPONENT_TYPES_EXT: StructureType = Self(1000740000i32);
798    pub const SPATIAL_CONTEXT_CREATE_INFO_EXT: StructureType = Self(1000740001i32);
799    pub const CREATE_SPATIAL_CONTEXT_COMPLETION_EXT: StructureType = Self(1000740002i32);
800    pub const SPATIAL_DISCOVERY_SNAPSHOT_CREATE_INFO_EXT: StructureType = Self(1000740003i32);
801    pub const CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_INFO_EXT: StructureType =
802        Self(1000740004i32);
803    pub const CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_EXT: StructureType = Self(1000740005i32);
804    pub const SPATIAL_COMPONENT_DATA_QUERY_CONDITION_EXT: StructureType = Self(1000740006i32);
805    pub const SPATIAL_COMPONENT_DATA_QUERY_RESULT_EXT: StructureType = Self(1000740007i32);
806    pub const SPATIAL_BUFFER_GET_INFO_EXT: StructureType = Self(1000740008i32);
807    pub const SPATIAL_COMPONENT_BOUNDED_2D_LIST_EXT: StructureType = Self(1000740009i32);
808    pub const SPATIAL_COMPONENT_BOUNDED_3D_LIST_EXT: StructureType = Self(1000740010i32);
809    pub const SPATIAL_COMPONENT_PARENT_LIST_EXT: StructureType = Self(1000740011i32);
810    pub const SPATIAL_COMPONENT_MESH_3D_LIST_EXT: StructureType = Self(1000740012i32);
811    pub const SPATIAL_ENTITY_FROM_ID_CREATE_INFO_EXT: StructureType = Self(1000740013i32);
812    pub const SPATIAL_UPDATE_SNAPSHOT_CREATE_INFO_EXT: StructureType = Self(1000740014i32);
813    pub const EVENT_DATA_SPATIAL_DISCOVERY_RECOMMENDED_EXT: StructureType = Self(1000740015i32);
814    pub const SPATIAL_FILTER_TRACKING_STATE_EXT: StructureType = Self(1000740016i32);
815    pub const SPATIAL_CAPABILITY_CONFIGURATION_PLANE_TRACKING_EXT: StructureType =
816        Self(1000741000i32);
817    pub const SPATIAL_COMPONENT_PLANE_ALIGNMENT_LIST_EXT: StructureType = Self(1000741001i32);
818    pub const SPATIAL_COMPONENT_MESH_2D_LIST_EXT: StructureType = Self(1000741002i32);
819    pub const SPATIAL_COMPONENT_POLYGON_2D_LIST_EXT: StructureType = Self(1000741003i32);
820    pub const SPATIAL_COMPONENT_PLANE_SEMANTIC_LABEL_LIST_EXT: StructureType = Self(1000741004i32);
821    pub const SPATIAL_CAPABILITY_CONFIGURATION_QR_CODE_EXT: StructureType = Self(1000743000i32);
822    pub const SPATIAL_CAPABILITY_CONFIGURATION_MICRO_QR_CODE_EXT: StructureType =
823        Self(1000743001i32);
824    pub const SPATIAL_CAPABILITY_CONFIGURATION_ARUCO_MARKER_EXT: StructureType =
825        Self(1000743002i32);
826    pub const SPATIAL_CAPABILITY_CONFIGURATION_APRIL_TAG_EXT: StructureType = Self(1000743003i32);
827    pub const SPATIAL_MARKER_SIZE_EXT: StructureType = Self(1000743004i32);
828    pub const SPATIAL_MARKER_STATIC_OPTIMIZATION_EXT: StructureType = Self(1000743005i32);
829    pub const SPATIAL_COMPONENT_MARKER_LIST_EXT: StructureType = Self(1000743006i32);
830    pub const SPATIAL_CAPABILITY_CONFIGURATION_ANCHOR_EXT: StructureType = Self(1000762000i32);
831    pub const SPATIAL_COMPONENT_ANCHOR_LIST_EXT: StructureType = Self(1000762001i32);
832    pub const SPATIAL_ANCHOR_CREATE_INFO_EXT: StructureType = Self(1000762002i32);
833    pub const SPATIAL_PERSISTENCE_CONTEXT_CREATE_INFO_EXT: StructureType = Self(1000763000i32);
834    pub const CREATE_SPATIAL_PERSISTENCE_CONTEXT_COMPLETION_EXT: StructureType =
835        Self(1000763001i32);
836    pub const SPATIAL_CONTEXT_PERSISTENCE_CONFIG_EXT: StructureType = Self(1000763002i32);
837    pub const SPATIAL_DISCOVERY_PERSISTENCE_UUID_FILTER_EXT: StructureType = Self(1000763003i32);
838    pub const SPATIAL_COMPONENT_PERSISTENCE_LIST_EXT: StructureType = Self(1000763004i32);
839    pub const SPATIAL_ENTITY_PERSIST_INFO_EXT: StructureType = Self(1000781000i32);
840    pub const PERSIST_SPATIAL_ENTITY_COMPLETION_EXT: StructureType = Self(1000781001i32);
841    pub const SPATIAL_ENTITY_UNPERSIST_INFO_EXT: StructureType = Self(1000781002i32);
842    pub const UNPERSIST_SPATIAL_ENTITY_COMPLETION_EXT: StructureType = Self(1000781003i32);
843    pub const LOADER_INIT_INFO_PROPERTIES_EXT: StructureType = Self(1000838000i32);
844    pub fn from_raw(x: i32) -> Self {
845        Self(x)
846    }
847    pub fn into_raw(self) -> i32 {
848        self.0
849    }
850}
851impl fmt::Debug for StructureType {
852    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
853        let name = match *self {
854            Self::UNKNOWN => Some("UNKNOWN"),
855            Self::API_LAYER_PROPERTIES => Some("API_LAYER_PROPERTIES"),
856            Self::EXTENSION_PROPERTIES => Some("EXTENSION_PROPERTIES"),
857            Self::INSTANCE_CREATE_INFO => Some("INSTANCE_CREATE_INFO"),
858            Self::SYSTEM_GET_INFO => Some("SYSTEM_GET_INFO"),
859            Self::SYSTEM_PROPERTIES => Some("SYSTEM_PROPERTIES"),
860            Self::VIEW_LOCATE_INFO => Some("VIEW_LOCATE_INFO"),
861            Self::VIEW => Some("VIEW"),
862            Self::SESSION_CREATE_INFO => Some("SESSION_CREATE_INFO"),
863            Self::SWAPCHAIN_CREATE_INFO => Some("SWAPCHAIN_CREATE_INFO"),
864            Self::SESSION_BEGIN_INFO => Some("SESSION_BEGIN_INFO"),
865            Self::VIEW_STATE => Some("VIEW_STATE"),
866            Self::FRAME_END_INFO => Some("FRAME_END_INFO"),
867            Self::HAPTIC_VIBRATION => Some("HAPTIC_VIBRATION"),
868            Self::EVENT_DATA_BUFFER => Some("EVENT_DATA_BUFFER"),
869            Self::EVENT_DATA_INSTANCE_LOSS_PENDING => Some("EVENT_DATA_INSTANCE_LOSS_PENDING"),
870            Self::EVENT_DATA_SESSION_STATE_CHANGED => Some("EVENT_DATA_SESSION_STATE_CHANGED"),
871            Self::ACTION_STATE_BOOLEAN => Some("ACTION_STATE_BOOLEAN"),
872            Self::ACTION_STATE_FLOAT => Some("ACTION_STATE_FLOAT"),
873            Self::ACTION_STATE_VECTOR2F => Some("ACTION_STATE_VECTOR2F"),
874            Self::ACTION_STATE_POSE => Some("ACTION_STATE_POSE"),
875            Self::ACTION_SET_CREATE_INFO => Some("ACTION_SET_CREATE_INFO"),
876            Self::ACTION_CREATE_INFO => Some("ACTION_CREATE_INFO"),
877            Self::INSTANCE_PROPERTIES => Some("INSTANCE_PROPERTIES"),
878            Self::FRAME_WAIT_INFO => Some("FRAME_WAIT_INFO"),
879            Self::COMPOSITION_LAYER_PROJECTION => Some("COMPOSITION_LAYER_PROJECTION"),
880            Self::COMPOSITION_LAYER_QUAD => Some("COMPOSITION_LAYER_QUAD"),
881            Self::REFERENCE_SPACE_CREATE_INFO => Some("REFERENCE_SPACE_CREATE_INFO"),
882            Self::ACTION_SPACE_CREATE_INFO => Some("ACTION_SPACE_CREATE_INFO"),
883            Self::EVENT_DATA_REFERENCE_SPACE_CHANGE_PENDING => {
884                Some("EVENT_DATA_REFERENCE_SPACE_CHANGE_PENDING")
885            }
886            Self::VIEW_CONFIGURATION_VIEW => Some("VIEW_CONFIGURATION_VIEW"),
887            Self::SPACE_LOCATION => Some("SPACE_LOCATION"),
888            Self::SPACE_VELOCITY => Some("SPACE_VELOCITY"),
889            Self::FRAME_STATE => Some("FRAME_STATE"),
890            Self::VIEW_CONFIGURATION_PROPERTIES => Some("VIEW_CONFIGURATION_PROPERTIES"),
891            Self::FRAME_BEGIN_INFO => Some("FRAME_BEGIN_INFO"),
892            Self::COMPOSITION_LAYER_PROJECTION_VIEW => Some("COMPOSITION_LAYER_PROJECTION_VIEW"),
893            Self::EVENT_DATA_EVENTS_LOST => Some("EVENT_DATA_EVENTS_LOST"),
894            Self::INTERACTION_PROFILE_SUGGESTED_BINDING => {
895                Some("INTERACTION_PROFILE_SUGGESTED_BINDING")
896            }
897            Self::EVENT_DATA_INTERACTION_PROFILE_CHANGED => {
898                Some("EVENT_DATA_INTERACTION_PROFILE_CHANGED")
899            }
900            Self::INTERACTION_PROFILE_STATE => Some("INTERACTION_PROFILE_STATE"),
901            Self::SWAPCHAIN_IMAGE_ACQUIRE_INFO => Some("SWAPCHAIN_IMAGE_ACQUIRE_INFO"),
902            Self::SWAPCHAIN_IMAGE_WAIT_INFO => Some("SWAPCHAIN_IMAGE_WAIT_INFO"),
903            Self::SWAPCHAIN_IMAGE_RELEASE_INFO => Some("SWAPCHAIN_IMAGE_RELEASE_INFO"),
904            Self::ACTION_STATE_GET_INFO => Some("ACTION_STATE_GET_INFO"),
905            Self::HAPTIC_ACTION_INFO => Some("HAPTIC_ACTION_INFO"),
906            Self::SESSION_ACTION_SETS_ATTACH_INFO => Some("SESSION_ACTION_SETS_ATTACH_INFO"),
907            Self::ACTIONS_SYNC_INFO => Some("ACTIONS_SYNC_INFO"),
908            Self::BOUND_SOURCES_FOR_ACTION_ENUMERATE_INFO => {
909                Some("BOUND_SOURCES_FOR_ACTION_ENUMERATE_INFO")
910            }
911            Self::INPUT_SOURCE_LOCALIZED_NAME_GET_INFO => {
912                Some("INPUT_SOURCE_LOCALIZED_NAME_GET_INFO")
913            }
914            Self::SPACES_LOCATE_INFO => Some("SPACES_LOCATE_INFO"),
915            Self::SPACE_LOCATIONS => Some("SPACE_LOCATIONS"),
916            Self::SPACE_VELOCITIES => Some("SPACE_VELOCITIES"),
917            Self::COMPOSITION_LAYER_CUBE_KHR => Some("COMPOSITION_LAYER_CUBE_KHR"),
918            Self::INSTANCE_CREATE_INFO_ANDROID_KHR => Some("INSTANCE_CREATE_INFO_ANDROID_KHR"),
919            Self::COMPOSITION_LAYER_DEPTH_INFO_KHR => Some("COMPOSITION_LAYER_DEPTH_INFO_KHR"),
920            Self::VULKAN_SWAPCHAIN_FORMAT_LIST_CREATE_INFO_KHR => {
921                Some("VULKAN_SWAPCHAIN_FORMAT_LIST_CREATE_INFO_KHR")
922            }
923            Self::EVENT_DATA_PERF_SETTINGS_EXT => Some("EVENT_DATA_PERF_SETTINGS_EXT"),
924            Self::COMPOSITION_LAYER_CYLINDER_KHR => Some("COMPOSITION_LAYER_CYLINDER_KHR"),
925            Self::COMPOSITION_LAYER_EQUIRECT_KHR => Some("COMPOSITION_LAYER_EQUIRECT_KHR"),
926            Self::DEBUG_UTILS_OBJECT_NAME_INFO_EXT => Some("DEBUG_UTILS_OBJECT_NAME_INFO_EXT"),
927            Self::DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT => {
928                Some("DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT")
929            }
930            Self::DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT => {
931                Some("DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT")
932            }
933            Self::DEBUG_UTILS_LABEL_EXT => Some("DEBUG_UTILS_LABEL_EXT"),
934            Self::GRAPHICS_BINDING_OPENGL_WIN32_KHR => Some("GRAPHICS_BINDING_OPENGL_WIN32_KHR"),
935            Self::GRAPHICS_BINDING_OPENGL_XLIB_KHR => Some("GRAPHICS_BINDING_OPENGL_XLIB_KHR"),
936            Self::GRAPHICS_BINDING_OPENGL_XCB_KHR => Some("GRAPHICS_BINDING_OPENGL_XCB_KHR"),
937            Self::GRAPHICS_BINDING_OPENGL_WAYLAND_KHR => {
938                Some("GRAPHICS_BINDING_OPENGL_WAYLAND_KHR")
939            }
940            Self::SWAPCHAIN_IMAGE_OPENGL_KHR => Some("SWAPCHAIN_IMAGE_OPENGL_KHR"),
941            Self::GRAPHICS_REQUIREMENTS_OPENGL_KHR => Some("GRAPHICS_REQUIREMENTS_OPENGL_KHR"),
942            Self::GRAPHICS_BINDING_OPENGL_ES_ANDROID_KHR => {
943                Some("GRAPHICS_BINDING_OPENGL_ES_ANDROID_KHR")
944            }
945            Self::SWAPCHAIN_IMAGE_OPENGL_ES_KHR => Some("SWAPCHAIN_IMAGE_OPENGL_ES_KHR"),
946            Self::GRAPHICS_REQUIREMENTS_OPENGL_ES_KHR => {
947                Some("GRAPHICS_REQUIREMENTS_OPENGL_ES_KHR")
948            }
949            Self::GRAPHICS_BINDING_VULKAN_KHR => Some("GRAPHICS_BINDING_VULKAN_KHR"),
950            Self::SWAPCHAIN_IMAGE_VULKAN_KHR => Some("SWAPCHAIN_IMAGE_VULKAN_KHR"),
951            Self::GRAPHICS_REQUIREMENTS_VULKAN_KHR => Some("GRAPHICS_REQUIREMENTS_VULKAN_KHR"),
952            Self::GRAPHICS_BINDING_D3D11_KHR => Some("GRAPHICS_BINDING_D3D11_KHR"),
953            Self::SWAPCHAIN_IMAGE_D3D11_KHR => Some("SWAPCHAIN_IMAGE_D3D11_KHR"),
954            Self::GRAPHICS_REQUIREMENTS_D3D11_KHR => Some("GRAPHICS_REQUIREMENTS_D3D11_KHR"),
955            Self::GRAPHICS_BINDING_D3D12_KHR => Some("GRAPHICS_BINDING_D3D12_KHR"),
956            Self::SWAPCHAIN_IMAGE_D3D12_KHR => Some("SWAPCHAIN_IMAGE_D3D12_KHR"),
957            Self::GRAPHICS_REQUIREMENTS_D3D12_KHR => Some("GRAPHICS_REQUIREMENTS_D3D12_KHR"),
958            Self::GRAPHICS_BINDING_METAL_KHR => Some("GRAPHICS_BINDING_METAL_KHR"),
959            Self::SWAPCHAIN_IMAGE_METAL_KHR => Some("SWAPCHAIN_IMAGE_METAL_KHR"),
960            Self::GRAPHICS_REQUIREMENTS_METAL_KHR => Some("GRAPHICS_REQUIREMENTS_METAL_KHR"),
961            Self::SYSTEM_EYE_GAZE_INTERACTION_PROPERTIES_EXT => {
962                Some("SYSTEM_EYE_GAZE_INTERACTION_PROPERTIES_EXT")
963            }
964            Self::EYE_GAZE_SAMPLE_TIME_EXT => Some("EYE_GAZE_SAMPLE_TIME_EXT"),
965            Self::VISIBILITY_MASK_KHR => Some("VISIBILITY_MASK_KHR"),
966            Self::EVENT_DATA_VISIBILITY_MASK_CHANGED_KHR => {
967                Some("EVENT_DATA_VISIBILITY_MASK_CHANGED_KHR")
968            }
969            Self::SESSION_CREATE_INFO_OVERLAY_EXTX => Some("SESSION_CREATE_INFO_OVERLAY_EXTX"),
970            Self::EVENT_DATA_MAIN_SESSION_VISIBILITY_CHANGED_EXTX => {
971                Some("EVENT_DATA_MAIN_SESSION_VISIBILITY_CHANGED_EXTX")
972            }
973            Self::COMPOSITION_LAYER_COLOR_SCALE_BIAS_KHR => {
974                Some("COMPOSITION_LAYER_COLOR_SCALE_BIAS_KHR")
975            }
976            Self::SPATIAL_ANCHOR_CREATE_INFO_MSFT => Some("SPATIAL_ANCHOR_CREATE_INFO_MSFT"),
977            Self::SPATIAL_ANCHOR_SPACE_CREATE_INFO_MSFT => {
978                Some("SPATIAL_ANCHOR_SPACE_CREATE_INFO_MSFT")
979            }
980            Self::COMPOSITION_LAYER_IMAGE_LAYOUT_FB => Some("COMPOSITION_LAYER_IMAGE_LAYOUT_FB"),
981            Self::COMPOSITION_LAYER_ALPHA_BLEND_FB => Some("COMPOSITION_LAYER_ALPHA_BLEND_FB"),
982            Self::VIEW_CONFIGURATION_DEPTH_RANGE_EXT => Some("VIEW_CONFIGURATION_DEPTH_RANGE_EXT"),
983            Self::GRAPHICS_BINDING_EGL_MNDX => Some("GRAPHICS_BINDING_EGL_MNDX"),
984            Self::SPATIAL_GRAPH_NODE_SPACE_CREATE_INFO_MSFT => {
985                Some("SPATIAL_GRAPH_NODE_SPACE_CREATE_INFO_MSFT")
986            }
987            Self::SPATIAL_GRAPH_STATIC_NODE_BINDING_CREATE_INFO_MSFT => {
988                Some("SPATIAL_GRAPH_STATIC_NODE_BINDING_CREATE_INFO_MSFT")
989            }
990            Self::SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_GET_INFO_MSFT => {
991                Some("SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_GET_INFO_MSFT")
992            }
993            Self::SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_MSFT => {
994                Some("SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_MSFT")
995            }
996            Self::SYSTEM_HAND_TRACKING_PROPERTIES_EXT => {
997                Some("SYSTEM_HAND_TRACKING_PROPERTIES_EXT")
998            }
999            Self::HAND_TRACKER_CREATE_INFO_EXT => Some("HAND_TRACKER_CREATE_INFO_EXT"),
1000            Self::HAND_JOINTS_LOCATE_INFO_EXT => Some("HAND_JOINTS_LOCATE_INFO_EXT"),
1001            Self::HAND_JOINT_LOCATIONS_EXT => Some("HAND_JOINT_LOCATIONS_EXT"),
1002            Self::HAND_JOINT_VELOCITIES_EXT => Some("HAND_JOINT_VELOCITIES_EXT"),
1003            Self::SYSTEM_HAND_TRACKING_MESH_PROPERTIES_MSFT => {
1004                Some("SYSTEM_HAND_TRACKING_MESH_PROPERTIES_MSFT")
1005            }
1006            Self::HAND_MESH_SPACE_CREATE_INFO_MSFT => Some("HAND_MESH_SPACE_CREATE_INFO_MSFT"),
1007            Self::HAND_MESH_UPDATE_INFO_MSFT => Some("HAND_MESH_UPDATE_INFO_MSFT"),
1008            Self::HAND_MESH_MSFT => Some("HAND_MESH_MSFT"),
1009            Self::HAND_POSE_TYPE_INFO_MSFT => Some("HAND_POSE_TYPE_INFO_MSFT"),
1010            Self::SECONDARY_VIEW_CONFIGURATION_SESSION_BEGIN_INFO_MSFT => {
1011                Some("SECONDARY_VIEW_CONFIGURATION_SESSION_BEGIN_INFO_MSFT")
1012            }
1013            Self::SECONDARY_VIEW_CONFIGURATION_STATE_MSFT => {
1014                Some("SECONDARY_VIEW_CONFIGURATION_STATE_MSFT")
1015            }
1016            Self::SECONDARY_VIEW_CONFIGURATION_FRAME_STATE_MSFT => {
1017                Some("SECONDARY_VIEW_CONFIGURATION_FRAME_STATE_MSFT")
1018            }
1019            Self::SECONDARY_VIEW_CONFIGURATION_FRAME_END_INFO_MSFT => {
1020                Some("SECONDARY_VIEW_CONFIGURATION_FRAME_END_INFO_MSFT")
1021            }
1022            Self::SECONDARY_VIEW_CONFIGURATION_LAYER_INFO_MSFT => {
1023                Some("SECONDARY_VIEW_CONFIGURATION_LAYER_INFO_MSFT")
1024            }
1025            Self::SECONDARY_VIEW_CONFIGURATION_SWAPCHAIN_CREATE_INFO_MSFT => {
1026                Some("SECONDARY_VIEW_CONFIGURATION_SWAPCHAIN_CREATE_INFO_MSFT")
1027            }
1028            Self::CONTROLLER_MODEL_KEY_STATE_MSFT => Some("CONTROLLER_MODEL_KEY_STATE_MSFT"),
1029            Self::CONTROLLER_MODEL_NODE_PROPERTIES_MSFT => {
1030                Some("CONTROLLER_MODEL_NODE_PROPERTIES_MSFT")
1031            }
1032            Self::CONTROLLER_MODEL_PROPERTIES_MSFT => Some("CONTROLLER_MODEL_PROPERTIES_MSFT"),
1033            Self::CONTROLLER_MODEL_NODE_STATE_MSFT => Some("CONTROLLER_MODEL_NODE_STATE_MSFT"),
1034            Self::CONTROLLER_MODEL_STATE_MSFT => Some("CONTROLLER_MODEL_STATE_MSFT"),
1035            Self::VIEW_CONFIGURATION_VIEW_FOV_EPIC => Some("VIEW_CONFIGURATION_VIEW_FOV_EPIC"),
1036            Self::HOLOGRAPHIC_WINDOW_ATTACHMENT_MSFT => Some("HOLOGRAPHIC_WINDOW_ATTACHMENT_MSFT"),
1037            Self::COMPOSITION_LAYER_REPROJECTION_INFO_MSFT => {
1038                Some("COMPOSITION_LAYER_REPROJECTION_INFO_MSFT")
1039            }
1040            Self::COMPOSITION_LAYER_REPROJECTION_PLANE_OVERRIDE_MSFT => {
1041                Some("COMPOSITION_LAYER_REPROJECTION_PLANE_OVERRIDE_MSFT")
1042            }
1043            Self::ANDROID_SURFACE_SWAPCHAIN_CREATE_INFO_FB => {
1044                Some("ANDROID_SURFACE_SWAPCHAIN_CREATE_INFO_FB")
1045            }
1046            Self::COMPOSITION_LAYER_SECURE_CONTENT_FB => {
1047                Some("COMPOSITION_LAYER_SECURE_CONTENT_FB")
1048            }
1049            Self::BODY_TRACKER_CREATE_INFO_FB => Some("BODY_TRACKER_CREATE_INFO_FB"),
1050            Self::BODY_JOINTS_LOCATE_INFO_FB => Some("BODY_JOINTS_LOCATE_INFO_FB"),
1051            Self::SYSTEM_BODY_TRACKING_PROPERTIES_FB => Some("SYSTEM_BODY_TRACKING_PROPERTIES_FB"),
1052            Self::BODY_JOINT_LOCATIONS_FB => Some("BODY_JOINT_LOCATIONS_FB"),
1053            Self::BODY_SKELETON_FB => Some("BODY_SKELETON_FB"),
1054            Self::INTERACTION_PROFILE_DPAD_BINDING_EXT => {
1055                Some("INTERACTION_PROFILE_DPAD_BINDING_EXT")
1056            }
1057            Self::INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVE => {
1058                Some("INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVE")
1059            }
1060            Self::HAND_JOINTS_MOTION_RANGE_INFO_EXT => Some("HAND_JOINTS_MOTION_RANGE_INFO_EXT"),
1061            Self::LOADER_INIT_INFO_ANDROID_KHR => Some("LOADER_INIT_INFO_ANDROID_KHR"),
1062            Self::VULKAN_INSTANCE_CREATE_INFO_KHR => Some("VULKAN_INSTANCE_CREATE_INFO_KHR"),
1063            Self::VULKAN_DEVICE_CREATE_INFO_KHR => Some("VULKAN_DEVICE_CREATE_INFO_KHR"),
1064            Self::VULKAN_GRAPHICS_DEVICE_GET_INFO_KHR => {
1065                Some("VULKAN_GRAPHICS_DEVICE_GET_INFO_KHR")
1066            }
1067            Self::COMPOSITION_LAYER_EQUIRECT2_KHR => Some("COMPOSITION_LAYER_EQUIRECT2_KHR"),
1068            Self::SCENE_OBSERVER_CREATE_INFO_MSFT => Some("SCENE_OBSERVER_CREATE_INFO_MSFT"),
1069            Self::SCENE_CREATE_INFO_MSFT => Some("SCENE_CREATE_INFO_MSFT"),
1070            Self::NEW_SCENE_COMPUTE_INFO_MSFT => Some("NEW_SCENE_COMPUTE_INFO_MSFT"),
1071            Self::VISUAL_MESH_COMPUTE_LOD_INFO_MSFT => Some("VISUAL_MESH_COMPUTE_LOD_INFO_MSFT"),
1072            Self::SCENE_COMPONENTS_MSFT => Some("SCENE_COMPONENTS_MSFT"),
1073            Self::SCENE_COMPONENTS_GET_INFO_MSFT => Some("SCENE_COMPONENTS_GET_INFO_MSFT"),
1074            Self::SCENE_COMPONENT_LOCATIONS_MSFT => Some("SCENE_COMPONENT_LOCATIONS_MSFT"),
1075            Self::SCENE_COMPONENTS_LOCATE_INFO_MSFT => Some("SCENE_COMPONENTS_LOCATE_INFO_MSFT"),
1076            Self::SCENE_OBJECTS_MSFT => Some("SCENE_OBJECTS_MSFT"),
1077            Self::SCENE_COMPONENT_PARENT_FILTER_INFO_MSFT => {
1078                Some("SCENE_COMPONENT_PARENT_FILTER_INFO_MSFT")
1079            }
1080            Self::SCENE_OBJECT_TYPES_FILTER_INFO_MSFT => {
1081                Some("SCENE_OBJECT_TYPES_FILTER_INFO_MSFT")
1082            }
1083            Self::SCENE_PLANES_MSFT => Some("SCENE_PLANES_MSFT"),
1084            Self::SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFT => {
1085                Some("SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFT")
1086            }
1087            Self::SCENE_MESHES_MSFT => Some("SCENE_MESHES_MSFT"),
1088            Self::SCENE_MESH_BUFFERS_GET_INFO_MSFT => Some("SCENE_MESH_BUFFERS_GET_INFO_MSFT"),
1089            Self::SCENE_MESH_BUFFERS_MSFT => Some("SCENE_MESH_BUFFERS_MSFT"),
1090            Self::SCENE_MESH_VERTEX_BUFFER_MSFT => Some("SCENE_MESH_VERTEX_BUFFER_MSFT"),
1091            Self::SCENE_MESH_INDICES_UINT32_MSFT => Some("SCENE_MESH_INDICES_UINT32_MSFT"),
1092            Self::SCENE_MESH_INDICES_UINT16_MSFT => Some("SCENE_MESH_INDICES_UINT16_MSFT"),
1093            Self::SERIALIZED_SCENE_FRAGMENT_DATA_GET_INFO_MSFT => {
1094                Some("SERIALIZED_SCENE_FRAGMENT_DATA_GET_INFO_MSFT")
1095            }
1096            Self::SCENE_DESERIALIZE_INFO_MSFT => Some("SCENE_DESERIALIZE_INFO_MSFT"),
1097            Self::EVENT_DATA_DISPLAY_REFRESH_RATE_CHANGED_FB => {
1098                Some("EVENT_DATA_DISPLAY_REFRESH_RATE_CHANGED_FB")
1099            }
1100            Self::VIVE_TRACKER_PATHS_HTCX => Some("VIVE_TRACKER_PATHS_HTCX"),
1101            Self::EVENT_DATA_VIVE_TRACKER_CONNECTED_HTCX => {
1102                Some("EVENT_DATA_VIVE_TRACKER_CONNECTED_HTCX")
1103            }
1104            Self::SYSTEM_FACIAL_TRACKING_PROPERTIES_HTC => {
1105                Some("SYSTEM_FACIAL_TRACKING_PROPERTIES_HTC")
1106            }
1107            Self::FACIAL_TRACKER_CREATE_INFO_HTC => Some("FACIAL_TRACKER_CREATE_INFO_HTC"),
1108            Self::FACIAL_EXPRESSIONS_HTC => Some("FACIAL_EXPRESSIONS_HTC"),
1109            Self::SYSTEM_COLOR_SPACE_PROPERTIES_FB => Some("SYSTEM_COLOR_SPACE_PROPERTIES_FB"),
1110            Self::HAND_TRACKING_MESH_FB => Some("HAND_TRACKING_MESH_FB"),
1111            Self::HAND_TRACKING_SCALE_FB => Some("HAND_TRACKING_SCALE_FB"),
1112            Self::HAND_TRACKING_AIM_STATE_FB => Some("HAND_TRACKING_AIM_STATE_FB"),
1113            Self::HAND_TRACKING_CAPSULES_STATE_FB => Some("HAND_TRACKING_CAPSULES_STATE_FB"),
1114            Self::SYSTEM_SPATIAL_ENTITY_PROPERTIES_FB => {
1115                Some("SYSTEM_SPATIAL_ENTITY_PROPERTIES_FB")
1116            }
1117            Self::SPATIAL_ANCHOR_CREATE_INFO_FB => Some("SPATIAL_ANCHOR_CREATE_INFO_FB"),
1118            Self::SPACE_COMPONENT_STATUS_SET_INFO_FB => Some("SPACE_COMPONENT_STATUS_SET_INFO_FB"),
1119            Self::SPACE_COMPONENT_STATUS_FB => Some("SPACE_COMPONENT_STATUS_FB"),
1120            Self::EVENT_DATA_SPATIAL_ANCHOR_CREATE_COMPLETE_FB => {
1121                Some("EVENT_DATA_SPATIAL_ANCHOR_CREATE_COMPLETE_FB")
1122            }
1123            Self::EVENT_DATA_SPACE_SET_STATUS_COMPLETE_FB => {
1124                Some("EVENT_DATA_SPACE_SET_STATUS_COMPLETE_FB")
1125            }
1126            Self::FOVEATION_PROFILE_CREATE_INFO_FB => Some("FOVEATION_PROFILE_CREATE_INFO_FB"),
1127            Self::SWAPCHAIN_CREATE_INFO_FOVEATION_FB => Some("SWAPCHAIN_CREATE_INFO_FOVEATION_FB"),
1128            Self::SWAPCHAIN_STATE_FOVEATION_FB => Some("SWAPCHAIN_STATE_FOVEATION_FB"),
1129            Self::FOVEATION_LEVEL_PROFILE_CREATE_INFO_FB => {
1130                Some("FOVEATION_LEVEL_PROFILE_CREATE_INFO_FB")
1131            }
1132            Self::KEYBOARD_SPACE_CREATE_INFO_FB => Some("KEYBOARD_SPACE_CREATE_INFO_FB"),
1133            Self::KEYBOARD_TRACKING_QUERY_FB => Some("KEYBOARD_TRACKING_QUERY_FB"),
1134            Self::SYSTEM_KEYBOARD_TRACKING_PROPERTIES_FB => {
1135                Some("SYSTEM_KEYBOARD_TRACKING_PROPERTIES_FB")
1136            }
1137            Self::TRIANGLE_MESH_CREATE_INFO_FB => Some("TRIANGLE_MESH_CREATE_INFO_FB"),
1138            Self::SYSTEM_PASSTHROUGH_PROPERTIES_FB => Some("SYSTEM_PASSTHROUGH_PROPERTIES_FB"),
1139            Self::PASSTHROUGH_CREATE_INFO_FB => Some("PASSTHROUGH_CREATE_INFO_FB"),
1140            Self::PASSTHROUGH_LAYER_CREATE_INFO_FB => Some("PASSTHROUGH_LAYER_CREATE_INFO_FB"),
1141            Self::COMPOSITION_LAYER_PASSTHROUGH_FB => Some("COMPOSITION_LAYER_PASSTHROUGH_FB"),
1142            Self::GEOMETRY_INSTANCE_CREATE_INFO_FB => Some("GEOMETRY_INSTANCE_CREATE_INFO_FB"),
1143            Self::GEOMETRY_INSTANCE_TRANSFORM_FB => Some("GEOMETRY_INSTANCE_TRANSFORM_FB"),
1144            Self::SYSTEM_PASSTHROUGH_PROPERTIES2_FB => Some("SYSTEM_PASSTHROUGH_PROPERTIES2_FB"),
1145            Self::PASSTHROUGH_STYLE_FB => Some("PASSTHROUGH_STYLE_FB"),
1146            Self::PASSTHROUGH_COLOR_MAP_MONO_TO_RGBA_FB => {
1147                Some("PASSTHROUGH_COLOR_MAP_MONO_TO_RGBA_FB")
1148            }
1149            Self::PASSTHROUGH_COLOR_MAP_MONO_TO_MONO_FB => {
1150                Some("PASSTHROUGH_COLOR_MAP_MONO_TO_MONO_FB")
1151            }
1152            Self::PASSTHROUGH_BRIGHTNESS_CONTRAST_SATURATION_FB => {
1153                Some("PASSTHROUGH_BRIGHTNESS_CONTRAST_SATURATION_FB")
1154            }
1155            Self::EVENT_DATA_PASSTHROUGH_STATE_CHANGED_FB => {
1156                Some("EVENT_DATA_PASSTHROUGH_STATE_CHANGED_FB")
1157            }
1158            Self::RENDER_MODEL_PATH_INFO_FB => Some("RENDER_MODEL_PATH_INFO_FB"),
1159            Self::RENDER_MODEL_PROPERTIES_FB => Some("RENDER_MODEL_PROPERTIES_FB"),
1160            Self::RENDER_MODEL_BUFFER_FB => Some("RENDER_MODEL_BUFFER_FB"),
1161            Self::RENDER_MODEL_LOAD_INFO_FB => Some("RENDER_MODEL_LOAD_INFO_FB"),
1162            Self::SYSTEM_RENDER_MODEL_PROPERTIES_FB => Some("SYSTEM_RENDER_MODEL_PROPERTIES_FB"),
1163            Self::RENDER_MODEL_CAPABILITIES_REQUEST_FB => {
1164                Some("RENDER_MODEL_CAPABILITIES_REQUEST_FB")
1165            }
1166            Self::BINDING_MODIFICATIONS_KHR => Some("BINDING_MODIFICATIONS_KHR"),
1167            Self::VIEW_LOCATE_FOVEATED_RENDERING_VARJO => {
1168                Some("VIEW_LOCATE_FOVEATED_RENDERING_VARJO")
1169            }
1170            Self::FOVEATED_VIEW_CONFIGURATION_VIEW_VARJO => {
1171                Some("FOVEATED_VIEW_CONFIGURATION_VIEW_VARJO")
1172            }
1173            Self::SYSTEM_FOVEATED_RENDERING_PROPERTIES_VARJO => {
1174                Some("SYSTEM_FOVEATED_RENDERING_PROPERTIES_VARJO")
1175            }
1176            Self::COMPOSITION_LAYER_DEPTH_TEST_VARJO => Some("COMPOSITION_LAYER_DEPTH_TEST_VARJO"),
1177            Self::SYSTEM_MARKER_TRACKING_PROPERTIES_VARJO => {
1178                Some("SYSTEM_MARKER_TRACKING_PROPERTIES_VARJO")
1179            }
1180            Self::EVENT_DATA_MARKER_TRACKING_UPDATE_VARJO => {
1181                Some("EVENT_DATA_MARKER_TRACKING_UPDATE_VARJO")
1182            }
1183            Self::MARKER_SPACE_CREATE_INFO_VARJO => Some("MARKER_SPACE_CREATE_INFO_VARJO"),
1184            Self::FRAME_END_INFO_ML => Some("FRAME_END_INFO_ML"),
1185            Self::GLOBAL_DIMMER_FRAME_END_INFO_ML => Some("GLOBAL_DIMMER_FRAME_END_INFO_ML"),
1186            Self::COORDINATE_SPACE_CREATE_INFO_ML => Some("COORDINATE_SPACE_CREATE_INFO_ML"),
1187            Self::SYSTEM_MARKER_UNDERSTANDING_PROPERTIES_ML => {
1188                Some("SYSTEM_MARKER_UNDERSTANDING_PROPERTIES_ML")
1189            }
1190            Self::MARKER_DETECTOR_CREATE_INFO_ML => Some("MARKER_DETECTOR_CREATE_INFO_ML"),
1191            Self::MARKER_DETECTOR_ARUCO_INFO_ML => Some("MARKER_DETECTOR_ARUCO_INFO_ML"),
1192            Self::MARKER_DETECTOR_SIZE_INFO_ML => Some("MARKER_DETECTOR_SIZE_INFO_ML"),
1193            Self::MARKER_DETECTOR_APRIL_TAG_INFO_ML => Some("MARKER_DETECTOR_APRIL_TAG_INFO_ML"),
1194            Self::MARKER_DETECTOR_CUSTOM_PROFILE_INFO_ML => {
1195                Some("MARKER_DETECTOR_CUSTOM_PROFILE_INFO_ML")
1196            }
1197            Self::MARKER_DETECTOR_SNAPSHOT_INFO_ML => Some("MARKER_DETECTOR_SNAPSHOT_INFO_ML"),
1198            Self::MARKER_DETECTOR_STATE_ML => Some("MARKER_DETECTOR_STATE_ML"),
1199            Self::MARKER_SPACE_CREATE_INFO_ML => Some("MARKER_SPACE_CREATE_INFO_ML"),
1200            Self::LOCALIZATION_MAP_ML => Some("LOCALIZATION_MAP_ML"),
1201            Self::EVENT_DATA_LOCALIZATION_CHANGED_ML => Some("EVENT_DATA_LOCALIZATION_CHANGED_ML"),
1202            Self::MAP_LOCALIZATION_REQUEST_INFO_ML => Some("MAP_LOCALIZATION_REQUEST_INFO_ML"),
1203            Self::LOCALIZATION_MAP_IMPORT_INFO_ML => Some("LOCALIZATION_MAP_IMPORT_INFO_ML"),
1204            Self::LOCALIZATION_ENABLE_EVENTS_INFO_ML => Some("LOCALIZATION_ENABLE_EVENTS_INFO_ML"),
1205            Self::SPATIAL_ANCHORS_CREATE_INFO_FROM_POSE_ML => {
1206                Some("SPATIAL_ANCHORS_CREATE_INFO_FROM_POSE_ML")
1207            }
1208            Self::CREATE_SPATIAL_ANCHORS_COMPLETION_ML => {
1209                Some("CREATE_SPATIAL_ANCHORS_COMPLETION_ML")
1210            }
1211            Self::SPATIAL_ANCHOR_STATE_ML => Some("SPATIAL_ANCHOR_STATE_ML"),
1212            Self::SPATIAL_ANCHORS_CREATE_STORAGE_INFO_ML => {
1213                Some("SPATIAL_ANCHORS_CREATE_STORAGE_INFO_ML")
1214            }
1215            Self::SPATIAL_ANCHORS_QUERY_INFO_RADIUS_ML => {
1216                Some("SPATIAL_ANCHORS_QUERY_INFO_RADIUS_ML")
1217            }
1218            Self::SPATIAL_ANCHORS_QUERY_COMPLETION_ML => {
1219                Some("SPATIAL_ANCHORS_QUERY_COMPLETION_ML")
1220            }
1221            Self::SPATIAL_ANCHORS_CREATE_INFO_FROM_UUIDS_ML => {
1222                Some("SPATIAL_ANCHORS_CREATE_INFO_FROM_UUIDS_ML")
1223            }
1224            Self::SPATIAL_ANCHORS_PUBLISH_INFO_ML => Some("SPATIAL_ANCHORS_PUBLISH_INFO_ML"),
1225            Self::SPATIAL_ANCHORS_PUBLISH_COMPLETION_ML => {
1226                Some("SPATIAL_ANCHORS_PUBLISH_COMPLETION_ML")
1227            }
1228            Self::SPATIAL_ANCHORS_DELETE_INFO_ML => Some("SPATIAL_ANCHORS_DELETE_INFO_ML"),
1229            Self::SPATIAL_ANCHORS_DELETE_COMPLETION_ML => {
1230                Some("SPATIAL_ANCHORS_DELETE_COMPLETION_ML")
1231            }
1232            Self::SPATIAL_ANCHORS_UPDATE_EXPIRATION_INFO_ML => {
1233                Some("SPATIAL_ANCHORS_UPDATE_EXPIRATION_INFO_ML")
1234            }
1235            Self::SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_ML => {
1236                Some("SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_ML")
1237            }
1238            Self::SPATIAL_ANCHORS_PUBLISH_COMPLETION_DETAILS_ML => {
1239                Some("SPATIAL_ANCHORS_PUBLISH_COMPLETION_DETAILS_ML")
1240            }
1241            Self::SPATIAL_ANCHORS_DELETE_COMPLETION_DETAILS_ML => {
1242                Some("SPATIAL_ANCHORS_DELETE_COMPLETION_DETAILS_ML")
1243            }
1244            Self::SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_DETAILS_ML => {
1245                Some("SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_DETAILS_ML")
1246            }
1247            Self::EVENT_DATA_HEADSET_FIT_CHANGED_ML => Some("EVENT_DATA_HEADSET_FIT_CHANGED_ML"),
1248            Self::EVENT_DATA_EYE_CALIBRATION_CHANGED_ML => {
1249                Some("EVENT_DATA_EYE_CALIBRATION_CHANGED_ML")
1250            }
1251            Self::USER_CALIBRATION_ENABLE_EVENTS_INFO_ML => {
1252                Some("USER_CALIBRATION_ENABLE_EVENTS_INFO_ML")
1253            }
1254            Self::SPATIAL_ANCHOR_PERSISTENCE_INFO_MSFT => {
1255                Some("SPATIAL_ANCHOR_PERSISTENCE_INFO_MSFT")
1256            }
1257            Self::SPATIAL_ANCHOR_FROM_PERSISTED_ANCHOR_CREATE_INFO_MSFT => {
1258                Some("SPATIAL_ANCHOR_FROM_PERSISTED_ANCHOR_CREATE_INFO_MSFT")
1259            }
1260            Self::SCENE_MARKERS_MSFT => Some("SCENE_MARKERS_MSFT"),
1261            Self::SCENE_MARKER_TYPE_FILTER_MSFT => Some("SCENE_MARKER_TYPE_FILTER_MSFT"),
1262            Self::SCENE_MARKER_QR_CODES_MSFT => Some("SCENE_MARKER_QR_CODES_MSFT"),
1263            Self::SPACE_QUERY_INFO_FB => Some("SPACE_QUERY_INFO_FB"),
1264            Self::SPACE_QUERY_RESULTS_FB => Some("SPACE_QUERY_RESULTS_FB"),
1265            Self::SPACE_STORAGE_LOCATION_FILTER_INFO_FB => {
1266                Some("SPACE_STORAGE_LOCATION_FILTER_INFO_FB")
1267            }
1268            Self::SPACE_UUID_FILTER_INFO_FB => Some("SPACE_UUID_FILTER_INFO_FB"),
1269            Self::SPACE_COMPONENT_FILTER_INFO_FB => Some("SPACE_COMPONENT_FILTER_INFO_FB"),
1270            Self::EVENT_DATA_SPACE_QUERY_RESULTS_AVAILABLE_FB => {
1271                Some("EVENT_DATA_SPACE_QUERY_RESULTS_AVAILABLE_FB")
1272            }
1273            Self::EVENT_DATA_SPACE_QUERY_COMPLETE_FB => Some("EVENT_DATA_SPACE_QUERY_COMPLETE_FB"),
1274            Self::SPACE_SAVE_INFO_FB => Some("SPACE_SAVE_INFO_FB"),
1275            Self::SPACE_ERASE_INFO_FB => Some("SPACE_ERASE_INFO_FB"),
1276            Self::EVENT_DATA_SPACE_SAVE_COMPLETE_FB => Some("EVENT_DATA_SPACE_SAVE_COMPLETE_FB"),
1277            Self::EVENT_DATA_SPACE_ERASE_COMPLETE_FB => Some("EVENT_DATA_SPACE_ERASE_COMPLETE_FB"),
1278            Self::SWAPCHAIN_IMAGE_FOVEATION_VULKAN_FB => {
1279                Some("SWAPCHAIN_IMAGE_FOVEATION_VULKAN_FB")
1280            }
1281            Self::SWAPCHAIN_STATE_ANDROID_SURFACE_DIMENSIONS_FB => {
1282                Some("SWAPCHAIN_STATE_ANDROID_SURFACE_DIMENSIONS_FB")
1283            }
1284            Self::SWAPCHAIN_STATE_SAMPLER_OPENGL_ES_FB => {
1285                Some("SWAPCHAIN_STATE_SAMPLER_OPENGL_ES_FB")
1286            }
1287            Self::SWAPCHAIN_STATE_SAMPLER_VULKAN_FB => Some("SWAPCHAIN_STATE_SAMPLER_VULKAN_FB"),
1288            Self::SPACE_SHARE_INFO_FB => Some("SPACE_SHARE_INFO_FB"),
1289            Self::EVENT_DATA_SPACE_SHARE_COMPLETE_FB => Some("EVENT_DATA_SPACE_SHARE_COMPLETE_FB"),
1290            Self::COMPOSITION_LAYER_SPACE_WARP_INFO_FB => {
1291                Some("COMPOSITION_LAYER_SPACE_WARP_INFO_FB")
1292            }
1293            Self::SYSTEM_SPACE_WARP_PROPERTIES_FB => Some("SYSTEM_SPACE_WARP_PROPERTIES_FB"),
1294            Self::HAPTIC_AMPLITUDE_ENVELOPE_VIBRATION_FB => {
1295                Some("HAPTIC_AMPLITUDE_ENVELOPE_VIBRATION_FB")
1296            }
1297            Self::SEMANTIC_LABELS_FB => Some("SEMANTIC_LABELS_FB"),
1298            Self::ROOM_LAYOUT_FB => Some("ROOM_LAYOUT_FB"),
1299            Self::BOUNDARY_2D_FB => Some("BOUNDARY_2D_FB"),
1300            Self::SEMANTIC_LABELS_SUPPORT_INFO_FB => Some("SEMANTIC_LABELS_SUPPORT_INFO_FB"),
1301            Self::DIGITAL_LENS_CONTROL_ALMALENCE => Some("DIGITAL_LENS_CONTROL_ALMALENCE"),
1302            Self::EVENT_DATA_SCENE_CAPTURE_COMPLETE_FB => {
1303                Some("EVENT_DATA_SCENE_CAPTURE_COMPLETE_FB")
1304            }
1305            Self::SCENE_CAPTURE_REQUEST_INFO_FB => Some("SCENE_CAPTURE_REQUEST_INFO_FB"),
1306            Self::SPACE_CONTAINER_FB => Some("SPACE_CONTAINER_FB"),
1307            Self::FOVEATION_EYE_TRACKED_PROFILE_CREATE_INFO_META => {
1308                Some("FOVEATION_EYE_TRACKED_PROFILE_CREATE_INFO_META")
1309            }
1310            Self::FOVEATION_EYE_TRACKED_STATE_META => Some("FOVEATION_EYE_TRACKED_STATE_META"),
1311            Self::SYSTEM_FOVEATION_EYE_TRACKED_PROPERTIES_META => {
1312                Some("SYSTEM_FOVEATION_EYE_TRACKED_PROPERTIES_META")
1313            }
1314            Self::SYSTEM_FACE_TRACKING_PROPERTIES_FB => Some("SYSTEM_FACE_TRACKING_PROPERTIES_FB"),
1315            Self::FACE_TRACKER_CREATE_INFO_FB => Some("FACE_TRACKER_CREATE_INFO_FB"),
1316            Self::FACE_EXPRESSION_INFO_FB => Some("FACE_EXPRESSION_INFO_FB"),
1317            Self::FACE_EXPRESSION_WEIGHTS_FB => Some("FACE_EXPRESSION_WEIGHTS_FB"),
1318            Self::EYE_TRACKER_CREATE_INFO_FB => Some("EYE_TRACKER_CREATE_INFO_FB"),
1319            Self::EYE_GAZES_INFO_FB => Some("EYE_GAZES_INFO_FB"),
1320            Self::EYE_GAZES_FB => Some("EYE_GAZES_FB"),
1321            Self::SYSTEM_EYE_TRACKING_PROPERTIES_FB => Some("SYSTEM_EYE_TRACKING_PROPERTIES_FB"),
1322            Self::PASSTHROUGH_KEYBOARD_HANDS_INTENSITY_FB => {
1323                Some("PASSTHROUGH_KEYBOARD_HANDS_INTENSITY_FB")
1324            }
1325            Self::COMPOSITION_LAYER_SETTINGS_FB => Some("COMPOSITION_LAYER_SETTINGS_FB"),
1326            Self::HAPTIC_PCM_VIBRATION_FB => Some("HAPTIC_PCM_VIBRATION_FB"),
1327            Self::DEVICE_PCM_SAMPLE_RATE_STATE_FB => Some("DEVICE_PCM_SAMPLE_RATE_STATE_FB"),
1328            Self::FRAME_SYNTHESIS_INFO_EXT => Some("FRAME_SYNTHESIS_INFO_EXT"),
1329            Self::FRAME_SYNTHESIS_CONFIG_VIEW_EXT => Some("FRAME_SYNTHESIS_CONFIG_VIEW_EXT"),
1330            Self::COMPOSITION_LAYER_DEPTH_TEST_FB => Some("COMPOSITION_LAYER_DEPTH_TEST_FB"),
1331            Self::LOCAL_DIMMING_FRAME_END_INFO_META => Some("LOCAL_DIMMING_FRAME_END_INFO_META"),
1332            Self::PASSTHROUGH_PREFERENCES_META => Some("PASSTHROUGH_PREFERENCES_META"),
1333            Self::SYSTEM_VIRTUAL_KEYBOARD_PROPERTIES_META => {
1334                Some("SYSTEM_VIRTUAL_KEYBOARD_PROPERTIES_META")
1335            }
1336            Self::VIRTUAL_KEYBOARD_CREATE_INFO_META => Some("VIRTUAL_KEYBOARD_CREATE_INFO_META"),
1337            Self::VIRTUAL_KEYBOARD_SPACE_CREATE_INFO_META => {
1338                Some("VIRTUAL_KEYBOARD_SPACE_CREATE_INFO_META")
1339            }
1340            Self::VIRTUAL_KEYBOARD_LOCATION_INFO_META => {
1341                Some("VIRTUAL_KEYBOARD_LOCATION_INFO_META")
1342            }
1343            Self::VIRTUAL_KEYBOARD_MODEL_VISIBILITY_SET_INFO_META => {
1344                Some("VIRTUAL_KEYBOARD_MODEL_VISIBILITY_SET_INFO_META")
1345            }
1346            Self::VIRTUAL_KEYBOARD_ANIMATION_STATE_META => {
1347                Some("VIRTUAL_KEYBOARD_ANIMATION_STATE_META")
1348            }
1349            Self::VIRTUAL_KEYBOARD_MODEL_ANIMATION_STATES_META => {
1350                Some("VIRTUAL_KEYBOARD_MODEL_ANIMATION_STATES_META")
1351            }
1352            Self::VIRTUAL_KEYBOARD_TEXTURE_DATA_META => Some("VIRTUAL_KEYBOARD_TEXTURE_DATA_META"),
1353            Self::VIRTUAL_KEYBOARD_INPUT_INFO_META => Some("VIRTUAL_KEYBOARD_INPUT_INFO_META"),
1354            Self::VIRTUAL_KEYBOARD_TEXT_CONTEXT_CHANGE_INFO_META => {
1355                Some("VIRTUAL_KEYBOARD_TEXT_CONTEXT_CHANGE_INFO_META")
1356            }
1357            Self::EVENT_DATA_VIRTUAL_KEYBOARD_COMMIT_TEXT_META => {
1358                Some("EVENT_DATA_VIRTUAL_KEYBOARD_COMMIT_TEXT_META")
1359            }
1360            Self::EVENT_DATA_VIRTUAL_KEYBOARD_BACKSPACE_META => {
1361                Some("EVENT_DATA_VIRTUAL_KEYBOARD_BACKSPACE_META")
1362            }
1363            Self::EVENT_DATA_VIRTUAL_KEYBOARD_ENTER_META => {
1364                Some("EVENT_DATA_VIRTUAL_KEYBOARD_ENTER_META")
1365            }
1366            Self::EVENT_DATA_VIRTUAL_KEYBOARD_SHOWN_META => {
1367                Some("EVENT_DATA_VIRTUAL_KEYBOARD_SHOWN_META")
1368            }
1369            Self::EVENT_DATA_VIRTUAL_KEYBOARD_HIDDEN_META => {
1370                Some("EVENT_DATA_VIRTUAL_KEYBOARD_HIDDEN_META")
1371            }
1372            Self::EXTERNAL_CAMERA_OCULUS => Some("EXTERNAL_CAMERA_OCULUS"),
1373            Self::VULKAN_SWAPCHAIN_CREATE_INFO_META => Some("VULKAN_SWAPCHAIN_CREATE_INFO_META"),
1374            Self::PERFORMANCE_METRICS_STATE_META => Some("PERFORMANCE_METRICS_STATE_META"),
1375            Self::PERFORMANCE_METRICS_COUNTER_META => Some("PERFORMANCE_METRICS_COUNTER_META"),
1376            Self::SPACE_LIST_SAVE_INFO_FB => Some("SPACE_LIST_SAVE_INFO_FB"),
1377            Self::EVENT_DATA_SPACE_LIST_SAVE_COMPLETE_FB => {
1378                Some("EVENT_DATA_SPACE_LIST_SAVE_COMPLETE_FB")
1379            }
1380            Self::SPACE_USER_CREATE_INFO_FB => Some("SPACE_USER_CREATE_INFO_FB"),
1381            Self::SYSTEM_HEADSET_ID_PROPERTIES_META => Some("SYSTEM_HEADSET_ID_PROPERTIES_META"),
1382            Self::SYSTEM_SPACE_DISCOVERY_PROPERTIES_META => {
1383                Some("SYSTEM_SPACE_DISCOVERY_PROPERTIES_META")
1384            }
1385            Self::SPACE_DISCOVERY_INFO_META => Some("SPACE_DISCOVERY_INFO_META"),
1386            Self::SPACE_FILTER_UUID_META => Some("SPACE_FILTER_UUID_META"),
1387            Self::SPACE_FILTER_COMPONENT_META => Some("SPACE_FILTER_COMPONENT_META"),
1388            Self::SPACE_DISCOVERY_RESULT_META => Some("SPACE_DISCOVERY_RESULT_META"),
1389            Self::SPACE_DISCOVERY_RESULTS_META => Some("SPACE_DISCOVERY_RESULTS_META"),
1390            Self::EVENT_DATA_SPACE_DISCOVERY_RESULTS_AVAILABLE_META => {
1391                Some("EVENT_DATA_SPACE_DISCOVERY_RESULTS_AVAILABLE_META")
1392            }
1393            Self::EVENT_DATA_SPACE_DISCOVERY_COMPLETE_META => {
1394                Some("EVENT_DATA_SPACE_DISCOVERY_COMPLETE_META")
1395            }
1396            Self::RECOMMENDED_LAYER_RESOLUTION_META => Some("RECOMMENDED_LAYER_RESOLUTION_META"),
1397            Self::RECOMMENDED_LAYER_RESOLUTION_GET_INFO_META => {
1398                Some("RECOMMENDED_LAYER_RESOLUTION_GET_INFO_META")
1399            }
1400            Self::SYSTEM_SPACE_PERSISTENCE_PROPERTIES_META => {
1401                Some("SYSTEM_SPACE_PERSISTENCE_PROPERTIES_META")
1402            }
1403            Self::SPACES_SAVE_INFO_META => Some("SPACES_SAVE_INFO_META"),
1404            Self::EVENT_DATA_SPACES_SAVE_RESULT_META => Some("EVENT_DATA_SPACES_SAVE_RESULT_META"),
1405            Self::SPACES_ERASE_INFO_META => Some("SPACES_ERASE_INFO_META"),
1406            Self::EVENT_DATA_SPACES_ERASE_RESULT_META => {
1407                Some("EVENT_DATA_SPACES_ERASE_RESULT_META")
1408            }
1409            Self::SYSTEM_PASSTHROUGH_COLOR_LUT_PROPERTIES_META => {
1410                Some("SYSTEM_PASSTHROUGH_COLOR_LUT_PROPERTIES_META")
1411            }
1412            Self::PASSTHROUGH_COLOR_LUT_CREATE_INFO_META => {
1413                Some("PASSTHROUGH_COLOR_LUT_CREATE_INFO_META")
1414            }
1415            Self::PASSTHROUGH_COLOR_LUT_UPDATE_INFO_META => {
1416                Some("PASSTHROUGH_COLOR_LUT_UPDATE_INFO_META")
1417            }
1418            Self::PASSTHROUGH_COLOR_MAP_LUT_META => Some("PASSTHROUGH_COLOR_MAP_LUT_META"),
1419            Self::PASSTHROUGH_COLOR_MAP_INTERPOLATED_LUT_META => {
1420                Some("PASSTHROUGH_COLOR_MAP_INTERPOLATED_LUT_META")
1421            }
1422            Self::SPACE_TRIANGLE_MESH_GET_INFO_META => Some("SPACE_TRIANGLE_MESH_GET_INFO_META"),
1423            Self::SPACE_TRIANGLE_MESH_META => Some("SPACE_TRIANGLE_MESH_META"),
1424            Self::SYSTEM_PROPERTIES_BODY_TRACKING_FULL_BODY_META => {
1425                Some("SYSTEM_PROPERTIES_BODY_TRACKING_FULL_BODY_META")
1426            }
1427            Self::EVENT_DATA_PASSTHROUGH_LAYER_RESUMED_META => {
1428                Some("EVENT_DATA_PASSTHROUGH_LAYER_RESUMED_META")
1429            }
1430            Self::BODY_TRACKING_CALIBRATION_INFO_META => {
1431                Some("BODY_TRACKING_CALIBRATION_INFO_META")
1432            }
1433            Self::BODY_TRACKING_CALIBRATION_STATUS_META => {
1434                Some("BODY_TRACKING_CALIBRATION_STATUS_META")
1435            }
1436            Self::SYSTEM_PROPERTIES_BODY_TRACKING_CALIBRATION_META => {
1437                Some("SYSTEM_PROPERTIES_BODY_TRACKING_CALIBRATION_META")
1438            }
1439            Self::SYSTEM_FACE_TRACKING_PROPERTIES2_FB => {
1440                Some("SYSTEM_FACE_TRACKING_PROPERTIES2_FB")
1441            }
1442            Self::FACE_TRACKER_CREATE_INFO2_FB => Some("FACE_TRACKER_CREATE_INFO2_FB"),
1443            Self::FACE_EXPRESSION_INFO2_FB => Some("FACE_EXPRESSION_INFO2_FB"),
1444            Self::FACE_EXPRESSION_WEIGHTS2_FB => Some("FACE_EXPRESSION_WEIGHTS2_FB"),
1445            Self::SYSTEM_SPATIAL_ENTITY_SHARING_PROPERTIES_META => {
1446                Some("SYSTEM_SPATIAL_ENTITY_SHARING_PROPERTIES_META")
1447            }
1448            Self::SHARE_SPACES_INFO_META => Some("SHARE_SPACES_INFO_META"),
1449            Self::EVENT_DATA_SHARE_SPACES_COMPLETE_META => {
1450                Some("EVENT_DATA_SHARE_SPACES_COMPLETE_META")
1451            }
1452            Self::ENVIRONMENT_DEPTH_PROVIDER_CREATE_INFO_META => {
1453                Some("ENVIRONMENT_DEPTH_PROVIDER_CREATE_INFO_META")
1454            }
1455            Self::ENVIRONMENT_DEPTH_SWAPCHAIN_CREATE_INFO_META => {
1456                Some("ENVIRONMENT_DEPTH_SWAPCHAIN_CREATE_INFO_META")
1457            }
1458            Self::ENVIRONMENT_DEPTH_SWAPCHAIN_STATE_META => {
1459                Some("ENVIRONMENT_DEPTH_SWAPCHAIN_STATE_META")
1460            }
1461            Self::ENVIRONMENT_DEPTH_IMAGE_ACQUIRE_INFO_META => {
1462                Some("ENVIRONMENT_DEPTH_IMAGE_ACQUIRE_INFO_META")
1463            }
1464            Self::ENVIRONMENT_DEPTH_IMAGE_VIEW_META => Some("ENVIRONMENT_DEPTH_IMAGE_VIEW_META"),
1465            Self::ENVIRONMENT_DEPTH_IMAGE_META => Some("ENVIRONMENT_DEPTH_IMAGE_META"),
1466            Self::ENVIRONMENT_DEPTH_HAND_REMOVAL_SET_INFO_META => {
1467                Some("ENVIRONMENT_DEPTH_HAND_REMOVAL_SET_INFO_META")
1468            }
1469            Self::SYSTEM_ENVIRONMENT_DEPTH_PROPERTIES_META => {
1470                Some("SYSTEM_ENVIRONMENT_DEPTH_PROPERTIES_META")
1471            }
1472            Self::ENVIRONMENT_DEPTH_IMAGE_TIMESTAMP_META => {
1473                Some("ENVIRONMENT_DEPTH_IMAGE_TIMESTAMP_META")
1474            }
1475            Self::RENDER_MODEL_CREATE_INFO_EXT => Some("RENDER_MODEL_CREATE_INFO_EXT"),
1476            Self::RENDER_MODEL_PROPERTIES_GET_INFO_EXT => {
1477                Some("RENDER_MODEL_PROPERTIES_GET_INFO_EXT")
1478            }
1479            Self::RENDER_MODEL_PROPERTIES_EXT => Some("RENDER_MODEL_PROPERTIES_EXT"),
1480            Self::RENDER_MODEL_SPACE_CREATE_INFO_EXT => Some("RENDER_MODEL_SPACE_CREATE_INFO_EXT"),
1481            Self::RENDER_MODEL_STATE_GET_INFO_EXT => Some("RENDER_MODEL_STATE_GET_INFO_EXT"),
1482            Self::RENDER_MODEL_STATE_EXT => Some("RENDER_MODEL_STATE_EXT"),
1483            Self::RENDER_MODEL_ASSET_CREATE_INFO_EXT => Some("RENDER_MODEL_ASSET_CREATE_INFO_EXT"),
1484            Self::RENDER_MODEL_ASSET_DATA_GET_INFO_EXT => {
1485                Some("RENDER_MODEL_ASSET_DATA_GET_INFO_EXT")
1486            }
1487            Self::RENDER_MODEL_ASSET_DATA_EXT => Some("RENDER_MODEL_ASSET_DATA_EXT"),
1488            Self::RENDER_MODEL_ASSET_PROPERTIES_GET_INFO_EXT => {
1489                Some("RENDER_MODEL_ASSET_PROPERTIES_GET_INFO_EXT")
1490            }
1491            Self::RENDER_MODEL_ASSET_PROPERTIES_EXT => Some("RENDER_MODEL_ASSET_PROPERTIES_EXT"),
1492            Self::INTERACTION_RENDER_MODEL_IDS_ENUMERATE_INFO_EXT => {
1493                Some("INTERACTION_RENDER_MODEL_IDS_ENUMERATE_INFO_EXT")
1494            }
1495            Self::INTERACTION_RENDER_MODEL_SUBACTION_PATH_INFO_EXT => {
1496                Some("INTERACTION_RENDER_MODEL_SUBACTION_PATH_INFO_EXT")
1497            }
1498            Self::EVENT_DATA_INTERACTION_RENDER_MODELS_CHANGED_EXT => {
1499                Some("EVENT_DATA_INTERACTION_RENDER_MODELS_CHANGED_EXT")
1500            }
1501            Self::INTERACTION_RENDER_MODEL_TOP_LEVEL_USER_PATH_GET_INFO_EXT => {
1502                Some("INTERACTION_RENDER_MODEL_TOP_LEVEL_USER_PATH_GET_INFO_EXT")
1503            }
1504            Self::PASSTHROUGH_CREATE_INFO_HTC => Some("PASSTHROUGH_CREATE_INFO_HTC"),
1505            Self::PASSTHROUGH_COLOR_HTC => Some("PASSTHROUGH_COLOR_HTC"),
1506            Self::PASSTHROUGH_MESH_TRANSFORM_INFO_HTC => {
1507                Some("PASSTHROUGH_MESH_TRANSFORM_INFO_HTC")
1508            }
1509            Self::COMPOSITION_LAYER_PASSTHROUGH_HTC => Some("COMPOSITION_LAYER_PASSTHROUGH_HTC"),
1510            Self::FOVEATION_APPLY_INFO_HTC => Some("FOVEATION_APPLY_INFO_HTC"),
1511            Self::FOVEATION_DYNAMIC_MODE_INFO_HTC => Some("FOVEATION_DYNAMIC_MODE_INFO_HTC"),
1512            Self::FOVEATION_CUSTOM_MODE_INFO_HTC => Some("FOVEATION_CUSTOM_MODE_INFO_HTC"),
1513            Self::SYSTEM_ANCHOR_PROPERTIES_HTC => Some("SYSTEM_ANCHOR_PROPERTIES_HTC"),
1514            Self::SPATIAL_ANCHOR_CREATE_INFO_HTC => Some("SPATIAL_ANCHOR_CREATE_INFO_HTC"),
1515            Self::SYSTEM_BODY_TRACKING_PROPERTIES_HTC => {
1516                Some("SYSTEM_BODY_TRACKING_PROPERTIES_HTC")
1517            }
1518            Self::BODY_TRACKER_CREATE_INFO_HTC => Some("BODY_TRACKER_CREATE_INFO_HTC"),
1519            Self::BODY_JOINTS_LOCATE_INFO_HTC => Some("BODY_JOINTS_LOCATE_INFO_HTC"),
1520            Self::BODY_JOINT_LOCATIONS_HTC => Some("BODY_JOINT_LOCATIONS_HTC"),
1521            Self::BODY_SKELETON_HTC => Some("BODY_SKELETON_HTC"),
1522            Self::ACTIVE_ACTION_SET_PRIORITIES_EXT => Some("ACTIVE_ACTION_SET_PRIORITIES_EXT"),
1523            Self::SYSTEM_FORCE_FEEDBACK_CURL_PROPERTIES_MNDX => {
1524                Some("SYSTEM_FORCE_FEEDBACK_CURL_PROPERTIES_MNDX")
1525            }
1526            Self::FORCE_FEEDBACK_CURL_APPLY_LOCATIONS_MNDX => {
1527                Some("FORCE_FEEDBACK_CURL_APPLY_LOCATIONS_MNDX")
1528            }
1529            Self::BODY_TRACKER_CREATE_INFO_BD => Some("BODY_TRACKER_CREATE_INFO_BD"),
1530            Self::BODY_JOINTS_LOCATE_INFO_BD => Some("BODY_JOINTS_LOCATE_INFO_BD"),
1531            Self::BODY_JOINT_LOCATIONS_BD => Some("BODY_JOINT_LOCATIONS_BD"),
1532            Self::SYSTEM_BODY_TRACKING_PROPERTIES_BD => Some("SYSTEM_BODY_TRACKING_PROPERTIES_BD"),
1533            Self::SYSTEM_FACIAL_SIMULATION_PROPERTIES_BD => {
1534                Some("SYSTEM_FACIAL_SIMULATION_PROPERTIES_BD")
1535            }
1536            Self::FACE_TRACKER_CREATE_INFO_BD => Some("FACE_TRACKER_CREATE_INFO_BD"),
1537            Self::FACIAL_SIMULATION_DATA_GET_INFO_BD => Some("FACIAL_SIMULATION_DATA_GET_INFO_BD"),
1538            Self::FACIAL_SIMULATION_DATA_BD => Some("FACIAL_SIMULATION_DATA_BD"),
1539            Self::LIP_EXPRESSION_DATA_BD => Some("LIP_EXPRESSION_DATA_BD"),
1540            Self::SYSTEM_SPATIAL_SENSING_PROPERTIES_BD => {
1541                Some("SYSTEM_SPATIAL_SENSING_PROPERTIES_BD")
1542            }
1543            Self::SPATIAL_ENTITY_COMPONENT_GET_INFO_BD => {
1544                Some("SPATIAL_ENTITY_COMPONENT_GET_INFO_BD")
1545            }
1546            Self::SPATIAL_ENTITY_LOCATION_GET_INFO_BD => {
1547                Some("SPATIAL_ENTITY_LOCATION_GET_INFO_BD")
1548            }
1549            Self::SPATIAL_ENTITY_COMPONENT_DATA_LOCATION_BD => {
1550                Some("SPATIAL_ENTITY_COMPONENT_DATA_LOCATION_BD")
1551            }
1552            Self::SPATIAL_ENTITY_COMPONENT_DATA_SEMANTIC_BD => {
1553                Some("SPATIAL_ENTITY_COMPONENT_DATA_SEMANTIC_BD")
1554            }
1555            Self::SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_2D_BD => {
1556                Some("SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_2D_BD")
1557            }
1558            Self::SPATIAL_ENTITY_COMPONENT_DATA_POLYGON_BD => {
1559                Some("SPATIAL_ENTITY_COMPONENT_DATA_POLYGON_BD")
1560            }
1561            Self::SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_3D_BD => {
1562                Some("SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_3D_BD")
1563            }
1564            Self::SPATIAL_ENTITY_COMPONENT_DATA_TRIANGLE_MESH_BD => {
1565                Some("SPATIAL_ENTITY_COMPONENT_DATA_TRIANGLE_MESH_BD")
1566            }
1567            Self::SENSE_DATA_PROVIDER_CREATE_INFO_BD => Some("SENSE_DATA_PROVIDER_CREATE_INFO_BD"),
1568            Self::SENSE_DATA_PROVIDER_START_INFO_BD => Some("SENSE_DATA_PROVIDER_START_INFO_BD"),
1569            Self::EVENT_DATA_SENSE_DATA_PROVIDER_STATE_CHANGED_BD => {
1570                Some("EVENT_DATA_SENSE_DATA_PROVIDER_STATE_CHANGED_BD")
1571            }
1572            Self::EVENT_DATA_SENSE_DATA_UPDATED_BD => Some("EVENT_DATA_SENSE_DATA_UPDATED_BD"),
1573            Self::SENSE_DATA_QUERY_INFO_BD => Some("SENSE_DATA_QUERY_INFO_BD"),
1574            Self::SENSE_DATA_QUERY_COMPLETION_BD => Some("SENSE_DATA_QUERY_COMPLETION_BD"),
1575            Self::SENSE_DATA_FILTER_UUID_BD => Some("SENSE_DATA_FILTER_UUID_BD"),
1576            Self::SENSE_DATA_FILTER_SEMANTIC_BD => Some("SENSE_DATA_FILTER_SEMANTIC_BD"),
1577            Self::QUERIED_SENSE_DATA_GET_INFO_BD => Some("QUERIED_SENSE_DATA_GET_INFO_BD"),
1578            Self::QUERIED_SENSE_DATA_BD => Some("QUERIED_SENSE_DATA_BD"),
1579            Self::SPATIAL_ENTITY_STATE_BD => Some("SPATIAL_ENTITY_STATE_BD"),
1580            Self::SPATIAL_ENTITY_ANCHOR_CREATE_INFO_BD => {
1581                Some("SPATIAL_ENTITY_ANCHOR_CREATE_INFO_BD")
1582            }
1583            Self::ANCHOR_SPACE_CREATE_INFO_BD => Some("ANCHOR_SPACE_CREATE_INFO_BD"),
1584            Self::SYSTEM_SPATIAL_ANCHOR_PROPERTIES_BD => {
1585                Some("SYSTEM_SPATIAL_ANCHOR_PROPERTIES_BD")
1586            }
1587            Self::SPATIAL_ANCHOR_CREATE_INFO_BD => Some("SPATIAL_ANCHOR_CREATE_INFO_BD"),
1588            Self::SPATIAL_ANCHOR_CREATE_COMPLETION_BD => {
1589                Some("SPATIAL_ANCHOR_CREATE_COMPLETION_BD")
1590            }
1591            Self::SPATIAL_ANCHOR_PERSIST_INFO_BD => Some("SPATIAL_ANCHOR_PERSIST_INFO_BD"),
1592            Self::SPATIAL_ANCHOR_UNPERSIST_INFO_BD => Some("SPATIAL_ANCHOR_UNPERSIST_INFO_BD"),
1593            Self::SYSTEM_SPATIAL_ANCHOR_SHARING_PROPERTIES_BD => {
1594                Some("SYSTEM_SPATIAL_ANCHOR_SHARING_PROPERTIES_BD")
1595            }
1596            Self::SPATIAL_ANCHOR_SHARE_INFO_BD => Some("SPATIAL_ANCHOR_SHARE_INFO_BD"),
1597            Self::SHARED_SPATIAL_ANCHOR_DOWNLOAD_INFO_BD => {
1598                Some("SHARED_SPATIAL_ANCHOR_DOWNLOAD_INFO_BD")
1599            }
1600            Self::SYSTEM_SPATIAL_SCENE_PROPERTIES_BD => Some("SYSTEM_SPATIAL_SCENE_PROPERTIES_BD"),
1601            Self::SCENE_CAPTURE_INFO_BD => Some("SCENE_CAPTURE_INFO_BD"),
1602            Self::SYSTEM_SPATIAL_MESH_PROPERTIES_BD => Some("SYSTEM_SPATIAL_MESH_PROPERTIES_BD"),
1603            Self::SENSE_DATA_PROVIDER_CREATE_INFO_SPATIAL_MESH_BD => {
1604                Some("SENSE_DATA_PROVIDER_CREATE_INFO_SPATIAL_MESH_BD")
1605            }
1606            Self::FUTURE_POLL_RESULT_PROGRESS_BD => Some("FUTURE_POLL_RESULT_PROGRESS_BD"),
1607            Self::SYSTEM_SPATIAL_PLANE_PROPERTIES_BD => Some("SYSTEM_SPATIAL_PLANE_PROPERTIES_BD"),
1608            Self::SPATIAL_ENTITY_COMPONENT_DATA_PLANE_ORIENTATION_BD => {
1609                Some("SPATIAL_ENTITY_COMPONENT_DATA_PLANE_ORIENTATION_BD")
1610            }
1611            Self::SENSE_DATA_FILTER_PLANE_ORIENTATION_BD => {
1612                Some("SENSE_DATA_FILTER_PLANE_ORIENTATION_BD")
1613            }
1614            Self::HAND_TRACKING_DATA_SOURCE_INFO_EXT => Some("HAND_TRACKING_DATA_SOURCE_INFO_EXT"),
1615            Self::HAND_TRACKING_DATA_SOURCE_STATE_EXT => {
1616                Some("HAND_TRACKING_DATA_SOURCE_STATE_EXT")
1617            }
1618            Self::PLANE_DETECTOR_CREATE_INFO_EXT => Some("PLANE_DETECTOR_CREATE_INFO_EXT"),
1619            Self::PLANE_DETECTOR_BEGIN_INFO_EXT => Some("PLANE_DETECTOR_BEGIN_INFO_EXT"),
1620            Self::PLANE_DETECTOR_GET_INFO_EXT => Some("PLANE_DETECTOR_GET_INFO_EXT"),
1621            Self::PLANE_DETECTOR_LOCATIONS_EXT => Some("PLANE_DETECTOR_LOCATIONS_EXT"),
1622            Self::PLANE_DETECTOR_LOCATION_EXT => Some("PLANE_DETECTOR_LOCATION_EXT"),
1623            Self::PLANE_DETECTOR_POLYGON_BUFFER_EXT => Some("PLANE_DETECTOR_POLYGON_BUFFER_EXT"),
1624            Self::SYSTEM_PLANE_DETECTION_PROPERTIES_EXT => {
1625                Some("SYSTEM_PLANE_DETECTION_PROPERTIES_EXT")
1626            }
1627            Self::TRACKABLE_GET_INFO_ANDROID => Some("TRACKABLE_GET_INFO_ANDROID"),
1628            Self::ANCHOR_SPACE_CREATE_INFO_ANDROID => Some("ANCHOR_SPACE_CREATE_INFO_ANDROID"),
1629            Self::TRACKABLE_PLANE_ANDROID => Some("TRACKABLE_PLANE_ANDROID"),
1630            Self::TRACKABLE_TRACKER_CREATE_INFO_ANDROID => {
1631                Some("TRACKABLE_TRACKER_CREATE_INFO_ANDROID")
1632            }
1633            Self::SYSTEM_TRACKABLES_PROPERTIES_ANDROID => {
1634                Some("SYSTEM_TRACKABLES_PROPERTIES_ANDROID")
1635            }
1636            Self::PERSISTED_ANCHOR_SPACE_CREATE_INFO_ANDROID => {
1637                Some("PERSISTED_ANCHOR_SPACE_CREATE_INFO_ANDROID")
1638            }
1639            Self::PERSISTED_ANCHOR_SPACE_INFO_ANDROID => {
1640                Some("PERSISTED_ANCHOR_SPACE_INFO_ANDROID")
1641            }
1642            Self::DEVICE_ANCHOR_PERSISTENCE_CREATE_INFO_ANDROID => {
1643                Some("DEVICE_ANCHOR_PERSISTENCE_CREATE_INFO_ANDROID")
1644            }
1645            Self::SYSTEM_DEVICE_ANCHOR_PERSISTENCE_PROPERTIES_ANDROID => {
1646                Some("SYSTEM_DEVICE_ANCHOR_PERSISTENCE_PROPERTIES_ANDROID")
1647            }
1648            Self::FACE_TRACKER_CREATE_INFO_ANDROID => Some("FACE_TRACKER_CREATE_INFO_ANDROID"),
1649            Self::FACE_STATE_GET_INFO_ANDROID => Some("FACE_STATE_GET_INFO_ANDROID"),
1650            Self::FACE_STATE_ANDROID => Some("FACE_STATE_ANDROID"),
1651            Self::SYSTEM_FACE_TRACKING_PROPERTIES_ANDROID => {
1652                Some("SYSTEM_FACE_TRACKING_PROPERTIES_ANDROID")
1653            }
1654            Self::PASSTHROUGH_CAMERA_STATE_GET_INFO_ANDROID => {
1655                Some("PASSTHROUGH_CAMERA_STATE_GET_INFO_ANDROID")
1656            }
1657            Self::SYSTEM_PASSTHROUGH_CAMERA_STATE_PROPERTIES_ANDROID => {
1658                Some("SYSTEM_PASSTHROUGH_CAMERA_STATE_PROPERTIES_ANDROID")
1659            }
1660            Self::RAYCAST_INFO_ANDROID => Some("RAYCAST_INFO_ANDROID"),
1661            Self::RAYCAST_HIT_RESULTS_ANDROID => Some("RAYCAST_HIT_RESULTS_ANDROID"),
1662            Self::TRACKABLE_OBJECT_ANDROID => Some("TRACKABLE_OBJECT_ANDROID"),
1663            Self::TRACKABLE_OBJECT_CONFIGURATION_ANDROID => {
1664                Some("TRACKABLE_OBJECT_CONFIGURATION_ANDROID")
1665            }
1666            Self::FUTURE_CANCEL_INFO_EXT => Some("FUTURE_CANCEL_INFO_EXT"),
1667            Self::FUTURE_POLL_INFO_EXT => Some("FUTURE_POLL_INFO_EXT"),
1668            Self::FUTURE_COMPLETION_EXT => Some("FUTURE_COMPLETION_EXT"),
1669            Self::FUTURE_POLL_RESULT_EXT => Some("FUTURE_POLL_RESULT_EXT"),
1670            Self::EVENT_DATA_USER_PRESENCE_CHANGED_EXT => {
1671                Some("EVENT_DATA_USER_PRESENCE_CHANGED_EXT")
1672            }
1673            Self::SYSTEM_USER_PRESENCE_PROPERTIES_EXT => {
1674                Some("SYSTEM_USER_PRESENCE_PROPERTIES_EXT")
1675            }
1676            Self::SYSTEM_NOTIFICATIONS_SET_INFO_ML => Some("SYSTEM_NOTIFICATIONS_SET_INFO_ML"),
1677            Self::WORLD_MESH_DETECTOR_CREATE_INFO_ML => Some("WORLD_MESH_DETECTOR_CREATE_INFO_ML"),
1678            Self::WORLD_MESH_STATE_REQUEST_INFO_ML => Some("WORLD_MESH_STATE_REQUEST_INFO_ML"),
1679            Self::WORLD_MESH_BLOCK_STATE_ML => Some("WORLD_MESH_BLOCK_STATE_ML"),
1680            Self::WORLD_MESH_STATE_REQUEST_COMPLETION_ML => {
1681                Some("WORLD_MESH_STATE_REQUEST_COMPLETION_ML")
1682            }
1683            Self::WORLD_MESH_BUFFER_RECOMMENDED_SIZE_INFO_ML => {
1684                Some("WORLD_MESH_BUFFER_RECOMMENDED_SIZE_INFO_ML")
1685            }
1686            Self::WORLD_MESH_BUFFER_SIZE_ML => Some("WORLD_MESH_BUFFER_SIZE_ML"),
1687            Self::WORLD_MESH_BUFFER_ML => Some("WORLD_MESH_BUFFER_ML"),
1688            Self::WORLD_MESH_BLOCK_REQUEST_ML => Some("WORLD_MESH_BLOCK_REQUEST_ML"),
1689            Self::WORLD_MESH_GET_INFO_ML => Some("WORLD_MESH_GET_INFO_ML"),
1690            Self::WORLD_MESH_BLOCK_ML => Some("WORLD_MESH_BLOCK_ML"),
1691            Self::WORLD_MESH_REQUEST_COMPLETION_ML => Some("WORLD_MESH_REQUEST_COMPLETION_ML"),
1692            Self::WORLD_MESH_REQUEST_COMPLETION_INFO_ML => {
1693                Some("WORLD_MESH_REQUEST_COMPLETION_INFO_ML")
1694            }
1695            Self::SYSTEM_FACIAL_EXPRESSION_PROPERTIES_ML => {
1696                Some("SYSTEM_FACIAL_EXPRESSION_PROPERTIES_ML")
1697            }
1698            Self::FACIAL_EXPRESSION_CLIENT_CREATE_INFO_ML => {
1699                Some("FACIAL_EXPRESSION_CLIENT_CREATE_INFO_ML")
1700            }
1701            Self::FACIAL_EXPRESSION_BLEND_SHAPE_GET_INFO_ML => {
1702                Some("FACIAL_EXPRESSION_BLEND_SHAPE_GET_INFO_ML")
1703            }
1704            Self::FACIAL_EXPRESSION_BLEND_SHAPE_PROPERTIES_ML => {
1705                Some("FACIAL_EXPRESSION_BLEND_SHAPE_PROPERTIES_ML")
1706            }
1707            Self::SYSTEM_SIMULTANEOUS_HANDS_AND_CONTROLLERS_PROPERTIES_META => {
1708                Some("SYSTEM_SIMULTANEOUS_HANDS_AND_CONTROLLERS_PROPERTIES_META")
1709            }
1710            Self::SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_RESUME_INFO_META => {
1711                Some("SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_RESUME_INFO_META")
1712            }
1713            Self::SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_PAUSE_INFO_META => {
1714                Some("SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_PAUSE_INFO_META")
1715            }
1716            Self::COLOCATION_DISCOVERY_START_INFO_META => {
1717                Some("COLOCATION_DISCOVERY_START_INFO_META")
1718            }
1719            Self::COLOCATION_DISCOVERY_STOP_INFO_META => {
1720                Some("COLOCATION_DISCOVERY_STOP_INFO_META")
1721            }
1722            Self::COLOCATION_ADVERTISEMENT_START_INFO_META => {
1723                Some("COLOCATION_ADVERTISEMENT_START_INFO_META")
1724            }
1725            Self::COLOCATION_ADVERTISEMENT_STOP_INFO_META => {
1726                Some("COLOCATION_ADVERTISEMENT_STOP_INFO_META")
1727            }
1728            Self::EVENT_DATA_START_COLOCATION_ADVERTISEMENT_COMPLETE_META => {
1729                Some("EVENT_DATA_START_COLOCATION_ADVERTISEMENT_COMPLETE_META")
1730            }
1731            Self::EVENT_DATA_STOP_COLOCATION_ADVERTISEMENT_COMPLETE_META => {
1732                Some("EVENT_DATA_STOP_COLOCATION_ADVERTISEMENT_COMPLETE_META")
1733            }
1734            Self::EVENT_DATA_COLOCATION_ADVERTISEMENT_COMPLETE_META => {
1735                Some("EVENT_DATA_COLOCATION_ADVERTISEMENT_COMPLETE_META")
1736            }
1737            Self::EVENT_DATA_START_COLOCATION_DISCOVERY_COMPLETE_META => {
1738                Some("EVENT_DATA_START_COLOCATION_DISCOVERY_COMPLETE_META")
1739            }
1740            Self::EVENT_DATA_COLOCATION_DISCOVERY_RESULT_META => {
1741                Some("EVENT_DATA_COLOCATION_DISCOVERY_RESULT_META")
1742            }
1743            Self::EVENT_DATA_COLOCATION_DISCOVERY_COMPLETE_META => {
1744                Some("EVENT_DATA_COLOCATION_DISCOVERY_COMPLETE_META")
1745            }
1746            Self::EVENT_DATA_STOP_COLOCATION_DISCOVERY_COMPLETE_META => {
1747                Some("EVENT_DATA_STOP_COLOCATION_DISCOVERY_COMPLETE_META")
1748            }
1749            Self::SYSTEM_COLOCATION_DISCOVERY_PROPERTIES_META => {
1750                Some("SYSTEM_COLOCATION_DISCOVERY_PROPERTIES_META")
1751            }
1752            Self::SHARE_SPACES_RECIPIENT_GROUPS_META => Some("SHARE_SPACES_RECIPIENT_GROUPS_META"),
1753            Self::SPACE_GROUP_UUID_FILTER_INFO_META => Some("SPACE_GROUP_UUID_FILTER_INFO_META"),
1754            Self::SYSTEM_SPATIAL_ENTITY_GROUP_SHARING_PROPERTIES_META => {
1755                Some("SYSTEM_SPATIAL_ENTITY_GROUP_SHARING_PROPERTIES_META")
1756            }
1757            Self::ANCHOR_SHARING_INFO_ANDROID => Some("ANCHOR_SHARING_INFO_ANDROID"),
1758            Self::ANCHOR_SHARING_TOKEN_ANDROID => Some("ANCHOR_SHARING_TOKEN_ANDROID"),
1759            Self::SYSTEM_ANCHOR_SHARING_EXPORT_PROPERTIES_ANDROID => {
1760                Some("SYSTEM_ANCHOR_SHARING_EXPORT_PROPERTIES_ANDROID")
1761            }
1762            Self::SYSTEM_MARKER_TRACKING_PROPERTIES_ANDROID => {
1763                Some("SYSTEM_MARKER_TRACKING_PROPERTIES_ANDROID")
1764            }
1765            Self::TRACKABLE_MARKER_CONFIGURATION_ANDROID => {
1766                Some("TRACKABLE_MARKER_CONFIGURATION_ANDROID")
1767            }
1768            Self::TRACKABLE_MARKER_ANDROID => Some("TRACKABLE_MARKER_ANDROID"),
1769            Self::SPATIAL_CAPABILITY_COMPONENT_TYPES_EXT => {
1770                Some("SPATIAL_CAPABILITY_COMPONENT_TYPES_EXT")
1771            }
1772            Self::SPATIAL_CONTEXT_CREATE_INFO_EXT => Some("SPATIAL_CONTEXT_CREATE_INFO_EXT"),
1773            Self::CREATE_SPATIAL_CONTEXT_COMPLETION_EXT => {
1774                Some("CREATE_SPATIAL_CONTEXT_COMPLETION_EXT")
1775            }
1776            Self::SPATIAL_DISCOVERY_SNAPSHOT_CREATE_INFO_EXT => {
1777                Some("SPATIAL_DISCOVERY_SNAPSHOT_CREATE_INFO_EXT")
1778            }
1779            Self::CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_INFO_EXT => {
1780                Some("CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_INFO_EXT")
1781            }
1782            Self::CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_EXT => {
1783                Some("CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_EXT")
1784            }
1785            Self::SPATIAL_COMPONENT_DATA_QUERY_CONDITION_EXT => {
1786                Some("SPATIAL_COMPONENT_DATA_QUERY_CONDITION_EXT")
1787            }
1788            Self::SPATIAL_COMPONENT_DATA_QUERY_RESULT_EXT => {
1789                Some("SPATIAL_COMPONENT_DATA_QUERY_RESULT_EXT")
1790            }
1791            Self::SPATIAL_BUFFER_GET_INFO_EXT => Some("SPATIAL_BUFFER_GET_INFO_EXT"),
1792            Self::SPATIAL_COMPONENT_BOUNDED_2D_LIST_EXT => {
1793                Some("SPATIAL_COMPONENT_BOUNDED_2D_LIST_EXT")
1794            }
1795            Self::SPATIAL_COMPONENT_BOUNDED_3D_LIST_EXT => {
1796                Some("SPATIAL_COMPONENT_BOUNDED_3D_LIST_EXT")
1797            }
1798            Self::SPATIAL_COMPONENT_PARENT_LIST_EXT => Some("SPATIAL_COMPONENT_PARENT_LIST_EXT"),
1799            Self::SPATIAL_COMPONENT_MESH_3D_LIST_EXT => Some("SPATIAL_COMPONENT_MESH_3D_LIST_EXT"),
1800            Self::SPATIAL_ENTITY_FROM_ID_CREATE_INFO_EXT => {
1801                Some("SPATIAL_ENTITY_FROM_ID_CREATE_INFO_EXT")
1802            }
1803            Self::SPATIAL_UPDATE_SNAPSHOT_CREATE_INFO_EXT => {
1804                Some("SPATIAL_UPDATE_SNAPSHOT_CREATE_INFO_EXT")
1805            }
1806            Self::EVENT_DATA_SPATIAL_DISCOVERY_RECOMMENDED_EXT => {
1807                Some("EVENT_DATA_SPATIAL_DISCOVERY_RECOMMENDED_EXT")
1808            }
1809            Self::SPATIAL_FILTER_TRACKING_STATE_EXT => Some("SPATIAL_FILTER_TRACKING_STATE_EXT"),
1810            Self::SPATIAL_CAPABILITY_CONFIGURATION_PLANE_TRACKING_EXT => {
1811                Some("SPATIAL_CAPABILITY_CONFIGURATION_PLANE_TRACKING_EXT")
1812            }
1813            Self::SPATIAL_COMPONENT_PLANE_ALIGNMENT_LIST_EXT => {
1814                Some("SPATIAL_COMPONENT_PLANE_ALIGNMENT_LIST_EXT")
1815            }
1816            Self::SPATIAL_COMPONENT_MESH_2D_LIST_EXT => Some("SPATIAL_COMPONENT_MESH_2D_LIST_EXT"),
1817            Self::SPATIAL_COMPONENT_POLYGON_2D_LIST_EXT => {
1818                Some("SPATIAL_COMPONENT_POLYGON_2D_LIST_EXT")
1819            }
1820            Self::SPATIAL_COMPONENT_PLANE_SEMANTIC_LABEL_LIST_EXT => {
1821                Some("SPATIAL_COMPONENT_PLANE_SEMANTIC_LABEL_LIST_EXT")
1822            }
1823            Self::SPATIAL_CAPABILITY_CONFIGURATION_QR_CODE_EXT => {
1824                Some("SPATIAL_CAPABILITY_CONFIGURATION_QR_CODE_EXT")
1825            }
1826            Self::SPATIAL_CAPABILITY_CONFIGURATION_MICRO_QR_CODE_EXT => {
1827                Some("SPATIAL_CAPABILITY_CONFIGURATION_MICRO_QR_CODE_EXT")
1828            }
1829            Self::SPATIAL_CAPABILITY_CONFIGURATION_ARUCO_MARKER_EXT => {
1830                Some("SPATIAL_CAPABILITY_CONFIGURATION_ARUCO_MARKER_EXT")
1831            }
1832            Self::SPATIAL_CAPABILITY_CONFIGURATION_APRIL_TAG_EXT => {
1833                Some("SPATIAL_CAPABILITY_CONFIGURATION_APRIL_TAG_EXT")
1834            }
1835            Self::SPATIAL_MARKER_SIZE_EXT => Some("SPATIAL_MARKER_SIZE_EXT"),
1836            Self::SPATIAL_MARKER_STATIC_OPTIMIZATION_EXT => {
1837                Some("SPATIAL_MARKER_STATIC_OPTIMIZATION_EXT")
1838            }
1839            Self::SPATIAL_COMPONENT_MARKER_LIST_EXT => Some("SPATIAL_COMPONENT_MARKER_LIST_EXT"),
1840            Self::SPATIAL_CAPABILITY_CONFIGURATION_ANCHOR_EXT => {
1841                Some("SPATIAL_CAPABILITY_CONFIGURATION_ANCHOR_EXT")
1842            }
1843            Self::SPATIAL_COMPONENT_ANCHOR_LIST_EXT => Some("SPATIAL_COMPONENT_ANCHOR_LIST_EXT"),
1844            Self::SPATIAL_ANCHOR_CREATE_INFO_EXT => Some("SPATIAL_ANCHOR_CREATE_INFO_EXT"),
1845            Self::SPATIAL_PERSISTENCE_CONTEXT_CREATE_INFO_EXT => {
1846                Some("SPATIAL_PERSISTENCE_CONTEXT_CREATE_INFO_EXT")
1847            }
1848            Self::CREATE_SPATIAL_PERSISTENCE_CONTEXT_COMPLETION_EXT => {
1849                Some("CREATE_SPATIAL_PERSISTENCE_CONTEXT_COMPLETION_EXT")
1850            }
1851            Self::SPATIAL_CONTEXT_PERSISTENCE_CONFIG_EXT => {
1852                Some("SPATIAL_CONTEXT_PERSISTENCE_CONFIG_EXT")
1853            }
1854            Self::SPATIAL_DISCOVERY_PERSISTENCE_UUID_FILTER_EXT => {
1855                Some("SPATIAL_DISCOVERY_PERSISTENCE_UUID_FILTER_EXT")
1856            }
1857            Self::SPATIAL_COMPONENT_PERSISTENCE_LIST_EXT => {
1858                Some("SPATIAL_COMPONENT_PERSISTENCE_LIST_EXT")
1859            }
1860            Self::SPATIAL_ENTITY_PERSIST_INFO_EXT => Some("SPATIAL_ENTITY_PERSIST_INFO_EXT"),
1861            Self::PERSIST_SPATIAL_ENTITY_COMPLETION_EXT => {
1862                Some("PERSIST_SPATIAL_ENTITY_COMPLETION_EXT")
1863            }
1864            Self::SPATIAL_ENTITY_UNPERSIST_INFO_EXT => Some("SPATIAL_ENTITY_UNPERSIST_INFO_EXT"),
1865            Self::UNPERSIST_SPATIAL_ENTITY_COMPLETION_EXT => {
1866                Some("UNPERSIST_SPATIAL_ENTITY_COMPLETION_EXT")
1867            }
1868            Self::LOADER_INIT_INFO_PROPERTIES_EXT => Some("LOADER_INIT_INFO_PROPERTIES_EXT"),
1869            _ => None,
1870        };
1871        fmt_enum(fmt, self.0, name)
1872    }
1873}
1874#[doc = "Error and return codes - see [XrResult](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrResult)"]
1875#[repr(transparent)]
1876#[derive(Copy, Clone, Eq, PartialEq, Default)]
1877pub struct Result(i32);
1878impl Result {
1879    #[doc = "Function successfully completed."]
1880    pub const SUCCESS: Result = Self(0i32);
1881    #[doc = "The specified timeout time occurred before the operation could complete."]
1882    pub const TIMEOUT_EXPIRED: Result = Self(1i32);
1883    #[doc = "The session will be lost soon."]
1884    pub const SESSION_LOSS_PENDING: Result = Self(3i32);
1885    #[doc = "No event was available."]
1886    pub const EVENT_UNAVAILABLE: Result = Self(4i32);
1887    #[doc = "The space's bounds are not known at the moment."]
1888    pub const SPACE_BOUNDS_UNAVAILABLE: Result = Self(7i32);
1889    #[doc = "The session is not in the focused state."]
1890    pub const SESSION_NOT_FOCUSED: Result = Self(8i32);
1891    #[doc = "A frame has been discarded from composition."]
1892    pub const FRAME_DISCARDED: Result = Self(9i32);
1893    #[doc = "The function usage was invalid in some way."]
1894    pub const ERROR_VALIDATION_FAILURE: Result = Self(-1i32);
1895    #[doc = "The runtime failed to handle the function in an unexpected way that is not covered by another error result."]
1896    pub const ERROR_RUNTIME_FAILURE: Result = Self(-2i32);
1897    #[doc = "A memory allocation has failed."]
1898    pub const ERROR_OUT_OF_MEMORY: Result = Self(-3i32);
1899    #[doc = "The runtime does not support the requested API version."]
1900    pub const ERROR_API_VERSION_UNSUPPORTED: Result = Self(-4i32);
1901    #[doc = "Initialization of object could not be completed."]
1902    pub const ERROR_INITIALIZATION_FAILED: Result = Self(-6i32);
1903    #[doc = "The requested function was not found or is otherwise unsupported."]
1904    pub const ERROR_FUNCTION_UNSUPPORTED: Result = Self(-7i32);
1905    #[doc = "The requested feature is not supported."]
1906    pub const ERROR_FEATURE_UNSUPPORTED: Result = Self(-8i32);
1907    #[doc = "A requested extension is not supported."]
1908    pub const ERROR_EXTENSION_NOT_PRESENT: Result = Self(-9i32);
1909    #[doc = "The runtime supports no more of the requested resource."]
1910    pub const ERROR_LIMIT_REACHED: Result = Self(-10i32);
1911    #[doc = "The supplied size was smaller than required."]
1912    pub const ERROR_SIZE_INSUFFICIENT: Result = Self(-11i32);
1913    #[doc = "A supplied object handle was invalid."]
1914    pub const ERROR_HANDLE_INVALID: Result = Self(-12i32);
1915    #[doc = "The XrInstance was lost or could not be found. It will need to be destroyed and optionally recreated."]
1916    pub const ERROR_INSTANCE_LOST: Result = Self(-13i32);
1917    #[doc = "The session is already running."]
1918    pub const ERROR_SESSION_RUNNING: Result = Self(-14i32);
1919    #[doc = "The session is not yet running."]
1920    pub const ERROR_SESSION_NOT_RUNNING: Result = Self(-16i32);
1921    #[doc = "The XrSession was lost. It will need to be destroyed and optionally recreated."]
1922    pub const ERROR_SESSION_LOST: Result = Self(-17i32);
1923    #[doc = "The provided XrSystemId was invalid."]
1924    pub const ERROR_SYSTEM_INVALID: Result = Self(-18i32);
1925    #[doc = "The provided XrPath was not valid."]
1926    pub const ERROR_PATH_INVALID: Result = Self(-19i32);
1927    #[doc = "The maximum number of supported semantic paths has been reached."]
1928    pub const ERROR_PATH_COUNT_EXCEEDED: Result = Self(-20i32);
1929    #[doc = "The semantic path character format is invalid."]
1930    pub const ERROR_PATH_FORMAT_INVALID: Result = Self(-21i32);
1931    #[doc = "The semantic path is unsupported."]
1932    pub const ERROR_PATH_UNSUPPORTED: Result = Self(-22i32);
1933    #[doc = "The layer was NULL or otherwise invalid."]
1934    pub const ERROR_LAYER_INVALID: Result = Self(-23i32);
1935    #[doc = "The number of specified layers is greater than the supported number."]
1936    pub const ERROR_LAYER_LIMIT_EXCEEDED: Result = Self(-24i32);
1937    #[doc = "The image rect was negatively sized or otherwise invalid."]
1938    pub const ERROR_SWAPCHAIN_RECT_INVALID: Result = Self(-25i32);
1939    #[doc = "The image format is not supported by the runtime or platform."]
1940    pub const ERROR_SWAPCHAIN_FORMAT_UNSUPPORTED: Result = Self(-26i32);
1941    #[doc = "The API used to retrieve an action's state does not match the action's type."]
1942    pub const ERROR_ACTION_TYPE_MISMATCH: Result = Self(-27i32);
1943    #[doc = "The session is not in the ready state."]
1944    pub const ERROR_SESSION_NOT_READY: Result = Self(-28i32);
1945    #[doc = "The session is not in the stopping state."]
1946    pub const ERROR_SESSION_NOT_STOPPING: Result = Self(-29i32);
1947    #[doc = "The provided XrTime was zero, negative, or out of range."]
1948    pub const ERROR_TIME_INVALID: Result = Self(-30i32);
1949    #[doc = "The specified reference space is not supported by the runtime or system."]
1950    pub const ERROR_REFERENCE_SPACE_UNSUPPORTED: Result = Self(-31i32);
1951    #[doc = "The file could not be accessed."]
1952    pub const ERROR_FILE_ACCESS_ERROR: Result = Self(-32i32);
1953    #[doc = "The file's contents were invalid."]
1954    pub const ERROR_FILE_CONTENTS_INVALID: Result = Self(-33i32);
1955    #[doc = "The specified form factor is not supported by the current runtime or platform."]
1956    pub const ERROR_FORM_FACTOR_UNSUPPORTED: Result = Self(-34i32);
1957    #[doc = "The specified form factor is supported, but the device is currently not available, e.g. not plugged in or powered off."]
1958    pub const ERROR_FORM_FACTOR_UNAVAILABLE: Result = Self(-35i32);
1959    #[doc = "A requested API layer is not present or could not be loaded."]
1960    pub const ERROR_API_LAYER_NOT_PRESENT: Result = Self(-36i32);
1961    #[doc = "The call was made without having made a previously required call."]
1962    pub const ERROR_CALL_ORDER_INVALID: Result = Self(-37i32);
1963    #[doc = "The given graphics device is not in a valid state. The graphics device could be lost or initialized without meeting graphics requirements."]
1964    pub const ERROR_GRAPHICS_DEVICE_INVALID: Result = Self(-38i32);
1965    #[doc = "The supplied pose was invalid with respect to the requirements."]
1966    pub const ERROR_POSE_INVALID: Result = Self(-39i32);
1967    #[doc = "The supplied index was outside the range of valid indices."]
1968    pub const ERROR_INDEX_OUT_OF_RANGE: Result = Self(-40i32);
1969    #[doc = "The specified view configuration type is not supported by the runtime or platform."]
1970    pub const ERROR_VIEW_CONFIGURATION_TYPE_UNSUPPORTED: Result = Self(-41i32);
1971    #[doc = "The specified environment blend mode is not supported by the runtime or platform."]
1972    pub const ERROR_ENVIRONMENT_BLEND_MODE_UNSUPPORTED: Result = Self(-42i32);
1973    #[doc = "The name provided was a duplicate of an already-existing resource."]
1974    pub const ERROR_NAME_DUPLICATED: Result = Self(-44i32);
1975    #[doc = "The name provided was invalid."]
1976    pub const ERROR_NAME_INVALID: Result = Self(-45i32);
1977    #[doc = "A referenced action set is not attached to the session."]
1978    pub const ERROR_ACTIONSET_NOT_ATTACHED: Result = Self(-46i32);
1979    #[doc = "The session already has attached action sets."]
1980    pub const ERROR_ACTIONSETS_ALREADY_ATTACHED: Result = Self(-47i32);
1981    #[doc = "The localized name provided was a duplicate of an already-existing resource."]
1982    pub const ERROR_LOCALIZED_NAME_DUPLICATED: Result = Self(-48i32);
1983    #[doc = "The localized name provided was invalid."]
1984    pub const ERROR_LOCALIZED_NAME_INVALID: Result = Self(-49i32);
1985    #[doc = "The xrGet*GraphicsRequirements call was not made before calling xrCreateSession."]
1986    pub const ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING: Result = Self(-50i32);
1987    #[doc = "The loader was unable to find or load a runtime."]
1988    pub const ERROR_RUNTIME_UNAVAILABLE: Result = Self(-51i32);
1989    #[doc = "One or more of the extensions being enabled has dependency on extensions that are not enabled."]
1990    pub const ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED: Result = Self(-1000710001i32);
1991    #[doc = "Insufficient permissions. This error is included for use by vendor extensions. The precise definition of `XR_ERROR_PERMISSION_INSUFFICIENT` and actions possible by the developer or user to resolve it can vary by platform, extension or function. The developer should refer to the documentation of the function that returned the error code and extension it was defined."]
1992    pub const ERROR_PERMISSION_INSUFFICIENT: Result = Self(-1000710000i32);
1993    #[doc = "xrSetAndroidApplicationThreadKHR failed as thread id is invalid."]
1994    pub const ERROR_ANDROID_THREAD_SETTINGS_ID_INVALID_KHR: Result = Self(-1000003000i32);
1995    #[doc = "xrSetAndroidApplicationThreadKHR failed setting the thread attributes/priority."]
1996    pub const ERROR_ANDROID_THREAD_SETTINGS_FAILURE_KHR: Result = Self(-1000003001i32);
1997    #[doc = "Spatial anchor could not be created at that location."]
1998    pub const ERROR_CREATE_SPATIAL_ANCHOR_FAILED_MSFT: Result = Self(-1000039001i32);
1999    #[doc = "The secondary view configuration was not enabled when creating the session."]
2000    pub const ERROR_SECONDARY_VIEW_CONFIGURATION_TYPE_NOT_ENABLED_MSFT: Result =
2001        Self(-1000053000i32);
2002    #[doc = "The controller model key is invalid."]
2003    pub const ERROR_CONTROLLER_MODEL_KEY_INVALID_MSFT: Result = Self(-1000055000i32);
2004    #[doc = "The reprojection mode is not supported."]
2005    pub const ERROR_REPROJECTION_MODE_UNSUPPORTED_MSFT: Result = Self(-1000066000i32);
2006    #[doc = "Compute new scene not completed."]
2007    pub const ERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT: Result = Self(-1000097000i32);
2008    #[doc = "Scene component id invalid."]
2009    pub const ERROR_SCENE_COMPONENT_ID_INVALID_MSFT: Result = Self(-1000097001i32);
2010    #[doc = "Scene component type mismatch."]
2011    pub const ERROR_SCENE_COMPONENT_TYPE_MISMATCH_MSFT: Result = Self(-1000097002i32);
2012    #[doc = "Scene mesh buffer id invalid."]
2013    pub const ERROR_SCENE_MESH_BUFFER_ID_INVALID_MSFT: Result = Self(-1000097003i32);
2014    #[doc = "Scene compute feature incompatible."]
2015    pub const ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFT: Result = Self(-1000097004i32);
2016    #[doc = "Scene compute consistency mismatch."]
2017    pub const ERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFT: Result = Self(-1000097005i32);
2018    #[doc = "The display refresh rate is not supported by the platform."]
2019    pub const ERROR_DISPLAY_REFRESH_RATE_UNSUPPORTED_FB: Result = Self(-1000101000i32);
2020    #[doc = "The color space is not supported by the runtime."]
2021    pub const ERROR_COLOR_SPACE_UNSUPPORTED_FB: Result = Self(-1000108000i32);
2022    #[doc = "The component type is not supported for this space."]
2023    pub const ERROR_SPACE_COMPONENT_NOT_SUPPORTED_FB: Result = Self(-1000113000i32);
2024    #[doc = "The required component is not enabled for this space."]
2025    pub const ERROR_SPACE_COMPONENT_NOT_ENABLED_FB: Result = Self(-1000113001i32);
2026    #[doc = "A request to set the component's status is currently pending."]
2027    pub const ERROR_SPACE_COMPONENT_STATUS_PENDING_FB: Result = Self(-1000113002i32);
2028    #[doc = "The component is already set to the requested value."]
2029    pub const ERROR_SPACE_COMPONENT_STATUS_ALREADY_SET_FB: Result = Self(-1000113003i32);
2030    #[doc = "The object state is unexpected for the issued command."]
2031    pub const ERROR_UNEXPECTED_STATE_PASSTHROUGH_FB: Result = Self(-1000118000i32);
2032    #[doc = "Trying to create an MR feature when one was already created and only one instance is allowed."]
2033    pub const ERROR_FEATURE_ALREADY_CREATED_PASSTHROUGH_FB: Result = Self(-1000118001i32);
2034    #[doc = "Requested functionality requires a feature to be created first."]
2035    pub const ERROR_FEATURE_REQUIRED_PASSTHROUGH_FB: Result = Self(-1000118002i32);
2036    #[doc = "Requested functionality is not permitted - application is not allowed to perform the requested operation."]
2037    pub const ERROR_NOT_PERMITTED_PASSTHROUGH_FB: Result = Self(-1000118003i32);
2038    #[doc = "There were insufficient resources available to perform an operation."]
2039    pub const ERROR_INSUFFICIENT_RESOURCES_PASSTHROUGH_FB: Result = Self(-1000118004i32);
2040    #[doc = "Unknown Passthrough error (no further details provided)."]
2041    pub const ERROR_UNKNOWN_PASSTHROUGH_FB: Result = Self(-1000118050i32);
2042    #[doc = "The model key is invalid."]
2043    pub const ERROR_RENDER_MODEL_KEY_INVALID_FB: Result = Self(-1000119000i32);
2044    #[doc = "The model is unavailable."]
2045    pub const RENDER_MODEL_UNAVAILABLE_FB: Result = Self(1000119020i32);
2046    #[doc = "Marker tracking is disabled or the specified marker is not currently tracked."]
2047    pub const ERROR_MARKER_NOT_TRACKED_VARJO: Result = Self(-1000124000i32);
2048    #[doc = "The specified marker ID is not valid."]
2049    pub const ERROR_MARKER_ID_INVALID_VARJO: Result = Self(-1000124001i32);
2050    #[doc = "The com.magicleap.permission.MARKER_TRACKING permission was denied."]
2051    pub const ERROR_MARKER_DETECTOR_PERMISSION_DENIED_ML: Result = Self(-1000138000i32);
2052    #[doc = "The specified marker could not be located spatially."]
2053    pub const ERROR_MARKER_DETECTOR_LOCATE_FAILED_ML: Result = Self(-1000138001i32);
2054    #[doc = "The marker queried does not contain data of the requested type."]
2055    pub const ERROR_MARKER_DETECTOR_INVALID_DATA_QUERY_ML: Result = Self(-1000138002i32);
2056    #[doc = "createInfo contains mutually exclusive parameters, such as setting XR_MARKER_DETECTOR_CORNER_REFINE_METHOD_APRIL_TAG_ML with XR_MARKER_TYPE_ARUCO_ML."]
2057    pub const ERROR_MARKER_DETECTOR_INVALID_CREATE_INFO_ML: Result = Self(-1000138003i32);
2058    #[doc = "The marker id passed to the function was invalid."]
2059    pub const ERROR_MARKER_INVALID_ML: Result = Self(-1000138004i32);
2060    #[doc = "The localization map being imported is not compatible with current OS or mode."]
2061    pub const ERROR_LOCALIZATION_MAP_INCOMPATIBLE_ML: Result = Self(-1000139000i32);
2062    #[doc = "The localization map requested is not available."]
2063    pub const ERROR_LOCALIZATION_MAP_UNAVAILABLE_ML: Result = Self(-1000139001i32);
2064    #[doc = "The map localization service failed to fulfill the request, retry later."]
2065    pub const ERROR_LOCALIZATION_MAP_FAIL_ML: Result = Self(-1000139002i32);
2066    #[doc = "The com.magicleap.permission.SPACE_IMPORT_EXPORT permission was denied."]
2067    pub const ERROR_LOCALIZATION_MAP_IMPORT_EXPORT_PERMISSION_DENIED_ML: Result =
2068        Self(-1000139003i32);
2069    #[doc = "The com.magicleap.permission.SPACE_MANAGER permission was denied."]
2070    pub const ERROR_LOCALIZATION_MAP_PERMISSION_DENIED_ML: Result = Self(-1000139004i32);
2071    #[doc = "The map being imported already exists in the system."]
2072    pub const ERROR_LOCALIZATION_MAP_ALREADY_EXISTS_ML: Result = Self(-1000139005i32);
2073    #[doc = "The map localization service cannot export cloud based maps."]
2074    pub const ERROR_LOCALIZATION_MAP_CANNOT_EXPORT_CLOUD_MAP_ML: Result = Self(-1000139006i32);
2075    #[doc = "The com.magicleap.permission.SPATIAL_ANCHOR permission was not granted."]
2076    pub const ERROR_SPATIAL_ANCHORS_PERMISSION_DENIED_ML: Result = Self(-1000140000i32);
2077    #[doc = "Operation failed because the system is not localized into a localization map."]
2078    pub const ERROR_SPATIAL_ANCHORS_NOT_LOCALIZED_ML: Result = Self(-1000140001i32);
2079    #[doc = "Operation failed because it is performed outside of the localization map."]
2080    pub const ERROR_SPATIAL_ANCHORS_OUT_OF_MAP_BOUNDS_ML: Result = Self(-1000140002i32);
2081    #[doc = "Operation failed because the space referenced cannot be located."]
2082    pub const ERROR_SPATIAL_ANCHORS_SPACE_NOT_LOCATABLE_ML: Result = Self(-1000140003i32);
2083    #[doc = "The anchor references was not found."]
2084    pub const ERROR_SPATIAL_ANCHORS_ANCHOR_NOT_FOUND_ML: Result = Self(-1000141000i32);
2085    #[doc = "A spatial anchor was not found associated with the spatial anchor name provided"]
2086    pub const ERROR_SPATIAL_ANCHOR_NAME_NOT_FOUND_MSFT: Result = Self(-1000142001i32);
2087    #[doc = "The spatial anchor name provided was not valid"]
2088    pub const ERROR_SPATIAL_ANCHOR_NAME_INVALID_MSFT: Result = Self(-1000142002i32);
2089    #[doc = "Marker does not encode a string."]
2090    pub const SCENE_MARKER_DATA_NOT_STRING_MSFT: Result = Self(1000147000i32);
2091    #[doc = "Anchor import from cloud or export from device failed."]
2092    pub const ERROR_SPACE_MAPPING_INSUFFICIENT_FB: Result = Self(-1000169000i32);
2093    #[doc = "Anchors were downloaded from the cloud but failed to be imported/aligned on the device."]
2094    pub const ERROR_SPACE_LOCALIZATION_FAILED_FB: Result = Self(-1000169001i32);
2095    #[doc = "Timeout occurred while waiting for network request to complete."]
2096    pub const ERROR_SPACE_NETWORK_TIMEOUT_FB: Result = Self(-1000169002i32);
2097    #[doc = "The network request failed."]
2098    pub const ERROR_SPACE_NETWORK_REQUEST_FAILED_FB: Result = Self(-1000169003i32);
2099    #[doc = "Cloud storage is required for this operation but is currently disabled."]
2100    pub const ERROR_SPACE_CLOUD_STORAGE_DISABLED_FB: Result = Self(-1000169004i32);
2101    #[doc = "Resource limitation prevented this operation from executing. Recommend retrying, perhaps after a short delay and/or reducing memory consumption."]
2102    pub const ERROR_SPACE_INSUFFICIENT_RESOURCES_META: Result = Self(-1000259000i32);
2103    #[doc = "Operation could not be completed until resources used are reduced or storage expanded."]
2104    pub const ERROR_SPACE_STORAGE_AT_CAPACITY_META: Result = Self(-1000259001i32);
2105    #[doc = "Look around the environment more for space tracking to function."]
2106    pub const ERROR_SPACE_INSUFFICIENT_VIEW_META: Result = Self(-1000259002i32);
2107    #[doc = "Space operation permission insufficient. Recommend confirming the status of the required permissions needed for using Space APIs."]
2108    pub const ERROR_SPACE_PERMISSION_INSUFFICIENT_META: Result = Self(-1000259003i32);
2109    #[doc = "Operation cancelled due to rate limiting. Recommend retrying after a short delay."]
2110    pub const ERROR_SPACE_RATE_LIMITED_META: Result = Self(-1000259004i32);
2111    #[doc = "Environment too dark for tracking to complete operation."]
2112    pub const ERROR_SPACE_TOO_DARK_META: Result = Self(-1000259005i32);
2113    #[doc = "Environment too bright for tracking to complete operation."]
2114    pub const ERROR_SPACE_TOO_BRIGHT_META: Result = Self(-1000259006i32);
2115    #[doc = "The provided data buffer did not match the required size."]
2116    pub const ERROR_PASSTHROUGH_COLOR_LUT_BUFFER_SIZE_MISMATCH_META: Result = Self(-1000266000i32);
2117    #[doc = "Warning: The requested depth image is not yet available."]
2118    pub const ENVIRONMENT_DEPTH_NOT_AVAILABLE_META: Result = Self(1000291000i32);
2119    #[doc = "The render model ID is invalid."]
2120    pub const ERROR_RENDER_MODEL_ID_INVALID_EXT: Result = Self(-1000300000i32);
2121    #[doc = "The render model asset is unavailable."]
2122    pub const ERROR_RENDER_MODEL_ASSET_UNAVAILABLE_EXT: Result = Self(-1000300001i32);
2123    #[doc = "A glTF extension is required."]
2124    pub const ERROR_RENDER_MODEL_GLTF_EXTENSION_REQUIRED_EXT: Result = Self(-1000300002i32);
2125    #[doc = "The provided XrRenderModelEXT was not created from a XrRenderModelIdEXT from `<<XR_EXT_interaction_render_model>>`"]
2126    pub const ERROR_NOT_INTERACTION_RENDER_MODEL_EXT: Result = Self(-1000301000i32);
2127    #[doc = "Tracking optimization hint is already set for the domain."]
2128    pub const ERROR_HINT_ALREADY_SET_QCOM: Result = Self(-1000306000i32);
2129    #[doc = "The provided space is valid but not an anchor."]
2130    pub const ERROR_NOT_AN_ANCHOR_HTC: Result = Self(-1000319000i32);
2131    #[doc = "The spatial entity id is invalid."]
2132    pub const ERROR_SPATIAL_ENTITY_ID_INVALID_BD: Result = Self(-1000389000i32);
2133    #[doc = "The spatial sensing service is unavailable."]
2134    pub const ERROR_SPATIAL_SENSING_SERVICE_UNAVAILABLE_BD: Result = Self(-1000389001i32);
2135    #[doc = "The spatial entity does not support anchor."]
2136    pub const ERROR_ANCHOR_NOT_SUPPORTED_FOR_ENTITY_BD: Result = Self(-1000389002i32);
2137    #[doc = "The spatial anchor is not found."]
2138    pub const ERROR_SPATIAL_ANCHOR_NOT_FOUND_BD: Result = Self(-1000390000i32);
2139    #[doc = "The network transmission timeout."]
2140    pub const ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_TIMEOUT_BD: Result = Self(-1000391000i32);
2141    #[doc = "The authentication for the user account failed."]
2142    pub const ERROR_SPATIAL_ANCHOR_SHARING_AUTHENTICATION_FAILURE_BD: Result = Self(-1000391001i32);
2143    #[doc = "The network connection failed, e.g. the connection is unstable or disconnected."]
2144    pub const ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_FAILURE_BD: Result = Self(-1000391002i32);
2145    #[doc = "The spatial anchor localization failed."]
2146    pub const ERROR_SPATIAL_ANCHOR_SHARING_LOCALIZATION_FAIL_BD: Result = Self(-1000391003i32);
2147    #[doc = "The feature points of spatial anchor map are insufficient."]
2148    pub const ERROR_SPATIAL_ANCHOR_SHARING_MAP_INSUFFICIENT_BD: Result = Self(-1000391004i32);
2149    #[doc = "The scene capture is failed, for example exiting abnormally."]
2150    pub const ERROR_SCENE_CAPTURE_FAILURE_BD: Result = Self(-1000392000i32);
2151    #[doc = "The space passed to the function was not locatable."]
2152    pub const ERROR_SPACE_NOT_LOCATABLE_EXT: Result = Self(-1000429000i32);
2153    #[doc = "The permission for this resource was not granted."]
2154    pub const ERROR_PLANE_DETECTION_PERMISSION_DENIED_EXT: Result = Self(-1000429001i32);
2155    #[doc = "Indicates that the parameters contains multiple trackable types."]
2156    pub const ERROR_MISMATCHING_TRACKABLE_TYPE_ANDROID: Result = Self(-1000455000i32);
2157    #[doc = "Indicates that the function is not supported by the given trackable type."]
2158    pub const ERROR_TRACKABLE_TYPE_NOT_SUPPORTED_ANDROID: Result = Self(-1000455001i32);
2159    #[doc = "XrUuidExt passed to the function was not found to be a persisted anchor."]
2160    pub const ERROR_ANCHOR_ID_NOT_FOUND_ANDROID: Result = Self(-1000457000i32);
2161    #[doc = "XrUuidExt passed to the function was already marked to be persisted."]
2162    pub const ERROR_ANCHOR_ALREADY_PERSISTED_ANDROID: Result = Self(-1000457001i32);
2163    #[doc = "ANchor cannot be persisted because it is not tracking."]
2164    pub const ERROR_ANCHOR_NOT_TRACKING_ANDROID: Result = Self(-1000457002i32);
2165    #[doc = "Persisted data stored by this app has not been loaded yet."]
2166    pub const ERROR_PERSISTED_DATA_NOT_READY_ANDROID: Result = Self(-1000457003i32);
2167    #[doc = "The underlying tracking service is not yet ready."]
2168    pub const ERROR_SERVICE_NOT_READY_ANDROID: Result = Self(-1000458000i32);
2169    #[doc = "Returned by completion function to indicate future is not ready."]
2170    pub const ERROR_FUTURE_PENDING_EXT: Result = Self(-1000469001i32);
2171    #[doc = "Returned by completion function to indicate future is not valid."]
2172    pub const ERROR_FUTURE_INVALID_EXT: Result = Self(-1000469002i32);
2173    #[doc = "The com.magicleap.permission.SYSTEM_NOTIFICATION permission was not granted."]
2174    pub const ERROR_SYSTEM_NOTIFICATION_PERMISSION_DENIED_ML: Result = Self(-1000473000i32);
2175    #[doc = "Incompatible SKU detected."]
2176    pub const ERROR_SYSTEM_NOTIFICATION_INCOMPATIBLE_SKU_ML: Result = Self(-1000473001i32);
2177    #[doc = "The world mesh detector permission was not granted."]
2178    pub const ERROR_WORLD_MESH_DETECTOR_PERMISSION_DENIED_ML: Result = Self(-1000474000i32);
2179    #[doc = "At the time of the call the runtime was unable to locate the space and cannot fulfill your request."]
2180    pub const ERROR_WORLD_MESH_DETECTOR_SPACE_NOT_LOCATABLE_ML: Result = Self(-1000474001i32);
2181    #[doc = "Permission to track facial expressions was not granted"]
2182    pub const ERROR_FACIAL_EXPRESSION_PERMISSION_DENIED_ML: Result = Self(1000482000i32);
2183    #[doc = "The network request failed."]
2184    pub const ERROR_COLOCATION_DISCOVERY_NETWORK_FAILED_META: Result = Self(-1000571001i32);
2185    #[doc = "The runtime does not have any methods available to perform discovery."]
2186    pub const ERROR_COLOCATION_DISCOVERY_NO_DISCOVERY_METHOD_META: Result = Self(-1000571002i32);
2187    #[doc = "Colocation advertisement has already been enabled"]
2188    pub const COLOCATION_DISCOVERY_ALREADY_ADVERTISING_META: Result = Self(1000571003i32);
2189    #[doc = "Colocation discovery has already been enabled"]
2190    pub const COLOCATION_DISCOVERY_ALREADY_DISCOVERING_META: Result = Self(1000571004i32);
2191    #[doc = "The group UUID was not found within the runtime"]
2192    pub const ERROR_SPACE_GROUP_NOT_FOUND_META: Result = Self(-1000572002i32);
2193    #[doc = "Operation not allowed because anchor is not owned by the XrSession in which the function is being called."]
2194    pub const ERROR_ANCHOR_NOT_OWNED_BY_CALLER_ANDROID: Result = Self(-1000701000i32);
2195    pub const ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED_KHR: Result =
2196        Self::ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED;
2197    pub const ERROR_PERMISSION_INSUFFICIENT_KHR: Result = Self::ERROR_PERMISSION_INSUFFICIENT;
2198    #[doc = "The specified spatial capability is not supported by the runtime or the system."]
2199    pub const ERROR_SPATIAL_CAPABILITY_UNSUPPORTED_EXT: Result = Self(-1000740001i32);
2200    #[doc = "The specified spatial entity id is invalid or an entity with that id does not exist in the environment."]
2201    pub const ERROR_SPATIAL_ENTITY_ID_INVALID_EXT: Result = Self(-1000740002i32);
2202    #[doc = "The specified spatial buffer id is invalid or does not exist in the spatial snapshot being used to query for the buffer data."]
2203    pub const ERROR_SPATIAL_BUFFER_ID_INVALID_EXT: Result = Self(-1000740003i32);
2204    #[doc = "The specified spatial component is not supported by the runtime or the system for the given capability."]
2205    pub const ERROR_SPATIAL_COMPONENT_UNSUPPORTED_FOR_CAPABILITY_EXT: Result = Self(-1000740004i32);
2206    #[doc = "The specified spatial capability configuration is invalid."]
2207    pub const ERROR_SPATIAL_CAPABILITY_CONFIGURATION_INVALID_EXT: Result = Self(-1000740005i32);
2208    #[doc = "The specified spatial component is not enabled for the spatial context."]
2209    pub const ERROR_SPATIAL_COMPONENT_NOT_ENABLED_EXT: Result = Self(-1000740006i32);
2210    #[doc = "The specified spatial persistence scope is not supported by the runtime or the system."]
2211    pub const ERROR_SPATIAL_PERSISTENCE_SCOPE_UNSUPPORTED_EXT: Result = Self(-1000763001i32);
2212    #[doc = "The scope configured for the persistence context is incompatible for the current spatial entity."]
2213    pub const ERROR_SPATIAL_PERSISTENCE_SCOPE_INCOMPATIBLE_EXT: Result = Self(-1000781001i32);
2214    pub fn from_raw(x: i32) -> Self {
2215        Self(x)
2216    }
2217    pub fn into_raw(self) -> i32 {
2218        self.0
2219    }
2220}
2221impl fmt::Debug for Result {
2222    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
2223        let name = match *self {
2224            Self::SUCCESS => Some("SUCCESS"),
2225            Self::TIMEOUT_EXPIRED => Some("TIMEOUT_EXPIRED"),
2226            Self::SESSION_LOSS_PENDING => Some("SESSION_LOSS_PENDING"),
2227            Self::EVENT_UNAVAILABLE => Some("EVENT_UNAVAILABLE"),
2228            Self::SPACE_BOUNDS_UNAVAILABLE => Some("SPACE_BOUNDS_UNAVAILABLE"),
2229            Self::SESSION_NOT_FOCUSED => Some("SESSION_NOT_FOCUSED"),
2230            Self::FRAME_DISCARDED => Some("FRAME_DISCARDED"),
2231            Self::ERROR_VALIDATION_FAILURE => Some("ERROR_VALIDATION_FAILURE"),
2232            Self::ERROR_RUNTIME_FAILURE => Some("ERROR_RUNTIME_FAILURE"),
2233            Self::ERROR_OUT_OF_MEMORY => Some("ERROR_OUT_OF_MEMORY"),
2234            Self::ERROR_API_VERSION_UNSUPPORTED => Some("ERROR_API_VERSION_UNSUPPORTED"),
2235            Self::ERROR_INITIALIZATION_FAILED => Some("ERROR_INITIALIZATION_FAILED"),
2236            Self::ERROR_FUNCTION_UNSUPPORTED => Some("ERROR_FUNCTION_UNSUPPORTED"),
2237            Self::ERROR_FEATURE_UNSUPPORTED => Some("ERROR_FEATURE_UNSUPPORTED"),
2238            Self::ERROR_EXTENSION_NOT_PRESENT => Some("ERROR_EXTENSION_NOT_PRESENT"),
2239            Self::ERROR_LIMIT_REACHED => Some("ERROR_LIMIT_REACHED"),
2240            Self::ERROR_SIZE_INSUFFICIENT => Some("ERROR_SIZE_INSUFFICIENT"),
2241            Self::ERROR_HANDLE_INVALID => Some("ERROR_HANDLE_INVALID"),
2242            Self::ERROR_INSTANCE_LOST => Some("ERROR_INSTANCE_LOST"),
2243            Self::ERROR_SESSION_RUNNING => Some("ERROR_SESSION_RUNNING"),
2244            Self::ERROR_SESSION_NOT_RUNNING => Some("ERROR_SESSION_NOT_RUNNING"),
2245            Self::ERROR_SESSION_LOST => Some("ERROR_SESSION_LOST"),
2246            Self::ERROR_SYSTEM_INVALID => Some("ERROR_SYSTEM_INVALID"),
2247            Self::ERROR_PATH_INVALID => Some("ERROR_PATH_INVALID"),
2248            Self::ERROR_PATH_COUNT_EXCEEDED => Some("ERROR_PATH_COUNT_EXCEEDED"),
2249            Self::ERROR_PATH_FORMAT_INVALID => Some("ERROR_PATH_FORMAT_INVALID"),
2250            Self::ERROR_PATH_UNSUPPORTED => Some("ERROR_PATH_UNSUPPORTED"),
2251            Self::ERROR_LAYER_INVALID => Some("ERROR_LAYER_INVALID"),
2252            Self::ERROR_LAYER_LIMIT_EXCEEDED => Some("ERROR_LAYER_LIMIT_EXCEEDED"),
2253            Self::ERROR_SWAPCHAIN_RECT_INVALID => Some("ERROR_SWAPCHAIN_RECT_INVALID"),
2254            Self::ERROR_SWAPCHAIN_FORMAT_UNSUPPORTED => Some("ERROR_SWAPCHAIN_FORMAT_UNSUPPORTED"),
2255            Self::ERROR_ACTION_TYPE_MISMATCH => Some("ERROR_ACTION_TYPE_MISMATCH"),
2256            Self::ERROR_SESSION_NOT_READY => Some("ERROR_SESSION_NOT_READY"),
2257            Self::ERROR_SESSION_NOT_STOPPING => Some("ERROR_SESSION_NOT_STOPPING"),
2258            Self::ERROR_TIME_INVALID => Some("ERROR_TIME_INVALID"),
2259            Self::ERROR_REFERENCE_SPACE_UNSUPPORTED => Some("ERROR_REFERENCE_SPACE_UNSUPPORTED"),
2260            Self::ERROR_FILE_ACCESS_ERROR => Some("ERROR_FILE_ACCESS_ERROR"),
2261            Self::ERROR_FILE_CONTENTS_INVALID => Some("ERROR_FILE_CONTENTS_INVALID"),
2262            Self::ERROR_FORM_FACTOR_UNSUPPORTED => Some("ERROR_FORM_FACTOR_UNSUPPORTED"),
2263            Self::ERROR_FORM_FACTOR_UNAVAILABLE => Some("ERROR_FORM_FACTOR_UNAVAILABLE"),
2264            Self::ERROR_API_LAYER_NOT_PRESENT => Some("ERROR_API_LAYER_NOT_PRESENT"),
2265            Self::ERROR_CALL_ORDER_INVALID => Some("ERROR_CALL_ORDER_INVALID"),
2266            Self::ERROR_GRAPHICS_DEVICE_INVALID => Some("ERROR_GRAPHICS_DEVICE_INVALID"),
2267            Self::ERROR_POSE_INVALID => Some("ERROR_POSE_INVALID"),
2268            Self::ERROR_INDEX_OUT_OF_RANGE => Some("ERROR_INDEX_OUT_OF_RANGE"),
2269            Self::ERROR_VIEW_CONFIGURATION_TYPE_UNSUPPORTED => {
2270                Some("ERROR_VIEW_CONFIGURATION_TYPE_UNSUPPORTED")
2271            }
2272            Self::ERROR_ENVIRONMENT_BLEND_MODE_UNSUPPORTED => {
2273                Some("ERROR_ENVIRONMENT_BLEND_MODE_UNSUPPORTED")
2274            }
2275            Self::ERROR_NAME_DUPLICATED => Some("ERROR_NAME_DUPLICATED"),
2276            Self::ERROR_NAME_INVALID => Some("ERROR_NAME_INVALID"),
2277            Self::ERROR_ACTIONSET_NOT_ATTACHED => Some("ERROR_ACTIONSET_NOT_ATTACHED"),
2278            Self::ERROR_ACTIONSETS_ALREADY_ATTACHED => Some("ERROR_ACTIONSETS_ALREADY_ATTACHED"),
2279            Self::ERROR_LOCALIZED_NAME_DUPLICATED => Some("ERROR_LOCALIZED_NAME_DUPLICATED"),
2280            Self::ERROR_LOCALIZED_NAME_INVALID => Some("ERROR_LOCALIZED_NAME_INVALID"),
2281            Self::ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING => {
2282                Some("ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING")
2283            }
2284            Self::ERROR_RUNTIME_UNAVAILABLE => Some("ERROR_RUNTIME_UNAVAILABLE"),
2285            Self::ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED => {
2286                Some("ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED")
2287            }
2288            Self::ERROR_PERMISSION_INSUFFICIENT => Some("ERROR_PERMISSION_INSUFFICIENT"),
2289            Self::ERROR_ANDROID_THREAD_SETTINGS_ID_INVALID_KHR => {
2290                Some("ERROR_ANDROID_THREAD_SETTINGS_ID_INVALID_KHR")
2291            }
2292            Self::ERROR_ANDROID_THREAD_SETTINGS_FAILURE_KHR => {
2293                Some("ERROR_ANDROID_THREAD_SETTINGS_FAILURE_KHR")
2294            }
2295            Self::ERROR_CREATE_SPATIAL_ANCHOR_FAILED_MSFT => {
2296                Some("ERROR_CREATE_SPATIAL_ANCHOR_FAILED_MSFT")
2297            }
2298            Self::ERROR_SECONDARY_VIEW_CONFIGURATION_TYPE_NOT_ENABLED_MSFT => {
2299                Some("ERROR_SECONDARY_VIEW_CONFIGURATION_TYPE_NOT_ENABLED_MSFT")
2300            }
2301            Self::ERROR_CONTROLLER_MODEL_KEY_INVALID_MSFT => {
2302                Some("ERROR_CONTROLLER_MODEL_KEY_INVALID_MSFT")
2303            }
2304            Self::ERROR_REPROJECTION_MODE_UNSUPPORTED_MSFT => {
2305                Some("ERROR_REPROJECTION_MODE_UNSUPPORTED_MSFT")
2306            }
2307            Self::ERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT => {
2308                Some("ERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT")
2309            }
2310            Self::ERROR_SCENE_COMPONENT_ID_INVALID_MSFT => {
2311                Some("ERROR_SCENE_COMPONENT_ID_INVALID_MSFT")
2312            }
2313            Self::ERROR_SCENE_COMPONENT_TYPE_MISMATCH_MSFT => {
2314                Some("ERROR_SCENE_COMPONENT_TYPE_MISMATCH_MSFT")
2315            }
2316            Self::ERROR_SCENE_MESH_BUFFER_ID_INVALID_MSFT => {
2317                Some("ERROR_SCENE_MESH_BUFFER_ID_INVALID_MSFT")
2318            }
2319            Self::ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFT => {
2320                Some("ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFT")
2321            }
2322            Self::ERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFT => {
2323                Some("ERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFT")
2324            }
2325            Self::ERROR_DISPLAY_REFRESH_RATE_UNSUPPORTED_FB => {
2326                Some("ERROR_DISPLAY_REFRESH_RATE_UNSUPPORTED_FB")
2327            }
2328            Self::ERROR_COLOR_SPACE_UNSUPPORTED_FB => Some("ERROR_COLOR_SPACE_UNSUPPORTED_FB"),
2329            Self::ERROR_SPACE_COMPONENT_NOT_SUPPORTED_FB => {
2330                Some("ERROR_SPACE_COMPONENT_NOT_SUPPORTED_FB")
2331            }
2332            Self::ERROR_SPACE_COMPONENT_NOT_ENABLED_FB => {
2333                Some("ERROR_SPACE_COMPONENT_NOT_ENABLED_FB")
2334            }
2335            Self::ERROR_SPACE_COMPONENT_STATUS_PENDING_FB => {
2336                Some("ERROR_SPACE_COMPONENT_STATUS_PENDING_FB")
2337            }
2338            Self::ERROR_SPACE_COMPONENT_STATUS_ALREADY_SET_FB => {
2339                Some("ERROR_SPACE_COMPONENT_STATUS_ALREADY_SET_FB")
2340            }
2341            Self::ERROR_UNEXPECTED_STATE_PASSTHROUGH_FB => {
2342                Some("ERROR_UNEXPECTED_STATE_PASSTHROUGH_FB")
2343            }
2344            Self::ERROR_FEATURE_ALREADY_CREATED_PASSTHROUGH_FB => {
2345                Some("ERROR_FEATURE_ALREADY_CREATED_PASSTHROUGH_FB")
2346            }
2347            Self::ERROR_FEATURE_REQUIRED_PASSTHROUGH_FB => {
2348                Some("ERROR_FEATURE_REQUIRED_PASSTHROUGH_FB")
2349            }
2350            Self::ERROR_NOT_PERMITTED_PASSTHROUGH_FB => Some("ERROR_NOT_PERMITTED_PASSTHROUGH_FB"),
2351            Self::ERROR_INSUFFICIENT_RESOURCES_PASSTHROUGH_FB => {
2352                Some("ERROR_INSUFFICIENT_RESOURCES_PASSTHROUGH_FB")
2353            }
2354            Self::ERROR_UNKNOWN_PASSTHROUGH_FB => Some("ERROR_UNKNOWN_PASSTHROUGH_FB"),
2355            Self::ERROR_RENDER_MODEL_KEY_INVALID_FB => Some("ERROR_RENDER_MODEL_KEY_INVALID_FB"),
2356            Self::RENDER_MODEL_UNAVAILABLE_FB => Some("RENDER_MODEL_UNAVAILABLE_FB"),
2357            Self::ERROR_MARKER_NOT_TRACKED_VARJO => Some("ERROR_MARKER_NOT_TRACKED_VARJO"),
2358            Self::ERROR_MARKER_ID_INVALID_VARJO => Some("ERROR_MARKER_ID_INVALID_VARJO"),
2359            Self::ERROR_MARKER_DETECTOR_PERMISSION_DENIED_ML => {
2360                Some("ERROR_MARKER_DETECTOR_PERMISSION_DENIED_ML")
2361            }
2362            Self::ERROR_MARKER_DETECTOR_LOCATE_FAILED_ML => {
2363                Some("ERROR_MARKER_DETECTOR_LOCATE_FAILED_ML")
2364            }
2365            Self::ERROR_MARKER_DETECTOR_INVALID_DATA_QUERY_ML => {
2366                Some("ERROR_MARKER_DETECTOR_INVALID_DATA_QUERY_ML")
2367            }
2368            Self::ERROR_MARKER_DETECTOR_INVALID_CREATE_INFO_ML => {
2369                Some("ERROR_MARKER_DETECTOR_INVALID_CREATE_INFO_ML")
2370            }
2371            Self::ERROR_MARKER_INVALID_ML => Some("ERROR_MARKER_INVALID_ML"),
2372            Self::ERROR_LOCALIZATION_MAP_INCOMPATIBLE_ML => {
2373                Some("ERROR_LOCALIZATION_MAP_INCOMPATIBLE_ML")
2374            }
2375            Self::ERROR_LOCALIZATION_MAP_UNAVAILABLE_ML => {
2376                Some("ERROR_LOCALIZATION_MAP_UNAVAILABLE_ML")
2377            }
2378            Self::ERROR_LOCALIZATION_MAP_FAIL_ML => Some("ERROR_LOCALIZATION_MAP_FAIL_ML"),
2379            Self::ERROR_LOCALIZATION_MAP_IMPORT_EXPORT_PERMISSION_DENIED_ML => {
2380                Some("ERROR_LOCALIZATION_MAP_IMPORT_EXPORT_PERMISSION_DENIED_ML")
2381            }
2382            Self::ERROR_LOCALIZATION_MAP_PERMISSION_DENIED_ML => {
2383                Some("ERROR_LOCALIZATION_MAP_PERMISSION_DENIED_ML")
2384            }
2385            Self::ERROR_LOCALIZATION_MAP_ALREADY_EXISTS_ML => {
2386                Some("ERROR_LOCALIZATION_MAP_ALREADY_EXISTS_ML")
2387            }
2388            Self::ERROR_LOCALIZATION_MAP_CANNOT_EXPORT_CLOUD_MAP_ML => {
2389                Some("ERROR_LOCALIZATION_MAP_CANNOT_EXPORT_CLOUD_MAP_ML")
2390            }
2391            Self::ERROR_SPATIAL_ANCHORS_PERMISSION_DENIED_ML => {
2392                Some("ERROR_SPATIAL_ANCHORS_PERMISSION_DENIED_ML")
2393            }
2394            Self::ERROR_SPATIAL_ANCHORS_NOT_LOCALIZED_ML => {
2395                Some("ERROR_SPATIAL_ANCHORS_NOT_LOCALIZED_ML")
2396            }
2397            Self::ERROR_SPATIAL_ANCHORS_OUT_OF_MAP_BOUNDS_ML => {
2398                Some("ERROR_SPATIAL_ANCHORS_OUT_OF_MAP_BOUNDS_ML")
2399            }
2400            Self::ERROR_SPATIAL_ANCHORS_SPACE_NOT_LOCATABLE_ML => {
2401                Some("ERROR_SPATIAL_ANCHORS_SPACE_NOT_LOCATABLE_ML")
2402            }
2403            Self::ERROR_SPATIAL_ANCHORS_ANCHOR_NOT_FOUND_ML => {
2404                Some("ERROR_SPATIAL_ANCHORS_ANCHOR_NOT_FOUND_ML")
2405            }
2406            Self::ERROR_SPATIAL_ANCHOR_NAME_NOT_FOUND_MSFT => {
2407                Some("ERROR_SPATIAL_ANCHOR_NAME_NOT_FOUND_MSFT")
2408            }
2409            Self::ERROR_SPATIAL_ANCHOR_NAME_INVALID_MSFT => {
2410                Some("ERROR_SPATIAL_ANCHOR_NAME_INVALID_MSFT")
2411            }
2412            Self::SCENE_MARKER_DATA_NOT_STRING_MSFT => Some("SCENE_MARKER_DATA_NOT_STRING_MSFT"),
2413            Self::ERROR_SPACE_MAPPING_INSUFFICIENT_FB => {
2414                Some("ERROR_SPACE_MAPPING_INSUFFICIENT_FB")
2415            }
2416            Self::ERROR_SPACE_LOCALIZATION_FAILED_FB => Some("ERROR_SPACE_LOCALIZATION_FAILED_FB"),
2417            Self::ERROR_SPACE_NETWORK_TIMEOUT_FB => Some("ERROR_SPACE_NETWORK_TIMEOUT_FB"),
2418            Self::ERROR_SPACE_NETWORK_REQUEST_FAILED_FB => {
2419                Some("ERROR_SPACE_NETWORK_REQUEST_FAILED_FB")
2420            }
2421            Self::ERROR_SPACE_CLOUD_STORAGE_DISABLED_FB => {
2422                Some("ERROR_SPACE_CLOUD_STORAGE_DISABLED_FB")
2423            }
2424            Self::ERROR_SPACE_INSUFFICIENT_RESOURCES_META => {
2425                Some("ERROR_SPACE_INSUFFICIENT_RESOURCES_META")
2426            }
2427            Self::ERROR_SPACE_STORAGE_AT_CAPACITY_META => {
2428                Some("ERROR_SPACE_STORAGE_AT_CAPACITY_META")
2429            }
2430            Self::ERROR_SPACE_INSUFFICIENT_VIEW_META => Some("ERROR_SPACE_INSUFFICIENT_VIEW_META"),
2431            Self::ERROR_SPACE_PERMISSION_INSUFFICIENT_META => {
2432                Some("ERROR_SPACE_PERMISSION_INSUFFICIENT_META")
2433            }
2434            Self::ERROR_SPACE_RATE_LIMITED_META => Some("ERROR_SPACE_RATE_LIMITED_META"),
2435            Self::ERROR_SPACE_TOO_DARK_META => Some("ERROR_SPACE_TOO_DARK_META"),
2436            Self::ERROR_SPACE_TOO_BRIGHT_META => Some("ERROR_SPACE_TOO_BRIGHT_META"),
2437            Self::ERROR_PASSTHROUGH_COLOR_LUT_BUFFER_SIZE_MISMATCH_META => {
2438                Some("ERROR_PASSTHROUGH_COLOR_LUT_BUFFER_SIZE_MISMATCH_META")
2439            }
2440            Self::ENVIRONMENT_DEPTH_NOT_AVAILABLE_META => {
2441                Some("ENVIRONMENT_DEPTH_NOT_AVAILABLE_META")
2442            }
2443            Self::ERROR_RENDER_MODEL_ID_INVALID_EXT => Some("ERROR_RENDER_MODEL_ID_INVALID_EXT"),
2444            Self::ERROR_RENDER_MODEL_ASSET_UNAVAILABLE_EXT => {
2445                Some("ERROR_RENDER_MODEL_ASSET_UNAVAILABLE_EXT")
2446            }
2447            Self::ERROR_RENDER_MODEL_GLTF_EXTENSION_REQUIRED_EXT => {
2448                Some("ERROR_RENDER_MODEL_GLTF_EXTENSION_REQUIRED_EXT")
2449            }
2450            Self::ERROR_NOT_INTERACTION_RENDER_MODEL_EXT => {
2451                Some("ERROR_NOT_INTERACTION_RENDER_MODEL_EXT")
2452            }
2453            Self::ERROR_HINT_ALREADY_SET_QCOM => Some("ERROR_HINT_ALREADY_SET_QCOM"),
2454            Self::ERROR_NOT_AN_ANCHOR_HTC => Some("ERROR_NOT_AN_ANCHOR_HTC"),
2455            Self::ERROR_SPATIAL_ENTITY_ID_INVALID_BD => Some("ERROR_SPATIAL_ENTITY_ID_INVALID_BD"),
2456            Self::ERROR_SPATIAL_SENSING_SERVICE_UNAVAILABLE_BD => {
2457                Some("ERROR_SPATIAL_SENSING_SERVICE_UNAVAILABLE_BD")
2458            }
2459            Self::ERROR_ANCHOR_NOT_SUPPORTED_FOR_ENTITY_BD => {
2460                Some("ERROR_ANCHOR_NOT_SUPPORTED_FOR_ENTITY_BD")
2461            }
2462            Self::ERROR_SPATIAL_ANCHOR_NOT_FOUND_BD => Some("ERROR_SPATIAL_ANCHOR_NOT_FOUND_BD"),
2463            Self::ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_TIMEOUT_BD => {
2464                Some("ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_TIMEOUT_BD")
2465            }
2466            Self::ERROR_SPATIAL_ANCHOR_SHARING_AUTHENTICATION_FAILURE_BD => {
2467                Some("ERROR_SPATIAL_ANCHOR_SHARING_AUTHENTICATION_FAILURE_BD")
2468            }
2469            Self::ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_FAILURE_BD => {
2470                Some("ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_FAILURE_BD")
2471            }
2472            Self::ERROR_SPATIAL_ANCHOR_SHARING_LOCALIZATION_FAIL_BD => {
2473                Some("ERROR_SPATIAL_ANCHOR_SHARING_LOCALIZATION_FAIL_BD")
2474            }
2475            Self::ERROR_SPATIAL_ANCHOR_SHARING_MAP_INSUFFICIENT_BD => {
2476                Some("ERROR_SPATIAL_ANCHOR_SHARING_MAP_INSUFFICIENT_BD")
2477            }
2478            Self::ERROR_SCENE_CAPTURE_FAILURE_BD => Some("ERROR_SCENE_CAPTURE_FAILURE_BD"),
2479            Self::ERROR_SPACE_NOT_LOCATABLE_EXT => Some("ERROR_SPACE_NOT_LOCATABLE_EXT"),
2480            Self::ERROR_PLANE_DETECTION_PERMISSION_DENIED_EXT => {
2481                Some("ERROR_PLANE_DETECTION_PERMISSION_DENIED_EXT")
2482            }
2483            Self::ERROR_MISMATCHING_TRACKABLE_TYPE_ANDROID => {
2484                Some("ERROR_MISMATCHING_TRACKABLE_TYPE_ANDROID")
2485            }
2486            Self::ERROR_TRACKABLE_TYPE_NOT_SUPPORTED_ANDROID => {
2487                Some("ERROR_TRACKABLE_TYPE_NOT_SUPPORTED_ANDROID")
2488            }
2489            Self::ERROR_ANCHOR_ID_NOT_FOUND_ANDROID => Some("ERROR_ANCHOR_ID_NOT_FOUND_ANDROID"),
2490            Self::ERROR_ANCHOR_ALREADY_PERSISTED_ANDROID => {
2491                Some("ERROR_ANCHOR_ALREADY_PERSISTED_ANDROID")
2492            }
2493            Self::ERROR_ANCHOR_NOT_TRACKING_ANDROID => Some("ERROR_ANCHOR_NOT_TRACKING_ANDROID"),
2494            Self::ERROR_PERSISTED_DATA_NOT_READY_ANDROID => {
2495                Some("ERROR_PERSISTED_DATA_NOT_READY_ANDROID")
2496            }
2497            Self::ERROR_SERVICE_NOT_READY_ANDROID => Some("ERROR_SERVICE_NOT_READY_ANDROID"),
2498            Self::ERROR_FUTURE_PENDING_EXT => Some("ERROR_FUTURE_PENDING_EXT"),
2499            Self::ERROR_FUTURE_INVALID_EXT => Some("ERROR_FUTURE_INVALID_EXT"),
2500            Self::ERROR_SYSTEM_NOTIFICATION_PERMISSION_DENIED_ML => {
2501                Some("ERROR_SYSTEM_NOTIFICATION_PERMISSION_DENIED_ML")
2502            }
2503            Self::ERROR_SYSTEM_NOTIFICATION_INCOMPATIBLE_SKU_ML => {
2504                Some("ERROR_SYSTEM_NOTIFICATION_INCOMPATIBLE_SKU_ML")
2505            }
2506            Self::ERROR_WORLD_MESH_DETECTOR_PERMISSION_DENIED_ML => {
2507                Some("ERROR_WORLD_MESH_DETECTOR_PERMISSION_DENIED_ML")
2508            }
2509            Self::ERROR_WORLD_MESH_DETECTOR_SPACE_NOT_LOCATABLE_ML => {
2510                Some("ERROR_WORLD_MESH_DETECTOR_SPACE_NOT_LOCATABLE_ML")
2511            }
2512            Self::ERROR_FACIAL_EXPRESSION_PERMISSION_DENIED_ML => {
2513                Some("ERROR_FACIAL_EXPRESSION_PERMISSION_DENIED_ML")
2514            }
2515            Self::ERROR_COLOCATION_DISCOVERY_NETWORK_FAILED_META => {
2516                Some("ERROR_COLOCATION_DISCOVERY_NETWORK_FAILED_META")
2517            }
2518            Self::ERROR_COLOCATION_DISCOVERY_NO_DISCOVERY_METHOD_META => {
2519                Some("ERROR_COLOCATION_DISCOVERY_NO_DISCOVERY_METHOD_META")
2520            }
2521            Self::COLOCATION_DISCOVERY_ALREADY_ADVERTISING_META => {
2522                Some("COLOCATION_DISCOVERY_ALREADY_ADVERTISING_META")
2523            }
2524            Self::COLOCATION_DISCOVERY_ALREADY_DISCOVERING_META => {
2525                Some("COLOCATION_DISCOVERY_ALREADY_DISCOVERING_META")
2526            }
2527            Self::ERROR_SPACE_GROUP_NOT_FOUND_META => Some("ERROR_SPACE_GROUP_NOT_FOUND_META"),
2528            Self::ERROR_ANCHOR_NOT_OWNED_BY_CALLER_ANDROID => {
2529                Some("ERROR_ANCHOR_NOT_OWNED_BY_CALLER_ANDROID")
2530            }
2531            Self::ERROR_SPATIAL_CAPABILITY_UNSUPPORTED_EXT => {
2532                Some("ERROR_SPATIAL_CAPABILITY_UNSUPPORTED_EXT")
2533            }
2534            Self::ERROR_SPATIAL_ENTITY_ID_INVALID_EXT => {
2535                Some("ERROR_SPATIAL_ENTITY_ID_INVALID_EXT")
2536            }
2537            Self::ERROR_SPATIAL_BUFFER_ID_INVALID_EXT => {
2538                Some("ERROR_SPATIAL_BUFFER_ID_INVALID_EXT")
2539            }
2540            Self::ERROR_SPATIAL_COMPONENT_UNSUPPORTED_FOR_CAPABILITY_EXT => {
2541                Some("ERROR_SPATIAL_COMPONENT_UNSUPPORTED_FOR_CAPABILITY_EXT")
2542            }
2543            Self::ERROR_SPATIAL_CAPABILITY_CONFIGURATION_INVALID_EXT => {
2544                Some("ERROR_SPATIAL_CAPABILITY_CONFIGURATION_INVALID_EXT")
2545            }
2546            Self::ERROR_SPATIAL_COMPONENT_NOT_ENABLED_EXT => {
2547                Some("ERROR_SPATIAL_COMPONENT_NOT_ENABLED_EXT")
2548            }
2549            Self::ERROR_SPATIAL_PERSISTENCE_SCOPE_UNSUPPORTED_EXT => {
2550                Some("ERROR_SPATIAL_PERSISTENCE_SCOPE_UNSUPPORTED_EXT")
2551            }
2552            Self::ERROR_SPATIAL_PERSISTENCE_SCOPE_INCOMPATIBLE_EXT => {
2553                Some("ERROR_SPATIAL_PERSISTENCE_SCOPE_INCOMPATIBLE_EXT")
2554            }
2555            _ => None,
2556        };
2557        fmt_enum(fmt, self.0, name)
2558    }
2559}
2560impl fmt::Display for Result {
2561    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
2562        let reason = match *self {
2563            Self::SUCCESS => Some("function successfully completed"),
2564            Self::TIMEOUT_EXPIRED => {
2565                Some("the specified timeout time occurred before the operation could complete")
2566            }
2567            Self::SESSION_LOSS_PENDING => Some("the session will be lost soon"),
2568            Self::EVENT_UNAVAILABLE => Some("no event was available"),
2569            Self::SPACE_BOUNDS_UNAVAILABLE => {
2570                Some("the space's bounds are not known at the moment")
2571            }
2572            Self::SESSION_NOT_FOCUSED => Some("the session is not in the focused state"),
2573            Self::FRAME_DISCARDED => Some("a frame has been discarded from composition"),
2574            Self::ERROR_VALIDATION_FAILURE => Some("the function usage was invalid in some way"),
2575            Self::ERROR_RUNTIME_FAILURE => Some(
2576                "the runtime failed to handle the function in an unexpected way that is not covered by another error result",
2577            ),
2578            Self::ERROR_OUT_OF_MEMORY => Some("a memory allocation has failed"),
2579            Self::ERROR_API_VERSION_UNSUPPORTED => {
2580                Some("the runtime does not support the requested API version")
2581            }
2582            Self::ERROR_INITIALIZATION_FAILED => {
2583                Some("initialization of object could not be completed")
2584            }
2585            Self::ERROR_FUNCTION_UNSUPPORTED => {
2586                Some("the requested function was not found or is otherwise unsupported")
2587            }
2588            Self::ERROR_FEATURE_UNSUPPORTED => Some("the requested feature is not supported"),
2589            Self::ERROR_EXTENSION_NOT_PRESENT => Some("a requested extension is not supported"),
2590            Self::ERROR_LIMIT_REACHED => {
2591                Some("the runtime supports no more of the requested resource")
2592            }
2593            Self::ERROR_SIZE_INSUFFICIENT => Some("the supplied size was smaller than required"),
2594            Self::ERROR_HANDLE_INVALID => Some("a supplied object handle was invalid"),
2595            Self::ERROR_INSTANCE_LOST => Some(
2596                "the XrInstance was lost or could not be found. It will need to be destroyed and optionally recreated",
2597            ),
2598            Self::ERROR_SESSION_RUNNING => Some("the session is already running"),
2599            Self::ERROR_SESSION_NOT_RUNNING => Some("the session is not yet running"),
2600            Self::ERROR_SESSION_LOST => Some(
2601                "the XrSession was lost. It will need to be destroyed and optionally recreated",
2602            ),
2603            Self::ERROR_SYSTEM_INVALID => Some("the provided XrSystemId was invalid"),
2604            Self::ERROR_PATH_INVALID => Some("the provided XrPath was not valid"),
2605            Self::ERROR_PATH_COUNT_EXCEEDED => {
2606                Some("the maximum number of supported semantic paths has been reached")
2607            }
2608            Self::ERROR_PATH_FORMAT_INVALID => {
2609                Some("the semantic path character format is invalid")
2610            }
2611            Self::ERROR_PATH_UNSUPPORTED => Some("the semantic path is unsupported"),
2612            Self::ERROR_LAYER_INVALID => Some("the layer was NULL or otherwise invalid"),
2613            Self::ERROR_LAYER_LIMIT_EXCEEDED => {
2614                Some("the number of specified layers is greater than the supported number")
2615            }
2616            Self::ERROR_SWAPCHAIN_RECT_INVALID => {
2617                Some("the image rect was negatively sized or otherwise invalid")
2618            }
2619            Self::ERROR_SWAPCHAIN_FORMAT_UNSUPPORTED => {
2620                Some("the image format is not supported by the runtime or platform")
2621            }
2622            Self::ERROR_ACTION_TYPE_MISMATCH => {
2623                Some("the API used to retrieve an action's state does not match the action's type")
2624            }
2625            Self::ERROR_SESSION_NOT_READY => Some("the session is not in the ready state"),
2626            Self::ERROR_SESSION_NOT_STOPPING => Some("the session is not in the stopping state"),
2627            Self::ERROR_TIME_INVALID => {
2628                Some("the provided XrTime was zero, negative, or out of range")
2629            }
2630            Self::ERROR_REFERENCE_SPACE_UNSUPPORTED => {
2631                Some("the specified reference space is not supported by the runtime or system")
2632            }
2633            Self::ERROR_FILE_ACCESS_ERROR => Some("the file could not be accessed"),
2634            Self::ERROR_FILE_CONTENTS_INVALID => Some("the file's contents were invalid"),
2635            Self::ERROR_FORM_FACTOR_UNSUPPORTED => Some(
2636                "the specified form factor is not supported by the current runtime or platform",
2637            ),
2638            Self::ERROR_FORM_FACTOR_UNAVAILABLE => Some(
2639                "the specified form factor is supported, but the device is currently not available, e.g. not plugged in or powered off",
2640            ),
2641            Self::ERROR_API_LAYER_NOT_PRESENT => {
2642                Some("a requested API layer is not present or could not be loaded")
2643            }
2644            Self::ERROR_CALL_ORDER_INVALID => {
2645                Some("the call was made without having made a previously required call")
2646            }
2647            Self::ERROR_GRAPHICS_DEVICE_INVALID => Some(
2648                "the given graphics device is not in a valid state. The graphics device could be lost or initialized without meeting graphics requirements",
2649            ),
2650            Self::ERROR_POSE_INVALID => {
2651                Some("the supplied pose was invalid with respect to the requirements")
2652            }
2653            Self::ERROR_INDEX_OUT_OF_RANGE => {
2654                Some("the supplied index was outside the range of valid indices")
2655            }
2656            Self::ERROR_VIEW_CONFIGURATION_TYPE_UNSUPPORTED => Some(
2657                "the specified view configuration type is not supported by the runtime or platform",
2658            ),
2659            Self::ERROR_ENVIRONMENT_BLEND_MODE_UNSUPPORTED => Some(
2660                "the specified environment blend mode is not supported by the runtime or platform",
2661            ),
2662            Self::ERROR_NAME_DUPLICATED => {
2663                Some("the name provided was a duplicate of an already-existing resource")
2664            }
2665            Self::ERROR_NAME_INVALID => Some("the name provided was invalid"),
2666            Self::ERROR_ACTIONSET_NOT_ATTACHED => {
2667                Some("a referenced action set is not attached to the session")
2668            }
2669            Self::ERROR_ACTIONSETS_ALREADY_ATTACHED => {
2670                Some("the session already has attached action sets")
2671            }
2672            Self::ERROR_LOCALIZED_NAME_DUPLICATED => {
2673                Some("the localized name provided was a duplicate of an already-existing resource")
2674            }
2675            Self::ERROR_LOCALIZED_NAME_INVALID => Some("the localized name provided was invalid"),
2676            Self::ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING => Some(
2677                "the xrGet*GraphicsRequirements call was not made before calling xrCreateSession",
2678            ),
2679            Self::ERROR_RUNTIME_UNAVAILABLE => {
2680                Some("the loader was unable to find or load a runtime")
2681            }
2682            Self::ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED => Some(
2683                "one or more of the extensions being enabled has dependency on extensions that are not enabled",
2684            ),
2685            Self::ERROR_PERMISSION_INSUFFICIENT => Some(
2686                "insufficient permissions. This error is included for use by vendor extensions. The precise definition of `XR_ERROR_PERMISSION_INSUFFICIENT` and actions possible by the developer or user to resolve it can vary by platform, extension or function. The developer should refer to the documentation of the function that returned the error code and extension it was defined",
2687            ),
2688            Self::ERROR_ANDROID_THREAD_SETTINGS_ID_INVALID_KHR => {
2689                Some("xrSetAndroidApplicationThreadKHR failed as thread id is invalid")
2690            }
2691            Self::ERROR_ANDROID_THREAD_SETTINGS_FAILURE_KHR => Some(
2692                "xrSetAndroidApplicationThreadKHR failed setting the thread attributes/priority",
2693            ),
2694            Self::ERROR_CREATE_SPATIAL_ANCHOR_FAILED_MSFT => {
2695                Some("spatial anchor could not be created at that location")
2696            }
2697            Self::ERROR_SECONDARY_VIEW_CONFIGURATION_TYPE_NOT_ENABLED_MSFT => {
2698                Some("the secondary view configuration was not enabled when creating the session")
2699            }
2700            Self::ERROR_CONTROLLER_MODEL_KEY_INVALID_MSFT => {
2701                Some("the controller model key is invalid")
2702            }
2703            Self::ERROR_REPROJECTION_MODE_UNSUPPORTED_MSFT => {
2704                Some("the reprojection mode is not supported")
2705            }
2706            Self::ERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT => {
2707                Some("compute new scene not completed")
2708            }
2709            Self::ERROR_SCENE_COMPONENT_ID_INVALID_MSFT => Some("scene component id invalid"),
2710            Self::ERROR_SCENE_COMPONENT_TYPE_MISMATCH_MSFT => Some("scene component type mismatch"),
2711            Self::ERROR_SCENE_MESH_BUFFER_ID_INVALID_MSFT => Some("scene mesh buffer id invalid"),
2712            Self::ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFT => {
2713                Some("scene compute feature incompatible")
2714            }
2715            Self::ERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFT => {
2716                Some("scene compute consistency mismatch")
2717            }
2718            Self::ERROR_DISPLAY_REFRESH_RATE_UNSUPPORTED_FB => {
2719                Some("the display refresh rate is not supported by the platform")
2720            }
2721            Self::ERROR_COLOR_SPACE_UNSUPPORTED_FB => {
2722                Some("the color space is not supported by the runtime")
2723            }
2724            Self::ERROR_SPACE_COMPONENT_NOT_SUPPORTED_FB => {
2725                Some("the component type is not supported for this space")
2726            }
2727            Self::ERROR_SPACE_COMPONENT_NOT_ENABLED_FB => {
2728                Some("the required component is not enabled for this space")
2729            }
2730            Self::ERROR_SPACE_COMPONENT_STATUS_PENDING_FB => {
2731                Some("a request to set the component's status is currently pending")
2732            }
2733            Self::ERROR_SPACE_COMPONENT_STATUS_ALREADY_SET_FB => {
2734                Some("the component is already set to the requested value")
2735            }
2736            Self::ERROR_UNEXPECTED_STATE_PASSTHROUGH_FB => {
2737                Some("the object state is unexpected for the issued command")
2738            }
2739            Self::ERROR_FEATURE_ALREADY_CREATED_PASSTHROUGH_FB => Some(
2740                "trying to create an MR feature when one was already created and only one instance is allowed",
2741            ),
2742            Self::ERROR_FEATURE_REQUIRED_PASSTHROUGH_FB => {
2743                Some("requested functionality requires a feature to be created first")
2744            }
2745            Self::ERROR_NOT_PERMITTED_PASSTHROUGH_FB => Some(
2746                "requested functionality is not permitted - application is not allowed to perform the requested operation",
2747            ),
2748            Self::ERROR_INSUFFICIENT_RESOURCES_PASSTHROUGH_FB => {
2749                Some("there were insufficient resources available to perform an operation")
2750            }
2751            Self::ERROR_UNKNOWN_PASSTHROUGH_FB => {
2752                Some("unknown Passthrough error (no further details provided)")
2753            }
2754            Self::ERROR_RENDER_MODEL_KEY_INVALID_FB => Some("the model key is invalid"),
2755            Self::RENDER_MODEL_UNAVAILABLE_FB => Some("the model is unavailable"),
2756            Self::ERROR_MARKER_NOT_TRACKED_VARJO => {
2757                Some("marker tracking is disabled or the specified marker is not currently tracked")
2758            }
2759            Self::ERROR_MARKER_ID_INVALID_VARJO => Some("the specified marker ID is not valid"),
2760            Self::ERROR_MARKER_DETECTOR_PERMISSION_DENIED_ML => {
2761                Some("the com.magicleap.permission.MARKER_TRACKING permission was denied")
2762            }
2763            Self::ERROR_MARKER_DETECTOR_LOCATE_FAILED_ML => {
2764                Some("the specified marker could not be located spatially")
2765            }
2766            Self::ERROR_MARKER_DETECTOR_INVALID_DATA_QUERY_ML => {
2767                Some("the marker queried does not contain data of the requested type")
2768            }
2769            Self::ERROR_MARKER_DETECTOR_INVALID_CREATE_INFO_ML => Some(
2770                "createInfo contains mutually exclusive parameters, such as setting XR_MARKER_DETECTOR_CORNER_REFINE_METHOD_APRIL_TAG_ML with XR_MARKER_TYPE_ARUCO_ML",
2771            ),
2772            Self::ERROR_MARKER_INVALID_ML => {
2773                Some("the marker id passed to the function was invalid")
2774            }
2775            Self::ERROR_LOCALIZATION_MAP_INCOMPATIBLE_ML => Some(
2776                "the localization map being imported is not compatible with current OS or mode",
2777            ),
2778            Self::ERROR_LOCALIZATION_MAP_UNAVAILABLE_ML => {
2779                Some("the localization map requested is not available")
2780            }
2781            Self::ERROR_LOCALIZATION_MAP_FAIL_ML => {
2782                Some("the map localization service failed to fulfill the request, retry later")
2783            }
2784            Self::ERROR_LOCALIZATION_MAP_IMPORT_EXPORT_PERMISSION_DENIED_ML => {
2785                Some("the com.magicleap.permission.SPACE_IMPORT_EXPORT permission was denied")
2786            }
2787            Self::ERROR_LOCALIZATION_MAP_PERMISSION_DENIED_ML => {
2788                Some("the com.magicleap.permission.SPACE_MANAGER permission was denied")
2789            }
2790            Self::ERROR_LOCALIZATION_MAP_ALREADY_EXISTS_ML => {
2791                Some("the map being imported already exists in the system")
2792            }
2793            Self::ERROR_LOCALIZATION_MAP_CANNOT_EXPORT_CLOUD_MAP_ML => {
2794                Some("the map localization service cannot export cloud based maps")
2795            }
2796            Self::ERROR_SPATIAL_ANCHORS_PERMISSION_DENIED_ML => {
2797                Some("the com.magicleap.permission.SPATIAL_ANCHOR permission was not granted")
2798            }
2799            Self::ERROR_SPATIAL_ANCHORS_NOT_LOCALIZED_ML => {
2800                Some("operation failed because the system is not localized into a localization map")
2801            }
2802            Self::ERROR_SPATIAL_ANCHORS_OUT_OF_MAP_BOUNDS_ML => {
2803                Some("operation failed because it is performed outside of the localization map")
2804            }
2805            Self::ERROR_SPATIAL_ANCHORS_SPACE_NOT_LOCATABLE_ML => {
2806                Some("operation failed because the space referenced cannot be located")
2807            }
2808            Self::ERROR_SPATIAL_ANCHORS_ANCHOR_NOT_FOUND_ML => {
2809                Some("the anchor references was not found")
2810            }
2811            Self::ERROR_SPATIAL_ANCHOR_NAME_NOT_FOUND_MSFT => Some(
2812                "a spatial anchor was not found associated with the spatial anchor name provided",
2813            ),
2814            Self::ERROR_SPATIAL_ANCHOR_NAME_INVALID_MSFT => {
2815                Some("the spatial anchor name provided was not valid")
2816            }
2817            Self::SCENE_MARKER_DATA_NOT_STRING_MSFT => Some("marker does not encode a string"),
2818            Self::ERROR_SPACE_MAPPING_INSUFFICIENT_FB => {
2819                Some("anchor import from cloud or export from device failed")
2820            }
2821            Self::ERROR_SPACE_LOCALIZATION_FAILED_FB => Some(
2822                "anchors were downloaded from the cloud but failed to be imported/aligned on the device",
2823            ),
2824            Self::ERROR_SPACE_NETWORK_TIMEOUT_FB => {
2825                Some("timeout occurred while waiting for network request to complete")
2826            }
2827            Self::ERROR_SPACE_NETWORK_REQUEST_FAILED_FB => Some("the network request failed"),
2828            Self::ERROR_SPACE_CLOUD_STORAGE_DISABLED_FB => {
2829                Some("cloud storage is required for this operation but is currently disabled")
2830            }
2831            Self::ERROR_SPACE_INSUFFICIENT_RESOURCES_META => Some(
2832                "resource limitation prevented this operation from executing. Recommend retrying, perhaps after a short delay and/or reducing memory consumption",
2833            ),
2834            Self::ERROR_SPACE_STORAGE_AT_CAPACITY_META => Some(
2835                "operation could not be completed until resources used are reduced or storage expanded",
2836            ),
2837            Self::ERROR_SPACE_INSUFFICIENT_VIEW_META => {
2838                Some("look around the environment more for space tracking to function")
2839            }
2840            Self::ERROR_SPACE_PERMISSION_INSUFFICIENT_META => Some(
2841                "space operation permission insufficient. Recommend confirming the status of the required permissions needed for using Space APIs",
2842            ),
2843            Self::ERROR_SPACE_RATE_LIMITED_META => Some(
2844                "operation cancelled due to rate limiting. Recommend retrying after a short delay",
2845            ),
2846            Self::ERROR_SPACE_TOO_DARK_META => {
2847                Some("environment too dark for tracking to complete operation")
2848            }
2849            Self::ERROR_SPACE_TOO_BRIGHT_META => {
2850                Some("environment too bright for tracking to complete operation")
2851            }
2852            Self::ERROR_PASSTHROUGH_COLOR_LUT_BUFFER_SIZE_MISMATCH_META => {
2853                Some("the provided data buffer did not match the required size")
2854            }
2855            Self::ENVIRONMENT_DEPTH_NOT_AVAILABLE_META => {
2856                Some("warning: The requested depth image is not yet available")
2857            }
2858            Self::ERROR_RENDER_MODEL_ID_INVALID_EXT => Some("the render model ID is invalid"),
2859            Self::ERROR_RENDER_MODEL_ASSET_UNAVAILABLE_EXT => {
2860                Some("the render model asset is unavailable")
2861            }
2862            Self::ERROR_RENDER_MODEL_GLTF_EXTENSION_REQUIRED_EXT => {
2863                Some("a glTF extension is required")
2864            }
2865            Self::ERROR_NOT_INTERACTION_RENDER_MODEL_EXT => Some(
2866                "the provided XrRenderModelEXT was not created from a XrRenderModelIdEXT from `<<XR_EXT_interaction_render_model>>`",
2867            ),
2868            Self::ERROR_HINT_ALREADY_SET_QCOM => {
2869                Some("tracking optimization hint is already set for the domain")
2870            }
2871            Self::ERROR_NOT_AN_ANCHOR_HTC => Some("the provided space is valid but not an anchor"),
2872            Self::ERROR_SPATIAL_ENTITY_ID_INVALID_BD => Some("the spatial entity id is invalid"),
2873            Self::ERROR_SPATIAL_SENSING_SERVICE_UNAVAILABLE_BD => {
2874                Some("the spatial sensing service is unavailable")
2875            }
2876            Self::ERROR_ANCHOR_NOT_SUPPORTED_FOR_ENTITY_BD => {
2877                Some("the spatial entity does not support anchor")
2878            }
2879            Self::ERROR_SPATIAL_ANCHOR_NOT_FOUND_BD => Some("the spatial anchor is not found"),
2880            Self::ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_TIMEOUT_BD => {
2881                Some("the network transmission timeout")
2882            }
2883            Self::ERROR_SPATIAL_ANCHOR_SHARING_AUTHENTICATION_FAILURE_BD => {
2884                Some("the authentication for the user account failed")
2885            }
2886            Self::ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_FAILURE_BD => Some(
2887                "the network connection failed, e.g. the connection is unstable or disconnected",
2888            ),
2889            Self::ERROR_SPATIAL_ANCHOR_SHARING_LOCALIZATION_FAIL_BD => {
2890                Some("the spatial anchor localization failed")
2891            }
2892            Self::ERROR_SPATIAL_ANCHOR_SHARING_MAP_INSUFFICIENT_BD => {
2893                Some("the feature points of spatial anchor map are insufficient")
2894            }
2895            Self::ERROR_SCENE_CAPTURE_FAILURE_BD => {
2896                Some("the scene capture is failed, for example exiting abnormally")
2897            }
2898            Self::ERROR_SPACE_NOT_LOCATABLE_EXT => {
2899                Some("the space passed to the function was not locatable")
2900            }
2901            Self::ERROR_PLANE_DETECTION_PERMISSION_DENIED_EXT => {
2902                Some("the permission for this resource was not granted")
2903            }
2904            Self::ERROR_MISMATCHING_TRACKABLE_TYPE_ANDROID => {
2905                Some("indicates that the parameters contains multiple trackable types")
2906            }
2907            Self::ERROR_TRACKABLE_TYPE_NOT_SUPPORTED_ANDROID => {
2908                Some("indicates that the function is not supported by the given trackable type")
2909            }
2910            Self::ERROR_ANCHOR_ID_NOT_FOUND_ANDROID => {
2911                Some("xrUuidExt passed to the function was not found to be a persisted anchor")
2912            }
2913            Self::ERROR_ANCHOR_ALREADY_PERSISTED_ANDROID => {
2914                Some("xrUuidExt passed to the function was already marked to be persisted")
2915            }
2916            Self::ERROR_ANCHOR_NOT_TRACKING_ANDROID => {
2917                Some("aNchor cannot be persisted because it is not tracking")
2918            }
2919            Self::ERROR_PERSISTED_DATA_NOT_READY_ANDROID => {
2920                Some("persisted data stored by this app has not been loaded yet")
2921            }
2922            Self::ERROR_SERVICE_NOT_READY_ANDROID => {
2923                Some("the underlying tracking service is not yet ready")
2924            }
2925            Self::ERROR_FUTURE_PENDING_EXT => {
2926                Some("returned by completion function to indicate future is not ready")
2927            }
2928            Self::ERROR_FUTURE_INVALID_EXT => {
2929                Some("returned by completion function to indicate future is not valid")
2930            }
2931            Self::ERROR_SYSTEM_NOTIFICATION_PERMISSION_DENIED_ML => {
2932                Some("the com.magicleap.permission.SYSTEM_NOTIFICATION permission was not granted")
2933            }
2934            Self::ERROR_SYSTEM_NOTIFICATION_INCOMPATIBLE_SKU_ML => {
2935                Some("incompatible SKU detected")
2936            }
2937            Self::ERROR_WORLD_MESH_DETECTOR_PERMISSION_DENIED_ML => {
2938                Some("the world mesh detector permission was not granted")
2939            }
2940            Self::ERROR_WORLD_MESH_DETECTOR_SPACE_NOT_LOCATABLE_ML => Some(
2941                "at the time of the call the runtime was unable to locate the space and cannot fulfill your request",
2942            ),
2943            Self::ERROR_FACIAL_EXPRESSION_PERMISSION_DENIED_ML => {
2944                Some("permission to track facial expressions was not granted")
2945            }
2946            Self::ERROR_COLOCATION_DISCOVERY_NETWORK_FAILED_META => {
2947                Some("the network request failed")
2948            }
2949            Self::ERROR_COLOCATION_DISCOVERY_NO_DISCOVERY_METHOD_META => {
2950                Some("the runtime does not have any methods available to perform discovery")
2951            }
2952            Self::COLOCATION_DISCOVERY_ALREADY_ADVERTISING_META => {
2953                Some("colocation advertisement has already been enabled")
2954            }
2955            Self::COLOCATION_DISCOVERY_ALREADY_DISCOVERING_META => {
2956                Some("colocation discovery has already been enabled")
2957            }
2958            Self::ERROR_SPACE_GROUP_NOT_FOUND_META => {
2959                Some("the group UUID was not found within the runtime")
2960            }
2961            Self::ERROR_ANCHOR_NOT_OWNED_BY_CALLER_ANDROID => Some(
2962                "operation not allowed because anchor is not owned by the XrSession in which the function is being called",
2963            ),
2964            Self::ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED_KHR => {
2965                Some("ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED_KHR")
2966            }
2967            Self::ERROR_PERMISSION_INSUFFICIENT_KHR => Some("ERROR_PERMISSION_INSUFFICIENT_KHR"),
2968            Self::ERROR_SPATIAL_CAPABILITY_UNSUPPORTED_EXT => Some(
2969                "the specified spatial capability is not supported by the runtime or the system",
2970            ),
2971            Self::ERROR_SPATIAL_ENTITY_ID_INVALID_EXT => Some(
2972                "the specified spatial entity id is invalid or an entity with that id does not exist in the environment",
2973            ),
2974            Self::ERROR_SPATIAL_BUFFER_ID_INVALID_EXT => Some(
2975                "the specified spatial buffer id is invalid or does not exist in the spatial snapshot being used to query for the buffer data",
2976            ),
2977            Self::ERROR_SPATIAL_COMPONENT_UNSUPPORTED_FOR_CAPABILITY_EXT => Some(
2978                "the specified spatial component is not supported by the runtime or the system for the given capability",
2979            ),
2980            Self::ERROR_SPATIAL_CAPABILITY_CONFIGURATION_INVALID_EXT => {
2981                Some("the specified spatial capability configuration is invalid")
2982            }
2983            Self::ERROR_SPATIAL_COMPONENT_NOT_ENABLED_EXT => {
2984                Some("the specified spatial component is not enabled for the spatial context")
2985            }
2986            Self::ERROR_SPATIAL_PERSISTENCE_SCOPE_UNSUPPORTED_EXT => Some(
2987                "the specified spatial persistence scope is not supported by the runtime or the system",
2988            ),
2989            Self::ERROR_SPATIAL_PERSISTENCE_SCOPE_INCOMPATIBLE_EXT => Some(
2990                "the scope configured for the persistence context is incompatible for the current spatial entity",
2991            ),
2992            _ => None,
2993        };
2994        if let Some(reason) = reason {
2995            fmt.pad(reason)
2996        } else {
2997            write!(fmt, "unknown error (code {})", self.0)
2998        }
2999    }
3000}
3001impl std::error::Error for Result {}
3002#[doc = "Enums to track objects of various types - see [XrObjectType](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrObjectType)"]
3003#[repr(transparent)]
3004#[derive(Copy, Clone, Eq, PartialEq, Default)]
3005pub struct ObjectType(i32);
3006impl ObjectType {
3007    pub const UNKNOWN: ObjectType = Self(0i32);
3008    #[doc = "XrInstance"]
3009    pub const INSTANCE: ObjectType = Self(1i32);
3010    #[doc = "XrSession"]
3011    pub const SESSION: ObjectType = Self(2i32);
3012    #[doc = "XrSwapchain"]
3013    pub const SWAPCHAIN: ObjectType = Self(3i32);
3014    #[doc = "XrSpace"]
3015    pub const SPACE: ObjectType = Self(4i32);
3016    #[doc = "XrActionSet"]
3017    pub const ACTION_SET: ObjectType = Self(5i32);
3018    #[doc = "XrAction"]
3019    pub const ACTION: ObjectType = Self(6i32);
3020    #[doc = "XrDebugUtilsMessengerEXT"]
3021    pub const DEBUG_UTILS_MESSENGER_EXT: ObjectType = Self(1000019000i32);
3022    #[doc = "XrSpatialAnchorMSFT"]
3023    pub const SPATIAL_ANCHOR_MSFT: ObjectType = Self(1000039000i32);
3024    #[doc = "XrSpatialGraphNodeBindingMSFT"]
3025    pub const SPATIAL_GRAPH_NODE_BINDING_MSFT: ObjectType = Self(1000049000i32);
3026    #[doc = "XrHandTrackerEXT"]
3027    pub const HAND_TRACKER_EXT: ObjectType = Self(1000051000i32);
3028    #[doc = "XrBodyTrackerFB"]
3029    pub const BODY_TRACKER_FB: ObjectType = Self(1000076000i32);
3030    #[doc = "XrSceneObserverMSFT"]
3031    pub const SCENE_OBSERVER_MSFT: ObjectType = Self(1000097000i32);
3032    #[doc = "XrSceneMSFT"]
3033    pub const SCENE_MSFT: ObjectType = Self(1000097001i32);
3034    #[doc = "XrFacialTrackerHTC"]
3035    pub const FACIAL_TRACKER_HTC: ObjectType = Self(1000104000i32);
3036    #[doc = "XrFoveationProfileFB"]
3037    pub const FOVEATION_PROFILE_FB: ObjectType = Self(1000114000i32);
3038    #[doc = "XrTriangleMeshFB"]
3039    pub const TRIANGLE_MESH_FB: ObjectType = Self(1000117000i32);
3040    #[doc = "XrPassthroughFB"]
3041    pub const PASSTHROUGH_FB: ObjectType = Self(1000118000i32);
3042    #[doc = "XrPassthroughLayerFB"]
3043    pub const PASSTHROUGH_LAYER_FB: ObjectType = Self(1000118002i32);
3044    #[doc = "XrGeometryInstanceFB"]
3045    pub const GEOMETRY_INSTANCE_FB: ObjectType = Self(1000118004i32);
3046    #[doc = "XrMarkerDetectorML"]
3047    pub const MARKER_DETECTOR_ML: ObjectType = Self(1000138000i32);
3048    #[doc = "XrExportedLocalizationMapML"]
3049    pub const EXPORTED_LOCALIZATION_MAP_ML: ObjectType = Self(1000139000i32);
3050    #[doc = "XrSpatialAnchorsStorageML"]
3051    pub const SPATIAL_ANCHORS_STORAGE_ML: ObjectType = Self(1000141000i32);
3052    #[doc = "XrSpatialAnchorStoreConnectionMSFT"]
3053    pub const SPATIAL_ANCHOR_STORE_CONNECTION_MSFT: ObjectType = Self(1000142000i32);
3054    #[doc = "XrFaceTrackerFB"]
3055    pub const FACE_TRACKER_FB: ObjectType = Self(1000201000i32);
3056    #[doc = "XrEyeTrackerFB"]
3057    pub const EYE_TRACKER_FB: ObjectType = Self(1000202000i32);
3058    #[doc = "XrVirtualKeyboardMETA"]
3059    pub const VIRTUAL_KEYBOARD_META: ObjectType = Self(1000219000i32);
3060    #[doc = "XrSpaceUserFB"]
3061    pub const SPACE_USER_FB: ObjectType = Self(1000241000i32);
3062    #[doc = "XrPassthroughColorLutMETA"]
3063    pub const PASSTHROUGH_COLOR_LUT_META: ObjectType = Self(1000266000i32);
3064    #[doc = "XrFaceTracker2FB"]
3065    pub const FACE_TRACKER2_FB: ObjectType = Self(1000287012i32);
3066    #[doc = "XrEnvironmentDepthProviderMETA"]
3067    pub const ENVIRONMENT_DEPTH_PROVIDER_META: ObjectType = Self(1000291000i32);
3068    #[doc = "XrEnvironmentDepthSwapchainMETA"]
3069    pub const ENVIRONMENT_DEPTH_SWAPCHAIN_META: ObjectType = Self(1000291001i32);
3070    #[doc = "XrRenderModelEXT"]
3071    pub const RENDER_MODEL_EXT: ObjectType = Self(1000300000i32);
3072    #[doc = "XrRenderModelAssetEXT"]
3073    pub const RENDER_MODEL_ASSET_EXT: ObjectType = Self(1000300001i32);
3074    #[doc = "XrPassthroughHTC"]
3075    pub const PASSTHROUGH_HTC: ObjectType = Self(1000317000i32);
3076    #[doc = "XrBodyTrackerHTC"]
3077    pub const BODY_TRACKER_HTC: ObjectType = Self(1000320000i32);
3078    #[doc = "XrBodyTrackerBD"]
3079    pub const BODY_TRACKER_BD: ObjectType = Self(1000385000i32);
3080    #[doc = "XrFaceTrackerBD"]
3081    pub const FACE_TRACKER_BD: ObjectType = Self(1000386000i32);
3082    #[doc = "XrSenseDataProviderBD"]
3083    pub const SENSE_DATA_PROVIDER_BD: ObjectType = Self(1000389000i32);
3084    #[doc = "XrSenseDataSnapshotBD"]
3085    pub const SENSE_DATA_SNAPSHOT_BD: ObjectType = Self(1000389001i32);
3086    #[doc = "XrAnchorBD"]
3087    pub const ANCHOR_BD: ObjectType = Self(1000389002i32);
3088    #[doc = "XrPlaneDetectorEXT"]
3089    pub const PLANE_DETECTOR_EXT: ObjectType = Self(1000429000i32);
3090    #[doc = "XrTrackableTrackerANDROID"]
3091    pub const TRACKABLE_TRACKER_ANDROID: ObjectType = Self(1000455001i32);
3092    #[doc = "XrDeviceAnchorPersistenceANDROID"]
3093    pub const DEVICE_ANCHOR_PERSISTENCE_ANDROID: ObjectType = Self(1000457000i32);
3094    #[doc = "XrFaceTrackerANDROID"]
3095    pub const FACE_TRACKER_ANDROID: ObjectType = Self(1000458000i32);
3096    #[doc = "XrWorldMeshDetectorML"]
3097    pub const WORLD_MESH_DETECTOR_ML: ObjectType = Self(1000474000i32);
3098    #[doc = "XrFacialExpressionClientML"]
3099    pub const FACIAL_EXPRESSION_CLIENT_ML: ObjectType = Self(1000482000i32);
3100    #[doc = "XrSpatialEntityEXT"]
3101    pub const SPATIAL_ENTITY_EXT: ObjectType = Self(1000740000i32);
3102    #[doc = "XrSpatialContextEXT"]
3103    pub const SPATIAL_CONTEXT_EXT: ObjectType = Self(1000740001i32);
3104    #[doc = "XrSpatialSnapshotEXT"]
3105    pub const SPATIAL_SNAPSHOT_EXT: ObjectType = Self(1000740002i32);
3106    #[doc = "XrSpatialPersistenceContextEXT"]
3107    pub const SPATIAL_PERSISTENCE_CONTEXT_EXT: ObjectType = Self(1000763000i32);
3108    pub fn from_raw(x: i32) -> Self {
3109        Self(x)
3110    }
3111    pub fn into_raw(self) -> i32 {
3112        self.0
3113    }
3114}
3115impl fmt::Debug for ObjectType {
3116    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3117        let name = match *self {
3118            Self::UNKNOWN => Some("UNKNOWN"),
3119            Self::INSTANCE => Some("INSTANCE"),
3120            Self::SESSION => Some("SESSION"),
3121            Self::SWAPCHAIN => Some("SWAPCHAIN"),
3122            Self::SPACE => Some("SPACE"),
3123            Self::ACTION_SET => Some("ACTION_SET"),
3124            Self::ACTION => Some("ACTION"),
3125            Self::DEBUG_UTILS_MESSENGER_EXT => Some("DEBUG_UTILS_MESSENGER_EXT"),
3126            Self::SPATIAL_ANCHOR_MSFT => Some("SPATIAL_ANCHOR_MSFT"),
3127            Self::SPATIAL_GRAPH_NODE_BINDING_MSFT => Some("SPATIAL_GRAPH_NODE_BINDING_MSFT"),
3128            Self::HAND_TRACKER_EXT => Some("HAND_TRACKER_EXT"),
3129            Self::BODY_TRACKER_FB => Some("BODY_TRACKER_FB"),
3130            Self::SCENE_OBSERVER_MSFT => Some("SCENE_OBSERVER_MSFT"),
3131            Self::SCENE_MSFT => Some("SCENE_MSFT"),
3132            Self::FACIAL_TRACKER_HTC => Some("FACIAL_TRACKER_HTC"),
3133            Self::FOVEATION_PROFILE_FB => Some("FOVEATION_PROFILE_FB"),
3134            Self::TRIANGLE_MESH_FB => Some("TRIANGLE_MESH_FB"),
3135            Self::PASSTHROUGH_FB => Some("PASSTHROUGH_FB"),
3136            Self::PASSTHROUGH_LAYER_FB => Some("PASSTHROUGH_LAYER_FB"),
3137            Self::GEOMETRY_INSTANCE_FB => Some("GEOMETRY_INSTANCE_FB"),
3138            Self::MARKER_DETECTOR_ML => Some("MARKER_DETECTOR_ML"),
3139            Self::EXPORTED_LOCALIZATION_MAP_ML => Some("EXPORTED_LOCALIZATION_MAP_ML"),
3140            Self::SPATIAL_ANCHORS_STORAGE_ML => Some("SPATIAL_ANCHORS_STORAGE_ML"),
3141            Self::SPATIAL_ANCHOR_STORE_CONNECTION_MSFT => {
3142                Some("SPATIAL_ANCHOR_STORE_CONNECTION_MSFT")
3143            }
3144            Self::FACE_TRACKER_FB => Some("FACE_TRACKER_FB"),
3145            Self::EYE_TRACKER_FB => Some("EYE_TRACKER_FB"),
3146            Self::VIRTUAL_KEYBOARD_META => Some("VIRTUAL_KEYBOARD_META"),
3147            Self::SPACE_USER_FB => Some("SPACE_USER_FB"),
3148            Self::PASSTHROUGH_COLOR_LUT_META => Some("PASSTHROUGH_COLOR_LUT_META"),
3149            Self::FACE_TRACKER2_FB => Some("FACE_TRACKER2_FB"),
3150            Self::ENVIRONMENT_DEPTH_PROVIDER_META => Some("ENVIRONMENT_DEPTH_PROVIDER_META"),
3151            Self::ENVIRONMENT_DEPTH_SWAPCHAIN_META => Some("ENVIRONMENT_DEPTH_SWAPCHAIN_META"),
3152            Self::RENDER_MODEL_EXT => Some("RENDER_MODEL_EXT"),
3153            Self::RENDER_MODEL_ASSET_EXT => Some("RENDER_MODEL_ASSET_EXT"),
3154            Self::PASSTHROUGH_HTC => Some("PASSTHROUGH_HTC"),
3155            Self::BODY_TRACKER_HTC => Some("BODY_TRACKER_HTC"),
3156            Self::BODY_TRACKER_BD => Some("BODY_TRACKER_BD"),
3157            Self::FACE_TRACKER_BD => Some("FACE_TRACKER_BD"),
3158            Self::SENSE_DATA_PROVIDER_BD => Some("SENSE_DATA_PROVIDER_BD"),
3159            Self::SENSE_DATA_SNAPSHOT_BD => Some("SENSE_DATA_SNAPSHOT_BD"),
3160            Self::ANCHOR_BD => Some("ANCHOR_BD"),
3161            Self::PLANE_DETECTOR_EXT => Some("PLANE_DETECTOR_EXT"),
3162            Self::TRACKABLE_TRACKER_ANDROID => Some("TRACKABLE_TRACKER_ANDROID"),
3163            Self::DEVICE_ANCHOR_PERSISTENCE_ANDROID => Some("DEVICE_ANCHOR_PERSISTENCE_ANDROID"),
3164            Self::FACE_TRACKER_ANDROID => Some("FACE_TRACKER_ANDROID"),
3165            Self::WORLD_MESH_DETECTOR_ML => Some("WORLD_MESH_DETECTOR_ML"),
3166            Self::FACIAL_EXPRESSION_CLIENT_ML => Some("FACIAL_EXPRESSION_CLIENT_ML"),
3167            Self::SPATIAL_ENTITY_EXT => Some("SPATIAL_ENTITY_EXT"),
3168            Self::SPATIAL_CONTEXT_EXT => Some("SPATIAL_CONTEXT_EXT"),
3169            Self::SPATIAL_SNAPSHOT_EXT => Some("SPATIAL_SNAPSHOT_EXT"),
3170            Self::SPATIAL_PERSISTENCE_CONTEXT_EXT => Some("SPATIAL_PERSISTENCE_CONTEXT_EXT"),
3171            _ => None,
3172        };
3173        fmt_enum(fmt, self.0, name)
3174    }
3175}
3176#[doc = "Android Thread Types - see [XrAndroidThreadTypeKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAndroidThreadTypeKHR)"]
3177#[repr(transparent)]
3178#[derive(Copy, Clone, Eq, PartialEq)]
3179pub struct AndroidThreadTypeKHR(i32);
3180impl AndroidThreadTypeKHR {
3181    pub const APPLICATION_MAIN: AndroidThreadTypeKHR = Self(1i32);
3182    pub const APPLICATION_WORKER: AndroidThreadTypeKHR = Self(2i32);
3183    pub const RENDERER_MAIN: AndroidThreadTypeKHR = Self(3i32);
3184    pub const RENDERER_WORKER: AndroidThreadTypeKHR = Self(4i32);
3185    pub fn from_raw(x: i32) -> Self {
3186        Self(x)
3187    }
3188    pub fn into_raw(self) -> i32 {
3189        self.0
3190    }
3191}
3192impl fmt::Debug for AndroidThreadTypeKHR {
3193    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3194        let name = match *self {
3195            Self::APPLICATION_MAIN => Some("APPLICATION_MAIN"),
3196            Self::APPLICATION_WORKER => Some("APPLICATION_WORKER"),
3197            Self::RENDERER_MAIN => Some("RENDERER_MAIN"),
3198            Self::RENDERER_WORKER => Some("RENDERER_WORKER"),
3199            _ => None,
3200        };
3201        fmt_enum(fmt, self.0, name)
3202    }
3203}
3204#[doc = "eye visibility selector - see [XrEyeVisibility](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeVisibility)"]
3205#[repr(transparent)]
3206#[derive(Copy, Clone, Eq, PartialEq, Default)]
3207pub struct EyeVisibility(i32);
3208impl EyeVisibility {
3209    #[doc = "Display in both eyes."]
3210    pub const BOTH: EyeVisibility = Self(0i32);
3211    #[doc = "Display in the left eye only."]
3212    pub const LEFT: EyeVisibility = Self(1i32);
3213    #[doc = "Display in the right eye only."]
3214    pub const RIGHT: EyeVisibility = Self(2i32);
3215    pub fn from_raw(x: i32) -> Self {
3216        Self(x)
3217    }
3218    pub fn into_raw(self) -> i32 {
3219        self.0
3220    }
3221}
3222impl fmt::Debug for EyeVisibility {
3223    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3224        let name = match *self {
3225            Self::BOTH => Some("BOTH"),
3226            Self::LEFT => Some("LEFT"),
3227            Self::RIGHT => Some("RIGHT"),
3228            _ => None,
3229        };
3230        fmt_enum(fmt, self.0, name)
3231    }
3232}
3233#[doc = "See [XrActionType](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionType)"]
3234#[repr(transparent)]
3235#[derive(Copy, Clone, Eq, PartialEq)]
3236pub struct ActionType(i32);
3237impl ActionType {
3238    pub const BOOLEAN_INPUT: ActionType = Self(1i32);
3239    pub const FLOAT_INPUT: ActionType = Self(2i32);
3240    pub const VECTOR2F_INPUT: ActionType = Self(3i32);
3241    pub const POSE_INPUT: ActionType = Self(4i32);
3242    pub const VIBRATION_OUTPUT: ActionType = Self(100i32);
3243    pub fn from_raw(x: i32) -> Self {
3244        Self(x)
3245    }
3246    pub fn into_raw(self) -> i32 {
3247        self.0
3248    }
3249}
3250impl fmt::Debug for ActionType {
3251    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3252        let name = match *self {
3253            Self::BOOLEAN_INPUT => Some("BOOLEAN_INPUT"),
3254            Self::FLOAT_INPUT => Some("FLOAT_INPUT"),
3255            Self::VECTOR2F_INPUT => Some("VECTOR2F_INPUT"),
3256            Self::POSE_INPUT => Some("POSE_INPUT"),
3257            Self::VIBRATION_OUTPUT => Some("VIBRATION_OUTPUT"),
3258            _ => None,
3259        };
3260        fmt_enum(fmt, self.0, name)
3261    }
3262}
3263#[doc = "See [XrReferenceSpaceType](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrReferenceSpaceType)"]
3264#[repr(transparent)]
3265#[derive(Copy, Clone, Eq, PartialEq)]
3266pub struct ReferenceSpaceType(i32);
3267impl ReferenceSpaceType {
3268    pub const VIEW: ReferenceSpaceType = Self(1i32);
3269    pub const LOCAL: ReferenceSpaceType = Self(2i32);
3270    pub const STAGE: ReferenceSpaceType = Self(3i32);
3271    pub const LOCAL_FLOOR: ReferenceSpaceType = Self(1000426000i32);
3272    pub const UNBOUNDED_MSFT: ReferenceSpaceType = Self(1000038000i32);
3273    pub const COMBINED_EYE_VARJO: ReferenceSpaceType = Self(1000121000i32);
3274    pub const LOCALIZATION_MAP_ML: ReferenceSpaceType = Self(1000139000i32);
3275    pub const LOCAL_FLOOR_EXT: ReferenceSpaceType = Self::LOCAL_FLOOR;
3276    pub fn from_raw(x: i32) -> Self {
3277        Self(x)
3278    }
3279    pub fn into_raw(self) -> i32 {
3280        self.0
3281    }
3282}
3283impl fmt::Debug for ReferenceSpaceType {
3284    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3285        let name = match *self {
3286            Self::VIEW => Some("VIEW"),
3287            Self::LOCAL => Some("LOCAL"),
3288            Self::STAGE => Some("STAGE"),
3289            Self::LOCAL_FLOOR => Some("LOCAL_FLOOR"),
3290            Self::UNBOUNDED_MSFT => Some("UNBOUNDED_MSFT"),
3291            Self::COMBINED_EYE_VARJO => Some("COMBINED_EYE_VARJO"),
3292            Self::LOCALIZATION_MAP_ML => Some("LOCALIZATION_MAP_ML"),
3293            _ => None,
3294        };
3295        fmt_enum(fmt, self.0, name)
3296    }
3297}
3298#[doc = "See [XrFormFactor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFormFactor)"]
3299#[repr(transparent)]
3300#[derive(Copy, Clone, Eq, PartialEq)]
3301pub struct FormFactor(i32);
3302impl FormFactor {
3303    pub const HEAD_MOUNTED_DISPLAY: FormFactor = Self(1i32);
3304    pub const HANDHELD_DISPLAY: FormFactor = Self(2i32);
3305    pub fn from_raw(x: i32) -> Self {
3306        Self(x)
3307    }
3308    pub fn into_raw(self) -> i32 {
3309        self.0
3310    }
3311}
3312impl fmt::Debug for FormFactor {
3313    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3314        let name = match *self {
3315            Self::HEAD_MOUNTED_DISPLAY => Some("HEAD_MOUNTED_DISPLAY"),
3316            Self::HANDHELD_DISPLAY => Some("HANDHELD_DISPLAY"),
3317            _ => None,
3318        };
3319        fmt_enum(fmt, self.0, name)
3320    }
3321}
3322#[doc = "See [XrViewConfigurationType](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewConfigurationType)"]
3323#[repr(transparent)]
3324#[derive(Copy, Clone, Eq, PartialEq)]
3325pub struct ViewConfigurationType(i32);
3326impl ViewConfigurationType {
3327    pub const PRIMARY_MONO: ViewConfigurationType = Self(1i32);
3328    pub const PRIMARY_STEREO: ViewConfigurationType = Self(2i32);
3329    pub const PRIMARY_STEREO_WITH_FOVEATED_INSET: ViewConfigurationType = Self(1000037000i32);
3330    pub const PRIMARY_QUAD_VARJO: ViewConfigurationType = Self::PRIMARY_STEREO_WITH_FOVEATED_INSET;
3331    pub const SECONDARY_MONO_FIRST_PERSON_OBSERVER_MSFT: ViewConfigurationType =
3332        Self(1000054000i32);
3333    pub fn from_raw(x: i32) -> Self {
3334        Self(x)
3335    }
3336    pub fn into_raw(self) -> i32 {
3337        self.0
3338    }
3339}
3340impl fmt::Debug for ViewConfigurationType {
3341    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3342        let name = match *self {
3343            Self::PRIMARY_MONO => Some("PRIMARY_MONO"),
3344            Self::PRIMARY_STEREO => Some("PRIMARY_STEREO"),
3345            Self::PRIMARY_STEREO_WITH_FOVEATED_INSET => Some("PRIMARY_STEREO_WITH_FOVEATED_INSET"),
3346            Self::SECONDARY_MONO_FIRST_PERSON_OBSERVER_MSFT => {
3347                Some("SECONDARY_MONO_FIRST_PERSON_OBSERVER_MSFT")
3348            }
3349            _ => None,
3350        };
3351        fmt_enum(fmt, self.0, name)
3352    }
3353}
3354#[doc = "See [XrEnvironmentBlendMode](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentBlendMode)"]
3355#[repr(transparent)]
3356#[derive(Copy, Clone, Eq, PartialEq)]
3357pub struct EnvironmentBlendMode(i32);
3358impl EnvironmentBlendMode {
3359    pub const OPAQUE: EnvironmentBlendMode = Self(1i32);
3360    pub const ADDITIVE: EnvironmentBlendMode = Self(2i32);
3361    pub const ALPHA_BLEND: EnvironmentBlendMode = Self(3i32);
3362    pub fn from_raw(x: i32) -> Self {
3363        Self(x)
3364    }
3365    pub fn into_raw(self) -> i32 {
3366        self.0
3367    }
3368}
3369impl fmt::Debug for EnvironmentBlendMode {
3370    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3371        let name = match *self {
3372            Self::OPAQUE => Some("OPAQUE"),
3373            Self::ADDITIVE => Some("ADDITIVE"),
3374            Self::ALPHA_BLEND => Some("ALPHA_BLEND"),
3375            _ => None,
3376        };
3377        fmt_enum(fmt, self.0, name)
3378    }
3379}
3380#[doc = "See [XrSessionState](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSessionState)"]
3381#[repr(transparent)]
3382#[derive(Copy, Clone, Eq, PartialEq, Default)]
3383pub struct SessionState(i32);
3384impl SessionState {
3385    pub const UNKNOWN: SessionState = Self(0i32);
3386    pub const IDLE: SessionState = Self(1i32);
3387    pub const READY: SessionState = Self(2i32);
3388    pub const SYNCHRONIZED: SessionState = Self(3i32);
3389    pub const VISIBLE: SessionState = Self(4i32);
3390    pub const FOCUSED: SessionState = Self(5i32);
3391    pub const STOPPING: SessionState = Self(6i32);
3392    pub const LOSS_PENDING: SessionState = Self(7i32);
3393    pub const EXITING: SessionState = Self(8i32);
3394    pub fn from_raw(x: i32) -> Self {
3395        Self(x)
3396    }
3397    pub fn into_raw(self) -> i32 {
3398        self.0
3399    }
3400}
3401impl fmt::Debug for SessionState {
3402    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3403        let name = match *self {
3404            Self::UNKNOWN => Some("UNKNOWN"),
3405            Self::IDLE => Some("IDLE"),
3406            Self::READY => Some("READY"),
3407            Self::SYNCHRONIZED => Some("SYNCHRONIZED"),
3408            Self::VISIBLE => Some("VISIBLE"),
3409            Self::FOCUSED => Some("FOCUSED"),
3410            Self::STOPPING => Some("STOPPING"),
3411            Self::LOSS_PENDING => Some("LOSS_PENDING"),
3412            Self::EXITING => Some("EXITING"),
3413            _ => None,
3414        };
3415        fmt_enum(fmt, self.0, name)
3416    }
3417}
3418#[doc = "See [XrPerfSettingsDomainEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerfSettingsDomainEXT)"]
3419#[repr(transparent)]
3420#[derive(Copy, Clone, Eq, PartialEq)]
3421pub struct PerfSettingsDomainEXT(i32);
3422impl PerfSettingsDomainEXT {
3423    #[doc = "Indicates that the performance settings or notification applies to CPU domain"]
3424    pub const CPU: PerfSettingsDomainEXT = Self(1i32);
3425    #[doc = "Indicates that the performance settings or notification applies to GPU domain"]
3426    pub const GPU: PerfSettingsDomainEXT = Self(2i32);
3427    pub fn from_raw(x: i32) -> Self {
3428        Self(x)
3429    }
3430    pub fn into_raw(self) -> i32 {
3431        self.0
3432    }
3433}
3434impl fmt::Debug for PerfSettingsDomainEXT {
3435    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3436        let name = match *self {
3437            Self::CPU => Some("CPU"),
3438            Self::GPU => Some("GPU"),
3439            _ => None,
3440        };
3441        fmt_enum(fmt, self.0, name)
3442    }
3443}
3444#[doc = "See [XrPerfSettingsSubDomainEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerfSettingsSubDomainEXT)"]
3445#[repr(transparent)]
3446#[derive(Copy, Clone, Eq, PartialEq)]
3447pub struct PerfSettingsSubDomainEXT(i32);
3448impl PerfSettingsSubDomainEXT {
3449    #[doc = "Indicates that the performance notification originates from the COMPOSITING sub-domain"]
3450    pub const COMPOSITING: PerfSettingsSubDomainEXT = Self(1i32);
3451    #[doc = "Indicates that the performance notification originates from the RENDERING sub-domain"]
3452    pub const RENDERING: PerfSettingsSubDomainEXT = Self(2i32);
3453    #[doc = "Indicates that the performance notification originates from the THERMAL sub-domain"]
3454    pub const THERMAL: PerfSettingsSubDomainEXT = Self(3i32);
3455    pub fn from_raw(x: i32) -> Self {
3456        Self(x)
3457    }
3458    pub fn into_raw(self) -> i32 {
3459        self.0
3460    }
3461}
3462impl fmt::Debug for PerfSettingsSubDomainEXT {
3463    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3464        let name = match *self {
3465            Self::COMPOSITING => Some("COMPOSITING"),
3466            Self::RENDERING => Some("RENDERING"),
3467            Self::THERMAL => Some("THERMAL"),
3468            _ => None,
3469        };
3470        fmt_enum(fmt, self.0, name)
3471    }
3472}
3473#[doc = "See [XrPerfSettingsLevelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerfSettingsLevelEXT)"]
3474#[repr(transparent)]
3475#[derive(Copy, Clone, Eq, PartialEq, Default)]
3476pub struct PerfSettingsLevelEXT(i32);
3477impl PerfSettingsLevelEXT {
3478    #[doc = "Performance settings hint used by the application to indicate that it enters a non-XR section (head-locked / static screen), during which power savings are to be prioritized"]
3479    pub const POWER_SAVINGS: PerfSettingsLevelEXT = Self(0i32);
3480    #[doc = "Performance settings hint used by the application to indicate that it enters a low and stable complexity section, during which reducing power is more important than occasional late rendering frames"]
3481    pub const SUSTAINED_LOW: PerfSettingsLevelEXT = Self(25i32);
3482    #[doc = "Performance settings hint used by the application to indicate that it enters a high or dynamic complexity section, during which the XR Runtime strives for consistent XR compositing and frame rendering within a thermally sustainable range"]
3483    pub const SUSTAINED_HIGH: PerfSettingsLevelEXT = Self(50i32);
3484    #[doc = "Performance settings hint used by the application to indicate that the application enters a section with very high complexity, during which the XR Runtime is allowed to step up beyond the thermally sustainable range"]
3485    pub const BOOST: PerfSettingsLevelEXT = Self(75i32);
3486    pub fn from_raw(x: i32) -> Self {
3487        Self(x)
3488    }
3489    pub fn into_raw(self) -> i32 {
3490        self.0
3491    }
3492}
3493impl fmt::Debug for PerfSettingsLevelEXT {
3494    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3495        let name = match *self {
3496            Self::POWER_SAVINGS => Some("POWER_SAVINGS"),
3497            Self::SUSTAINED_LOW => Some("SUSTAINED_LOW"),
3498            Self::SUSTAINED_HIGH => Some("SUSTAINED_HIGH"),
3499            Self::BOOST => Some("BOOST"),
3500            _ => None,
3501        };
3502        fmt_enum(fmt, self.0, name)
3503    }
3504}
3505#[doc = "See [XrPerfSettingsNotificationLevelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerfSettingsNotificationLevelEXT)"]
3506#[repr(transparent)]
3507#[derive(Copy, Clone, Eq, PartialEq, Default)]
3508pub struct PerfSettingsNotificationLevelEXT(i32);
3509impl PerfSettingsNotificationLevelEXT {
3510    #[doc = "Notifies that the sub-domain has reached a level where no further actions other than currently applied are necessary"]
3511    pub const NORMAL: PerfSettingsNotificationLevelEXT = Self(0i32);
3512    #[doc = "Notifies that the sub-domain has reached an early warning level where the application should start proactive mitigation actions with the goal to return to the XR_PERF_NOTIF_LEVEL_NORMAL level"]
3513    pub const WARNING: PerfSettingsNotificationLevelEXT = Self(25i32);
3514    #[doc = "Notifies that the sub-domain has reached a critical level with significant performance degradation. The application should take drastic mitigation action"]
3515    pub const IMPAIRED: PerfSettingsNotificationLevelEXT = Self(75i32);
3516    pub fn from_raw(x: i32) -> Self {
3517        Self(x)
3518    }
3519    pub fn into_raw(self) -> i32 {
3520        self.0
3521    }
3522}
3523impl fmt::Debug for PerfSettingsNotificationLevelEXT {
3524    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3525        let name = match *self {
3526            Self::NORMAL => Some("NORMAL"),
3527            Self::WARNING => Some("WARNING"),
3528            Self::IMPAIRED => Some("IMPAIRED"),
3529            _ => None,
3530        };
3531        fmt_enum(fmt, self.0, name)
3532    }
3533}
3534#[doc = "See [XrVisibilityMaskTypeKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVisibilityMaskTypeKHR)"]
3535#[repr(transparent)]
3536#[derive(Copy, Clone, Eq, PartialEq)]
3537pub struct VisibilityMaskTypeKHR(i32);
3538impl VisibilityMaskTypeKHR {
3539    #[doc = "exclusive mesh; indicates that which the viewer cannot see."]
3540    pub const HIDDEN_TRIANGLE_MESH: VisibilityMaskTypeKHR = Self(1i32);
3541    #[doc = "inclusive mesh; indicates strictly that which the viewer can see."]
3542    pub const VISIBLE_TRIANGLE_MESH: VisibilityMaskTypeKHR = Self(2i32);
3543    #[doc = "line loop; traces the outline of the area the viewer can see."]
3544    pub const LINE_LOOP: VisibilityMaskTypeKHR = Self(3i32);
3545    pub fn from_raw(x: i32) -> Self {
3546        Self(x)
3547    }
3548    pub fn into_raw(self) -> i32 {
3549        self.0
3550    }
3551}
3552impl fmt::Debug for VisibilityMaskTypeKHR {
3553    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3554        let name = match *self {
3555            Self::HIDDEN_TRIANGLE_MESH => Some("HIDDEN_TRIANGLE_MESH"),
3556            Self::VISIBLE_TRIANGLE_MESH => Some("VISIBLE_TRIANGLE_MESH"),
3557            Self::LINE_LOOP => Some("LINE_LOOP"),
3558            _ => None,
3559        };
3560        fmt_enum(fmt, self.0, name)
3561    }
3562}
3563#[doc = "See [XrSpatialGraphNodeTypeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialGraphNodeTypeMSFT)"]
3564#[repr(transparent)]
3565#[derive(Copy, Clone, Eq, PartialEq)]
3566pub struct SpatialGraphNodeTypeMSFT(i32);
3567impl SpatialGraphNodeTypeMSFT {
3568    pub const STATIC: SpatialGraphNodeTypeMSFT = Self(1i32);
3569    pub const DYNAMIC: SpatialGraphNodeTypeMSFT = Self(2i32);
3570    pub fn from_raw(x: i32) -> Self {
3571        Self(x)
3572    }
3573    pub fn into_raw(self) -> i32 {
3574        self.0
3575    }
3576}
3577impl fmt::Debug for SpatialGraphNodeTypeMSFT {
3578    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3579        let name = match *self {
3580            Self::STATIC => Some("STATIC"),
3581            Self::DYNAMIC => Some("DYNAMIC"),
3582            _ => None,
3583        };
3584        fmt_enum(fmt, self.0, name)
3585    }
3586}
3587#[doc = "See [XrBlendFactorFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBlendFactorFB)"]
3588#[repr(transparent)]
3589#[derive(Copy, Clone, Eq, PartialEq, Default)]
3590pub struct BlendFactorFB(i32);
3591impl BlendFactorFB {
3592    pub const ZERO: BlendFactorFB = Self(0i32);
3593    pub const ONE: BlendFactorFB = Self(1i32);
3594    pub const SRC_ALPHA: BlendFactorFB = Self(2i32);
3595    pub const ONE_MINUS_SRC_ALPHA: BlendFactorFB = Self(3i32);
3596    pub const DST_ALPHA: BlendFactorFB = Self(4i32);
3597    pub const ONE_MINUS_DST_ALPHA: BlendFactorFB = Self(5i32);
3598    pub fn from_raw(x: i32) -> Self {
3599        Self(x)
3600    }
3601    pub fn into_raw(self) -> i32 {
3602        self.0
3603    }
3604}
3605impl fmt::Debug for BlendFactorFB {
3606    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3607        let name = match *self {
3608            Self::ZERO => Some("ZERO"),
3609            Self::ONE => Some("ONE"),
3610            Self::SRC_ALPHA => Some("SRC_ALPHA"),
3611            Self::ONE_MINUS_SRC_ALPHA => Some("ONE_MINUS_SRC_ALPHA"),
3612            Self::DST_ALPHA => Some("DST_ALPHA"),
3613            Self::ONE_MINUS_DST_ALPHA => Some("ONE_MINUS_DST_ALPHA"),
3614            _ => None,
3615        };
3616        fmt_enum(fmt, self.0, name)
3617    }
3618}
3619#[doc = "See [XrSpaceComponentTypeFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceComponentTypeFB)"]
3620#[repr(transparent)]
3621#[derive(Copy, Clone, Eq, PartialEq, Default)]
3622pub struct SpaceComponentTypeFB(i32);
3623impl SpaceComponentTypeFB {
3624    #[doc = "Enables tracking the 6 DOF pose of the XrSpace with xrLocateSpace."]
3625    pub const LOCATABLE: SpaceComponentTypeFB = Self(0i32);
3626    #[doc = "Enables persistence operations: save and erase."]
3627    pub const STORABLE: SpaceComponentTypeFB = Self(1i32);
3628    #[doc = "Enables sharing of spatial entities."]
3629    pub const SHARABLE: SpaceComponentTypeFB = Self(2i32);
3630    #[doc = "Bounded 2D component."]
3631    pub const BOUNDED_2D: SpaceComponentTypeFB = Self(3i32);
3632    #[doc = "Bounded 3D component."]
3633    pub const BOUNDED_3D: SpaceComponentTypeFB = Self(4i32);
3634    #[doc = "Semantic labels component."]
3635    pub const SEMANTIC_LABELS: SpaceComponentTypeFB = Self(5i32);
3636    #[doc = "Room layout component."]
3637    pub const ROOM_LAYOUT: SpaceComponentTypeFB = Self(6i32);
3638    #[doc = "Space container component."]
3639    pub const SPACE_CONTAINER: SpaceComponentTypeFB = Self(7i32);
3640    #[doc = "Triangle mesh component."]
3641    pub const TRIANGLE_MESH_M: SpaceComponentTypeFB = Self(1000269000i32);
3642    pub fn from_raw(x: i32) -> Self {
3643        Self(x)
3644    }
3645    pub fn into_raw(self) -> i32 {
3646        self.0
3647    }
3648}
3649impl fmt::Debug for SpaceComponentTypeFB {
3650    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3651        let name = match *self {
3652            Self::LOCATABLE => Some("LOCATABLE"),
3653            Self::STORABLE => Some("STORABLE"),
3654            Self::SHARABLE => Some("SHARABLE"),
3655            Self::BOUNDED_2D => Some("BOUNDED_2D"),
3656            Self::BOUNDED_3D => Some("BOUNDED_3D"),
3657            Self::SEMANTIC_LABELS => Some("SEMANTIC_LABELS"),
3658            Self::ROOM_LAYOUT => Some("ROOM_LAYOUT"),
3659            Self::SPACE_CONTAINER => Some("SPACE_CONTAINER"),
3660            Self::TRIANGLE_MESH_M => Some("TRIANGLE_MESH_M"),
3661            _ => None,
3662        };
3663        fmt_enum(fmt, self.0, name)
3664    }
3665}
3666#[doc = "See [XrWindingOrderFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWindingOrderFB)"]
3667#[repr(transparent)]
3668#[derive(Copy, Clone, Eq, PartialEq, Default)]
3669pub struct WindingOrderFB(i32);
3670impl WindingOrderFB {
3671    #[doc = "Winding order is unknown and the runtime cannot make any assumptions on the triangle orientation"]
3672    pub const UNKNOWN: WindingOrderFB = Self(0i32);
3673    #[doc = "Clockwise winding order"]
3674    pub const CW: WindingOrderFB = Self(1i32);
3675    #[doc = "Counter-clockwise winding order"]
3676    pub const CCW: WindingOrderFB = Self(2i32);
3677    pub fn from_raw(x: i32) -> Self {
3678        Self(x)
3679    }
3680    pub fn into_raw(self) -> i32 {
3681        self.0
3682    }
3683}
3684impl fmt::Debug for WindingOrderFB {
3685    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3686        let name = match *self {
3687            Self::UNKNOWN => Some("UNKNOWN"),
3688            Self::CW => Some("CW"),
3689            Self::CCW => Some("CCW"),
3690            _ => None,
3691        };
3692        fmt_enum(fmt, self.0, name)
3693    }
3694}
3695#[doc = "See [XrPassthroughLayerPurposeFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughLayerPurposeFB)"]
3696#[repr(transparent)]
3697#[derive(Copy, Clone, Eq, PartialEq, Default)]
3698pub struct PassthroughLayerPurposeFB(i32);
3699impl PassthroughLayerPurposeFB {
3700    #[doc = "Reconstruction passthrough (full screen environment)"]
3701    pub const RECONSTRUCTION: PassthroughLayerPurposeFB = Self(0i32);
3702    #[doc = "Projected passthrough (using a custom surface)"]
3703    pub const PROJECTED: PassthroughLayerPurposeFB = Self(1i32);
3704    #[doc = "Passthrough layer purpose for keyboard hands presence."]
3705    pub const TRACKED_KEYBOARD_HANDS: PassthroughLayerPurposeFB = Self(1000203001i32);
3706    #[doc = "Passthrough layer purpose for keyboard hands presence with keyboard masked hand transitions (i.e passthrough hands rendered only when they are over the keyboard)."]
3707    pub const TRACKED_KEYBOARD_MASKED_HANDS: PassthroughLayerPurposeFB = Self(1000203002i32);
3708    pub fn from_raw(x: i32) -> Self {
3709        Self(x)
3710    }
3711    pub fn into_raw(self) -> i32 {
3712        self.0
3713    }
3714}
3715impl fmt::Debug for PassthroughLayerPurposeFB {
3716    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3717        let name = match *self {
3718            Self::RECONSTRUCTION => Some("RECONSTRUCTION"),
3719            Self::PROJECTED => Some("PROJECTED"),
3720            Self::TRACKED_KEYBOARD_HANDS => Some("TRACKED_KEYBOARD_HANDS"),
3721            Self::TRACKED_KEYBOARD_MASKED_HANDS => Some("TRACKED_KEYBOARD_MASKED_HANDS"),
3722            _ => None,
3723        };
3724        fmt_enum(fmt, self.0, name)
3725    }
3726}
3727#[doc = "See [XrSpaceQueryActionFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceQueryActionFB)"]
3728#[repr(transparent)]
3729#[derive(Copy, Clone, Eq, PartialEq, Default)]
3730pub struct SpaceQueryActionFB(i32);
3731impl SpaceQueryActionFB {
3732    #[doc = "Tells the query to perform a load operation on any XrSpace returned by the query."]
3733    pub const LOAD: SpaceQueryActionFB = Self(0i32);
3734    pub fn from_raw(x: i32) -> Self {
3735        Self(x)
3736    }
3737    pub fn into_raw(self) -> i32 {
3738        self.0
3739    }
3740}
3741impl fmt::Debug for SpaceQueryActionFB {
3742    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3743        let name = match *self {
3744            Self::LOAD => Some("LOAD"),
3745            _ => None,
3746        };
3747        fmt_enum(fmt, self.0, name)
3748    }
3749}
3750#[doc = "See [XrSpaceStorageLocationFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceStorageLocationFB)"]
3751#[repr(transparent)]
3752#[derive(Copy, Clone, Eq, PartialEq, Default)]
3753pub struct SpaceStorageLocationFB(i32);
3754impl SpaceStorageLocationFB {
3755    #[doc = "Invalid storage location"]
3756    pub const INVALID: SpaceStorageLocationFB = Self(0i32);
3757    #[doc = "Local device storage"]
3758    pub const LOCAL: SpaceStorageLocationFB = Self(1i32);
3759    #[doc = "Cloud storage"]
3760    pub const CLOUD: SpaceStorageLocationFB = Self(2i32);
3761    pub fn from_raw(x: i32) -> Self {
3762        Self(x)
3763    }
3764    pub fn into_raw(self) -> i32 {
3765        self.0
3766    }
3767}
3768impl fmt::Debug for SpaceStorageLocationFB {
3769    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3770        let name = match *self {
3771            Self::INVALID => Some("INVALID"),
3772            Self::LOCAL => Some("LOCAL"),
3773            Self::CLOUD => Some("CLOUD"),
3774            _ => None,
3775        };
3776        fmt_enum(fmt, self.0, name)
3777    }
3778}
3779#[doc = "See [XrSpacePersistenceModeFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpacePersistenceModeFB)"]
3780#[repr(transparent)]
3781#[derive(Copy, Clone, Eq, PartialEq, Default)]
3782pub struct SpacePersistenceModeFB(i32);
3783impl SpacePersistenceModeFB {
3784    #[doc = "Invalid storage persistence"]
3785    pub const INVALID: SpacePersistenceModeFB = Self(0i32);
3786    #[doc = "Store XrSpace indefinitely, or until erased"]
3787    pub const INDEFINITE: SpacePersistenceModeFB = Self(1i32);
3788    pub fn from_raw(x: i32) -> Self {
3789        Self(x)
3790    }
3791    pub fn into_raw(self) -> i32 {
3792        self.0
3793    }
3794}
3795impl fmt::Debug for SpacePersistenceModeFB {
3796    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3797        let name = match *self {
3798            Self::INVALID => Some("INVALID"),
3799            Self::INDEFINITE => Some("INDEFINITE"),
3800            _ => None,
3801        };
3802        fmt_enum(fmt, self.0, name)
3803    }
3804}
3805#[doc = "See [XrExternalCameraAttachedToDeviceOCULUS](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExternalCameraAttachedToDeviceOCULUS)"]
3806#[repr(transparent)]
3807#[derive(Copy, Clone, Eq, PartialEq, Default)]
3808pub struct ExternalCameraAttachedToDeviceOCULUS(i32);
3809impl ExternalCameraAttachedToDeviceOCULUS {
3810    #[doc = "External camera is at a fixed point in LOCAL space"]
3811    pub const NONE: ExternalCameraAttachedToDeviceOCULUS = Self(0i32);
3812    #[doc = "External camera is attached to the HMD"]
3813    pub const HMD: ExternalCameraAttachedToDeviceOCULUS = Self(1i32);
3814    #[doc = "External camera is attached to a left Touch controller"]
3815    pub const LTOUCH: ExternalCameraAttachedToDeviceOCULUS = Self(2i32);
3816    #[doc = "External camera is attached to a right Touch controller"]
3817    pub const RTOUCH: ExternalCameraAttachedToDeviceOCULUS = Self(3i32);
3818    pub fn from_raw(x: i32) -> Self {
3819        Self(x)
3820    }
3821    pub fn into_raw(self) -> i32 {
3822        self.0
3823    }
3824}
3825impl fmt::Debug for ExternalCameraAttachedToDeviceOCULUS {
3826    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3827        let name = match *self {
3828            Self::NONE => Some("NONE"),
3829            Self::HMD => Some("HMD"),
3830            Self::LTOUCH => Some("LTOUCH"),
3831            Self::RTOUCH => Some("RTOUCH"),
3832            _ => None,
3833        };
3834        fmt_enum(fmt, self.0, name)
3835    }
3836}
3837#[doc = "See [XrPassthroughColorLutChannelsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorLutChannelsMETA)"]
3838#[repr(transparent)]
3839#[derive(Copy, Clone, Eq, PartialEq)]
3840pub struct PassthroughColorLutChannelsMETA(i32);
3841impl PassthroughColorLutChannelsMETA {
3842    pub const RGB: PassthroughColorLutChannelsMETA = Self(1i32);
3843    pub const RGBA: PassthroughColorLutChannelsMETA = Self(2i32);
3844    pub fn from_raw(x: i32) -> Self {
3845        Self(x)
3846    }
3847    pub fn into_raw(self) -> i32 {
3848        self.0
3849    }
3850}
3851impl fmt::Debug for PassthroughColorLutChannelsMETA {
3852    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3853        let name = match *self {
3854            Self::RGB => Some("RGB"),
3855            Self::RGBA => Some("RGBA"),
3856            _ => None,
3857        };
3858        fmt_enum(fmt, self.0, name)
3859    }
3860}
3861#[doc = "See [XrPerformanceMetricsCounterUnitMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerformanceMetricsCounterUnitMETA)"]
3862#[repr(transparent)]
3863#[derive(Copy, Clone, Eq, PartialEq, Default)]
3864pub struct PerformanceMetricsCounterUnitMETA(i32);
3865impl PerformanceMetricsCounterUnitMETA {
3866    #[doc = "the performance counter unit is generic (unspecified)."]
3867    pub const GENERIC: PerformanceMetricsCounterUnitMETA = Self(0i32);
3868    #[doc = "the performance counter unit is percentage (%)."]
3869    pub const PERCENTAGE: PerformanceMetricsCounterUnitMETA = Self(1i32);
3870    #[doc = "the performance counter unit is millisecond."]
3871    pub const MILLISECONDS: PerformanceMetricsCounterUnitMETA = Self(2i32);
3872    #[doc = "the performance counter unit is byte."]
3873    pub const BYTES: PerformanceMetricsCounterUnitMETA = Self(3i32);
3874    #[doc = "the performance counter unit is hertz (Hz)."]
3875    pub const HERTZ: PerformanceMetricsCounterUnitMETA = Self(4i32);
3876    pub fn from_raw(x: i32) -> Self {
3877        Self(x)
3878    }
3879    pub fn into_raw(self) -> i32 {
3880        self.0
3881    }
3882}
3883impl fmt::Debug for PerformanceMetricsCounterUnitMETA {
3884    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3885        let name = match *self {
3886            Self::GENERIC => Some("GENERIC"),
3887            Self::PERCENTAGE => Some("PERCENTAGE"),
3888            Self::MILLISECONDS => Some("MILLISECONDS"),
3889            Self::BYTES => Some("BYTES"),
3890            Self::HERTZ => Some("HERTZ"),
3891            _ => None,
3892        };
3893        fmt_enum(fmt, self.0, name)
3894    }
3895}
3896#[doc = "See [XrFacialTrackingTypeHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialTrackingTypeHTC)"]
3897#[repr(transparent)]
3898#[derive(Copy, Clone, Eq, PartialEq)]
3899pub struct FacialTrackingTypeHTC(i32);
3900impl FacialTrackingTypeHTC {
3901    #[doc = "Specifies this handle will observe eye expressions, with values indexed by XrEyeExpressionHTC whose count is XR_FACIAL_EXPRESSION_EYE_COUNT_HTC."]
3902    pub const EYE_DEFAULT: FacialTrackingTypeHTC = Self(1i32);
3903    #[doc = "Specifies this handle will observe lip expressions, with values indexed by XrLipExpressionHTC whose count is XR_FACIAL_EXPRESSION_LIP_COUNT_HTC."]
3904    pub const LIP_DEFAULT: FacialTrackingTypeHTC = Self(2i32);
3905    pub fn from_raw(x: i32) -> Self {
3906        Self(x)
3907    }
3908    pub fn into_raw(self) -> i32 {
3909        self.0
3910    }
3911}
3912impl fmt::Debug for FacialTrackingTypeHTC {
3913    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3914        let name = match *self {
3915            Self::EYE_DEFAULT => Some("EYE_DEFAULT"),
3916            Self::LIP_DEFAULT => Some("LIP_DEFAULT"),
3917            _ => None,
3918        };
3919        fmt_enum(fmt, self.0, name)
3920    }
3921}
3922#[doc = "See [XrEyeExpressionHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeExpressionHTC)"]
3923#[repr(transparent)]
3924#[derive(Copy, Clone, Eq, PartialEq, Default)]
3925pub struct EyeExpressionHTC(i32);
3926impl EyeExpressionHTC {
3927    pub const LEFT_BLINK: EyeExpressionHTC = Self(0i32);
3928    pub const LEFT_WIDE: EyeExpressionHTC = Self(1i32);
3929    pub const RIGHT_BLINK: EyeExpressionHTC = Self(2i32);
3930    pub const RIGHT_WIDE: EyeExpressionHTC = Self(3i32);
3931    pub const LEFT_SQUEEZE: EyeExpressionHTC = Self(4i32);
3932    pub const RIGHT_SQUEEZE: EyeExpressionHTC = Self(5i32);
3933    pub const LEFT_DOWN: EyeExpressionHTC = Self(6i32);
3934    pub const RIGHT_DOWN: EyeExpressionHTC = Self(7i32);
3935    pub const LEFT_OUT: EyeExpressionHTC = Self(8i32);
3936    pub const RIGHT_IN: EyeExpressionHTC = Self(9i32);
3937    pub const LEFT_IN: EyeExpressionHTC = Self(10i32);
3938    pub const RIGHT_OUT: EyeExpressionHTC = Self(11i32);
3939    pub const LEFT_UP: EyeExpressionHTC = Self(12i32);
3940    pub const RIGHT_UP: EyeExpressionHTC = Self(13i32);
3941    pub fn from_raw(x: i32) -> Self {
3942        Self(x)
3943    }
3944    pub fn into_raw(self) -> i32 {
3945        self.0
3946    }
3947}
3948impl fmt::Debug for EyeExpressionHTC {
3949    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3950        let name = match *self {
3951            Self::LEFT_BLINK => Some("LEFT_BLINK"),
3952            Self::LEFT_WIDE => Some("LEFT_WIDE"),
3953            Self::RIGHT_BLINK => Some("RIGHT_BLINK"),
3954            Self::RIGHT_WIDE => Some("RIGHT_WIDE"),
3955            Self::LEFT_SQUEEZE => Some("LEFT_SQUEEZE"),
3956            Self::RIGHT_SQUEEZE => Some("RIGHT_SQUEEZE"),
3957            Self::LEFT_DOWN => Some("LEFT_DOWN"),
3958            Self::RIGHT_DOWN => Some("RIGHT_DOWN"),
3959            Self::LEFT_OUT => Some("LEFT_OUT"),
3960            Self::RIGHT_IN => Some("RIGHT_IN"),
3961            Self::LEFT_IN => Some("LEFT_IN"),
3962            Self::RIGHT_OUT => Some("RIGHT_OUT"),
3963            Self::LEFT_UP => Some("LEFT_UP"),
3964            Self::RIGHT_UP => Some("RIGHT_UP"),
3965            _ => None,
3966        };
3967        fmt_enum(fmt, self.0, name)
3968    }
3969}
3970#[doc = "See [XrLipExpressionHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLipExpressionHTC)"]
3971#[repr(transparent)]
3972#[derive(Copy, Clone, Eq, PartialEq, Default)]
3973pub struct LipExpressionHTC(i32);
3974impl LipExpressionHTC {
3975    pub const JAW_RIGHT: LipExpressionHTC = Self(0i32);
3976    pub const JAW_LEFT: LipExpressionHTC = Self(1i32);
3977    pub const JAW_FORWARD: LipExpressionHTC = Self(2i32);
3978    pub const JAW_OPEN: LipExpressionHTC = Self(3i32);
3979    pub const MOUTH_APE_SHAPE: LipExpressionHTC = Self(4i32);
3980    pub const MOUTH_UPPER_RIGHT: LipExpressionHTC = Self(5i32);
3981    pub const MOUTH_UPPER_LEFT: LipExpressionHTC = Self(6i32);
3982    pub const MOUTH_LOWER_RIGHT: LipExpressionHTC = Self(7i32);
3983    pub const MOUTH_LOWER_LEFT: LipExpressionHTC = Self(8i32);
3984    pub const MOUTH_UPPER_OVERTURN: LipExpressionHTC = Self(9i32);
3985    pub const MOUTH_LOWER_OVERTURN: LipExpressionHTC = Self(10i32);
3986    pub const MOUTH_POUT: LipExpressionHTC = Self(11i32);
3987    pub const MOUTH_RAISER_RIGHT: LipExpressionHTC = Self(12i32);
3988    pub const MOUTH_RAISER_LEFT: LipExpressionHTC = Self(13i32);
3989    pub const MOUTH_STRETCHER_RIGHT: LipExpressionHTC = Self(14i32);
3990    pub const MOUTH_STRETCHER_LEFT: LipExpressionHTC = Self(15i32);
3991    pub const CHEEK_PUFF_RIGHT: LipExpressionHTC = Self(16i32);
3992    pub const CHEEK_PUFF_LEFT: LipExpressionHTC = Self(17i32);
3993    pub const CHEEK_SUCK: LipExpressionHTC = Self(18i32);
3994    pub const MOUTH_UPPER_UPRIGHT: LipExpressionHTC = Self(19i32);
3995    pub const MOUTH_UPPER_UPLEFT: LipExpressionHTC = Self(20i32);
3996    pub const MOUTH_LOWER_DOWNRIGHT: LipExpressionHTC = Self(21i32);
3997    pub const MOUTH_LOWER_DOWNLEFT: LipExpressionHTC = Self(22i32);
3998    pub const MOUTH_UPPER_INSIDE: LipExpressionHTC = Self(23i32);
3999    pub const MOUTH_LOWER_INSIDE: LipExpressionHTC = Self(24i32);
4000    pub const MOUTH_LOWER_OVERLAY: LipExpressionHTC = Self(25i32);
4001    pub const TONGUE_LONGSTEP1: LipExpressionHTC = Self(26i32);
4002    pub const TONGUE_LEFT: LipExpressionHTC = Self(27i32);
4003    pub const TONGUE_RIGHT: LipExpressionHTC = Self(28i32);
4004    pub const TONGUE_UP: LipExpressionHTC = Self(29i32);
4005    pub const TONGUE_DOWN: LipExpressionHTC = Self(30i32);
4006    pub const TONGUE_ROLL: LipExpressionHTC = Self(31i32);
4007    pub const TONGUE_LONGSTEP2: LipExpressionHTC = Self(32i32);
4008    pub const TONGUE_UPRIGHT_MORPH: LipExpressionHTC = Self(33i32);
4009    pub const TONGUE_UPLEFT_MORPH: LipExpressionHTC = Self(34i32);
4010    pub const TONGUE_DOWNRIGHT_MORPH: LipExpressionHTC = Self(35i32);
4011    pub const TONGUE_DOWNLEFT_MORPH: LipExpressionHTC = Self(36i32);
4012    #[doc = "Backward-compatibility alias for deprecated name."]
4013    pub const MOUTH_SMILE_RIGHT: LipExpressionHTC = Self::MOUTH_RAISER_RIGHT;
4014    #[doc = "Backward-compatibility alias for deprecated name."]
4015    pub const MOUTH_SMILE_LEFT: LipExpressionHTC = Self::MOUTH_RAISER_LEFT;
4016    #[doc = "Backward-compatibility alias for deprecated name."]
4017    pub const MOUTH_SAD_RIGHT: LipExpressionHTC = Self::MOUTH_STRETCHER_RIGHT;
4018    #[doc = "Backward-compatibility alias for deprecated name."]
4019    pub const MOUTH_SAD_LEFT: LipExpressionHTC = Self::MOUTH_STRETCHER_LEFT;
4020    pub fn from_raw(x: i32) -> Self {
4021        Self(x)
4022    }
4023    pub fn into_raw(self) -> i32 {
4024        self.0
4025    }
4026}
4027impl fmt::Debug for LipExpressionHTC {
4028    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4029        let name = match *self {
4030            Self::JAW_RIGHT => Some("JAW_RIGHT"),
4031            Self::JAW_LEFT => Some("JAW_LEFT"),
4032            Self::JAW_FORWARD => Some("JAW_FORWARD"),
4033            Self::JAW_OPEN => Some("JAW_OPEN"),
4034            Self::MOUTH_APE_SHAPE => Some("MOUTH_APE_SHAPE"),
4035            Self::MOUTH_UPPER_RIGHT => Some("MOUTH_UPPER_RIGHT"),
4036            Self::MOUTH_UPPER_LEFT => Some("MOUTH_UPPER_LEFT"),
4037            Self::MOUTH_LOWER_RIGHT => Some("MOUTH_LOWER_RIGHT"),
4038            Self::MOUTH_LOWER_LEFT => Some("MOUTH_LOWER_LEFT"),
4039            Self::MOUTH_UPPER_OVERTURN => Some("MOUTH_UPPER_OVERTURN"),
4040            Self::MOUTH_LOWER_OVERTURN => Some("MOUTH_LOWER_OVERTURN"),
4041            Self::MOUTH_POUT => Some("MOUTH_POUT"),
4042            Self::MOUTH_RAISER_RIGHT => Some("MOUTH_RAISER_RIGHT"),
4043            Self::MOUTH_RAISER_LEFT => Some("MOUTH_RAISER_LEFT"),
4044            Self::MOUTH_STRETCHER_RIGHT => Some("MOUTH_STRETCHER_RIGHT"),
4045            Self::MOUTH_STRETCHER_LEFT => Some("MOUTH_STRETCHER_LEFT"),
4046            Self::CHEEK_PUFF_RIGHT => Some("CHEEK_PUFF_RIGHT"),
4047            Self::CHEEK_PUFF_LEFT => Some("CHEEK_PUFF_LEFT"),
4048            Self::CHEEK_SUCK => Some("CHEEK_SUCK"),
4049            Self::MOUTH_UPPER_UPRIGHT => Some("MOUTH_UPPER_UPRIGHT"),
4050            Self::MOUTH_UPPER_UPLEFT => Some("MOUTH_UPPER_UPLEFT"),
4051            Self::MOUTH_LOWER_DOWNRIGHT => Some("MOUTH_LOWER_DOWNRIGHT"),
4052            Self::MOUTH_LOWER_DOWNLEFT => Some("MOUTH_LOWER_DOWNLEFT"),
4053            Self::MOUTH_UPPER_INSIDE => Some("MOUTH_UPPER_INSIDE"),
4054            Self::MOUTH_LOWER_INSIDE => Some("MOUTH_LOWER_INSIDE"),
4055            Self::MOUTH_LOWER_OVERLAY => Some("MOUTH_LOWER_OVERLAY"),
4056            Self::TONGUE_LONGSTEP1 => Some("TONGUE_LONGSTEP1"),
4057            Self::TONGUE_LEFT => Some("TONGUE_LEFT"),
4058            Self::TONGUE_RIGHT => Some("TONGUE_RIGHT"),
4059            Self::TONGUE_UP => Some("TONGUE_UP"),
4060            Self::TONGUE_DOWN => Some("TONGUE_DOWN"),
4061            Self::TONGUE_ROLL => Some("TONGUE_ROLL"),
4062            Self::TONGUE_LONGSTEP2 => Some("TONGUE_LONGSTEP2"),
4063            Self::TONGUE_UPRIGHT_MORPH => Some("TONGUE_UPRIGHT_MORPH"),
4064            Self::TONGUE_UPLEFT_MORPH => Some("TONGUE_UPLEFT_MORPH"),
4065            Self::TONGUE_DOWNRIGHT_MORPH => Some("TONGUE_DOWNRIGHT_MORPH"),
4066            Self::TONGUE_DOWNLEFT_MORPH => Some("TONGUE_DOWNLEFT_MORPH"),
4067            _ => None,
4068        };
4069        fmt_enum(fmt, self.0, name)
4070    }
4071}
4072#[doc = "See [XrPassthroughFormHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughFormHTC)"]
4073#[repr(transparent)]
4074#[derive(Copy, Clone, Eq, PartialEq, Default)]
4075pub struct PassthroughFormHTC(i32);
4076impl PassthroughFormHTC {
4077    #[doc = "Presents the passthrough with full of the entire screen."]
4078    pub const PLANAR: PassthroughFormHTC = Self(0i32);
4079    #[doc = "Presents the passthrough projecting onto a custom mesh."]
4080    pub const PROJECTED: PassthroughFormHTC = Self(1i32);
4081    pub fn from_raw(x: i32) -> Self {
4082        Self(x)
4083    }
4084    pub fn into_raw(self) -> i32 {
4085        self.0
4086    }
4087}
4088impl fmt::Debug for PassthroughFormHTC {
4089    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4090        let name = match *self {
4091            Self::PLANAR => Some("PLANAR"),
4092            Self::PROJECTED => Some("PROJECTED"),
4093            _ => None,
4094        };
4095        fmt_enum(fmt, self.0, name)
4096    }
4097}
4098#[doc = "See [XrFoveationModeHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationModeHTC)"]
4099#[repr(transparent)]
4100#[derive(Copy, Clone, Eq, PartialEq, Default)]
4101pub struct FoveationModeHTC(i32);
4102impl FoveationModeHTC {
4103    #[doc = "No foveation"]
4104    pub const DISABLE: FoveationModeHTC = Self(0i32);
4105    #[doc = "Apply system default setting with fixed clear FOV and periphery quality."]
4106    pub const FIXED: FoveationModeHTC = Self(1i32);
4107    #[doc = "Allow system to set foveation dynamically according realtime system metric or other extensions."]
4108    pub const DYNAMIC: FoveationModeHTC = Self(2i32);
4109    #[doc = "Allow application to set foveation with desired clear FOV, periphery quality, and focal center offset."]
4110    pub const CUSTOM: FoveationModeHTC = Self(3i32);
4111    pub fn from_raw(x: i32) -> Self {
4112        Self(x)
4113    }
4114    pub fn into_raw(self) -> i32 {
4115        self.0
4116    }
4117}
4118impl fmt::Debug for FoveationModeHTC {
4119    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4120        let name = match *self {
4121            Self::DISABLE => Some("DISABLE"),
4122            Self::FIXED => Some("FIXED"),
4123            Self::DYNAMIC => Some("DYNAMIC"),
4124            Self::CUSTOM => Some("CUSTOM"),
4125            _ => None,
4126        };
4127        fmt_enum(fmt, self.0, name)
4128    }
4129}
4130#[doc = "See [XrFoveationLevelHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationLevelHTC)"]
4131#[repr(transparent)]
4132#[derive(Copy, Clone, Eq, PartialEq, Default)]
4133pub struct FoveationLevelHTC(i32);
4134impl FoveationLevelHTC {
4135    #[doc = "No foveation"]
4136    pub const NONE: FoveationLevelHTC = Self(0i32);
4137    #[doc = "Light periphery pixel density drop and lower performance gain."]
4138    pub const LOW: FoveationLevelHTC = Self(1i32);
4139    #[doc = "Medium periphery pixel density drop and medium performance gain"]
4140    pub const MEDIUM: FoveationLevelHTC = Self(2i32);
4141    #[doc = "Heavy periphery pixel density drop and higher performance gain"]
4142    pub const HIGH: FoveationLevelHTC = Self(3i32);
4143    pub fn from_raw(x: i32) -> Self {
4144        Self(x)
4145    }
4146    pub fn into_raw(self) -> i32 {
4147        self.0
4148    }
4149}
4150impl fmt::Debug for FoveationLevelHTC {
4151    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4152        let name = match *self {
4153            Self::NONE => Some("NONE"),
4154            Self::LOW => Some("LOW"),
4155            Self::MEDIUM => Some("MEDIUM"),
4156            Self::HIGH => Some("HIGH"),
4157            _ => None,
4158        };
4159        fmt_enum(fmt, self.0, name)
4160    }
4161}
4162#[doc = "See [XrFaceParameterIndicesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceParameterIndicesANDROID)"]
4163#[repr(transparent)]
4164#[derive(Copy, Clone, Eq, PartialEq, Default)]
4165pub struct FaceParameterIndicesANDROID(i32);
4166impl FaceParameterIndicesANDROID {
4167    #[doc = "The left brow lowerer blendshape parameter."]
4168    pub const BROW_LOWERER_L: FaceParameterIndicesANDROID = Self(0i32);
4169    #[doc = "The right brow lowerer blendshape parameter."]
4170    pub const BROW_LOWERER_R: FaceParameterIndicesANDROID = Self(1i32);
4171    #[doc = "The left cheek puff blendshape parameter."]
4172    pub const CHEEK_PUFF_L: FaceParameterIndicesANDROID = Self(2i32);
4173    #[doc = "The right cheek puff blendshape parameter."]
4174    pub const CHEEK_PUFF_R: FaceParameterIndicesANDROID = Self(3i32);
4175    #[doc = "The left cheek raiser blendshape parameter."]
4176    pub const CHEEK_RAISER_L: FaceParameterIndicesANDROID = Self(4i32);
4177    #[doc = "The right cheek raiser blendshape parameter."]
4178    pub const CHEEK_RAISER_R: FaceParameterIndicesANDROID = Self(5i32);
4179    #[doc = "The left cheek suck blendshape parameter."]
4180    pub const CHEEK_SUCK_L: FaceParameterIndicesANDROID = Self(6i32);
4181    #[doc = "The right cheek suck blendshape parameter."]
4182    pub const CHEEK_SUCK_R: FaceParameterIndicesANDROID = Self(7i32);
4183    #[doc = "The bottom chin raiser blendshape parameter."]
4184    pub const CHIN_RAISER_B: FaceParameterIndicesANDROID = Self(8i32);
4185    #[doc = "The top chin raiser blendshape parameter."]
4186    pub const CHIN_RAISER_T: FaceParameterIndicesANDROID = Self(9i32);
4187    #[doc = "The left dimpler blendshape parameter."]
4188    pub const DIMPLER_L: FaceParameterIndicesANDROID = Self(10i32);
4189    #[doc = "The right dimpler lowerer blendshape parameter."]
4190    pub const DIMPLER_R: FaceParameterIndicesANDROID = Self(11i32);
4191    #[doc = "The left eyes closed blendshape parameter."]
4192    pub const EYES_CLOSED_L: FaceParameterIndicesANDROID = Self(12i32);
4193    #[doc = "The right eyes closed blendshape parameter."]
4194    pub const EYES_CLOSED_R: FaceParameterIndicesANDROID = Self(13i32);
4195    #[doc = "The left eyes look down blendshape parameter."]
4196    pub const EYES_LOOK_DOWN_L: FaceParameterIndicesANDROID = Self(14i32);
4197    #[doc = "The right eyes look down blendshape parameter."]
4198    pub const EYES_LOOK_DOWN_R: FaceParameterIndicesANDROID = Self(15i32);
4199    #[doc = "The left look left blendshape parameter."]
4200    pub const EYES_LOOK_LEFT_L: FaceParameterIndicesANDROID = Self(16i32);
4201    #[doc = "The left look right blendshape parameter."]
4202    pub const EYES_LOOK_LEFT_R: FaceParameterIndicesANDROID = Self(17i32);
4203    #[doc = "The right look left blendshape parameter."]
4204    pub const EYES_LOOK_RIGHT_L: FaceParameterIndicesANDROID = Self(18i32);
4205    #[doc = "The right look right blendshape parameter."]
4206    pub const EYES_LOOK_RIGHT_R: FaceParameterIndicesANDROID = Self(19i32);
4207    #[doc = "The left eyes look up blendshape parameter."]
4208    pub const EYES_LOOK_UP_L: FaceParameterIndicesANDROID = Self(20i32);
4209    #[doc = "The right eyes look up blendshape parameter."]
4210    pub const EYES_LOOK_UP_R: FaceParameterIndicesANDROID = Self(21i32);
4211    #[doc = "The left inner brow raiser blendshape parameter."]
4212    pub const INNER_BROW_RAISER_L: FaceParameterIndicesANDROID = Self(22i32);
4213    #[doc = "The right inner brow raiser blendshape parameter."]
4214    pub const INNER_BROW_RAISER_R: FaceParameterIndicesANDROID = Self(23i32);
4215    #[doc = "The jaw drop blendshape parameter."]
4216    pub const JAW_DROP: FaceParameterIndicesANDROID = Self(24i32);
4217    #[doc = "The left jaw sideways blendshape parameter."]
4218    pub const JAW_SIDEWAYS_LEFT: FaceParameterIndicesANDROID = Self(25i32);
4219    #[doc = "The right jaw sideways blendshape parameter."]
4220    pub const JAW_SIDEWAYS_RIGHT: FaceParameterIndicesANDROID = Self(26i32);
4221    #[doc = "The jaw thrust blendshape parameter."]
4222    pub const JAW_THRUST: FaceParameterIndicesANDROID = Self(27i32);
4223    #[doc = "The left lid tightener blendshape parameter."]
4224    pub const LID_TIGHTENER_L: FaceParameterIndicesANDROID = Self(28i32);
4225    #[doc = "The right lid tightener blendshape parameter."]
4226    pub const LID_TIGHTENER_R: FaceParameterIndicesANDROID = Self(29i32);
4227    #[doc = "The left corner lip depressor blendshape parameter."]
4228    pub const LIP_CORNER_DEPRESSOR_L: FaceParameterIndicesANDROID = Self(30i32);
4229    #[doc = "The right corner lip depressor blendshape parameter."]
4230    pub const LIP_CORNER_DEPRESSOR_R: FaceParameterIndicesANDROID = Self(31i32);
4231    #[doc = "The left corner lip puller blendshape parameter."]
4232    pub const LIP_CORNER_PULLER_L: FaceParameterIndicesANDROID = Self(32i32);
4233    #[doc = "The right corner lip puller blendshape parameter."]
4234    pub const LIP_CORNER_PULLER_R: FaceParameterIndicesANDROID = Self(33i32);
4235    #[doc = "The left bottom lip funneler blendshape parameter."]
4236    pub const LIP_FUNNELER_LB: FaceParameterIndicesANDROID = Self(34i32);
4237    #[doc = "The left top lip funneler blendshape parameter."]
4238    pub const LIP_FUNNELER_LT: FaceParameterIndicesANDROID = Self(35i32);
4239    #[doc = "The right bottom lip funneler blendshape parameter."]
4240    pub const LIP_FUNNELER_RB: FaceParameterIndicesANDROID = Self(36i32);
4241    #[doc = "The right top lip funneler blendshape parameter."]
4242    pub const LIP_FUNNELER_RT: FaceParameterIndicesANDROID = Self(37i32);
4243    #[doc = "The left lip pressor blendshape parameter."]
4244    pub const LIP_PRESSOR_L: FaceParameterIndicesANDROID = Self(38i32);
4245    #[doc = "The right lip pressor blendshape parameter."]
4246    pub const LIP_PRESSOR_R: FaceParameterIndicesANDROID = Self(39i32);
4247    #[doc = "The left lip pucker blendshape parameter."]
4248    pub const LIP_PUCKER_L: FaceParameterIndicesANDROID = Self(40i32);
4249    #[doc = "The right lip pucker blendshape parameter."]
4250    pub const LIP_PUCKER_R: FaceParameterIndicesANDROID = Self(41i32);
4251    #[doc = "The left lip stretcher blendshape parameter."]
4252    pub const LIP_STRETCHER_L: FaceParameterIndicesANDROID = Self(42i32);
4253    #[doc = "The right lip stretcher blendshape parameter."]
4254    pub const LIP_STRETCHER_R: FaceParameterIndicesANDROID = Self(43i32);
4255    #[doc = "The left bottom lip suck blendshape parameter."]
4256    pub const LIP_SUCK_LB: FaceParameterIndicesANDROID = Self(44i32);
4257    #[doc = "The left top lip suck blendshape parameter."]
4258    pub const LIP_SUCK_LT: FaceParameterIndicesANDROID = Self(45i32);
4259    #[doc = "The right bottom lip suck blendshape parameter."]
4260    pub const LIP_SUCK_RB: FaceParameterIndicesANDROID = Self(46i32);
4261    #[doc = "The right top lip suck blendshape parameter."]
4262    pub const LIP_SUCK_RT: FaceParameterIndicesANDROID = Self(47i32);
4263    #[doc = "The left lip tightener blendshape parameter."]
4264    pub const LIP_TIGHTENER_L: FaceParameterIndicesANDROID = Self(48i32);
4265    #[doc = "The right lip tightener blendshape parameter."]
4266    pub const LIP_TIGHTENER_R: FaceParameterIndicesANDROID = Self(49i32);
4267    #[doc = "The lips toward blendshape parameter."]
4268    pub const LIPS_TOWARD: FaceParameterIndicesANDROID = Self(50i32);
4269    #[doc = "The left lower lip depressor blendshape parameter."]
4270    pub const LOWER_LIP_DEPRESSOR_L: FaceParameterIndicesANDROID = Self(51i32);
4271    #[doc = "The right lower lip depressor blendshape parameter."]
4272    pub const LOWER_LIP_DEPRESSOR_R: FaceParameterIndicesANDROID = Self(52i32);
4273    #[doc = "The mouth move left blendshape parameter."]
4274    pub const MOUTH_LEFT: FaceParameterIndicesANDROID = Self(53i32);
4275    #[doc = "The mouth move right blendshape parameter."]
4276    pub const MOUTH_RIGHT: FaceParameterIndicesANDROID = Self(54i32);
4277    #[doc = "The left nose wrinkler blendshape parameter."]
4278    pub const NOSE_WRINKLER_L: FaceParameterIndicesANDROID = Self(55i32);
4279    #[doc = "The right nose wrinkler blendshape parameter."]
4280    pub const NOSE_WRINKLER_R: FaceParameterIndicesANDROID = Self(56i32);
4281    #[doc = "The left outer brow raiser blendshape parameter."]
4282    pub const OUTER_BROW_RAISER_L: FaceParameterIndicesANDROID = Self(57i32);
4283    #[doc = "The right outer brow raiser blendshape parameter."]
4284    pub const OUTER_BROW_RAISER_R: FaceParameterIndicesANDROID = Self(58i32);
4285    #[doc = "The left lid raiser blendshape parameter."]
4286    pub const UPPER_LID_RAISER_L: FaceParameterIndicesANDROID = Self(59i32);
4287    #[doc = "The right lid raiser blendshape parameter."]
4288    pub const UPPER_LID_RAISER_R: FaceParameterIndicesANDROID = Self(60i32);
4289    #[doc = "The left lip raiser blendshape parameter."]
4290    pub const UPPER_LIP_RAISER_L: FaceParameterIndicesANDROID = Self(61i32);
4291    #[doc = "The right lip raiser blendshape parameter."]
4292    pub const UPPER_LIP_RAISER_R: FaceParameterIndicesANDROID = Self(62i32);
4293    #[doc = "The tongue out blendshape parameter."]
4294    pub const TONGUE_OUT: FaceParameterIndicesANDROID = Self(63i32);
4295    #[doc = "The tongue left puller blendshape parameter."]
4296    pub const TONGUE_LEFT: FaceParameterIndicesANDROID = Self(64i32);
4297    #[doc = "The right right puller blendshape parameter."]
4298    pub const TONGUE_RIGHT: FaceParameterIndicesANDROID = Self(65i32);
4299    #[doc = "The right up puller blendshape parameter."]
4300    pub const TONGUE_UP: FaceParameterIndicesANDROID = Self(66i32);
4301    #[doc = "The right down puller blendshape parameter."]
4302    pub const TONGUE_DOWN: FaceParameterIndicesANDROID = Self(67i32);
4303    pub fn from_raw(x: i32) -> Self {
4304        Self(x)
4305    }
4306    pub fn into_raw(self) -> i32 {
4307        self.0
4308    }
4309}
4310impl fmt::Debug for FaceParameterIndicesANDROID {
4311    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4312        let name = match *self {
4313            Self::BROW_LOWERER_L => Some("BROW_LOWERER_L"),
4314            Self::BROW_LOWERER_R => Some("BROW_LOWERER_R"),
4315            Self::CHEEK_PUFF_L => Some("CHEEK_PUFF_L"),
4316            Self::CHEEK_PUFF_R => Some("CHEEK_PUFF_R"),
4317            Self::CHEEK_RAISER_L => Some("CHEEK_RAISER_L"),
4318            Self::CHEEK_RAISER_R => Some("CHEEK_RAISER_R"),
4319            Self::CHEEK_SUCK_L => Some("CHEEK_SUCK_L"),
4320            Self::CHEEK_SUCK_R => Some("CHEEK_SUCK_R"),
4321            Self::CHIN_RAISER_B => Some("CHIN_RAISER_B"),
4322            Self::CHIN_RAISER_T => Some("CHIN_RAISER_T"),
4323            Self::DIMPLER_L => Some("DIMPLER_L"),
4324            Self::DIMPLER_R => Some("DIMPLER_R"),
4325            Self::EYES_CLOSED_L => Some("EYES_CLOSED_L"),
4326            Self::EYES_CLOSED_R => Some("EYES_CLOSED_R"),
4327            Self::EYES_LOOK_DOWN_L => Some("EYES_LOOK_DOWN_L"),
4328            Self::EYES_LOOK_DOWN_R => Some("EYES_LOOK_DOWN_R"),
4329            Self::EYES_LOOK_LEFT_L => Some("EYES_LOOK_LEFT_L"),
4330            Self::EYES_LOOK_LEFT_R => Some("EYES_LOOK_LEFT_R"),
4331            Self::EYES_LOOK_RIGHT_L => Some("EYES_LOOK_RIGHT_L"),
4332            Self::EYES_LOOK_RIGHT_R => Some("EYES_LOOK_RIGHT_R"),
4333            Self::EYES_LOOK_UP_L => Some("EYES_LOOK_UP_L"),
4334            Self::EYES_LOOK_UP_R => Some("EYES_LOOK_UP_R"),
4335            Self::INNER_BROW_RAISER_L => Some("INNER_BROW_RAISER_L"),
4336            Self::INNER_BROW_RAISER_R => Some("INNER_BROW_RAISER_R"),
4337            Self::JAW_DROP => Some("JAW_DROP"),
4338            Self::JAW_SIDEWAYS_LEFT => Some("JAW_SIDEWAYS_LEFT"),
4339            Self::JAW_SIDEWAYS_RIGHT => Some("JAW_SIDEWAYS_RIGHT"),
4340            Self::JAW_THRUST => Some("JAW_THRUST"),
4341            Self::LID_TIGHTENER_L => Some("LID_TIGHTENER_L"),
4342            Self::LID_TIGHTENER_R => Some("LID_TIGHTENER_R"),
4343            Self::LIP_CORNER_DEPRESSOR_L => Some("LIP_CORNER_DEPRESSOR_L"),
4344            Self::LIP_CORNER_DEPRESSOR_R => Some("LIP_CORNER_DEPRESSOR_R"),
4345            Self::LIP_CORNER_PULLER_L => Some("LIP_CORNER_PULLER_L"),
4346            Self::LIP_CORNER_PULLER_R => Some("LIP_CORNER_PULLER_R"),
4347            Self::LIP_FUNNELER_LB => Some("LIP_FUNNELER_LB"),
4348            Self::LIP_FUNNELER_LT => Some("LIP_FUNNELER_LT"),
4349            Self::LIP_FUNNELER_RB => Some("LIP_FUNNELER_RB"),
4350            Self::LIP_FUNNELER_RT => Some("LIP_FUNNELER_RT"),
4351            Self::LIP_PRESSOR_L => Some("LIP_PRESSOR_L"),
4352            Self::LIP_PRESSOR_R => Some("LIP_PRESSOR_R"),
4353            Self::LIP_PUCKER_L => Some("LIP_PUCKER_L"),
4354            Self::LIP_PUCKER_R => Some("LIP_PUCKER_R"),
4355            Self::LIP_STRETCHER_L => Some("LIP_STRETCHER_L"),
4356            Self::LIP_STRETCHER_R => Some("LIP_STRETCHER_R"),
4357            Self::LIP_SUCK_LB => Some("LIP_SUCK_LB"),
4358            Self::LIP_SUCK_LT => Some("LIP_SUCK_LT"),
4359            Self::LIP_SUCK_RB => Some("LIP_SUCK_RB"),
4360            Self::LIP_SUCK_RT => Some("LIP_SUCK_RT"),
4361            Self::LIP_TIGHTENER_L => Some("LIP_TIGHTENER_L"),
4362            Self::LIP_TIGHTENER_R => Some("LIP_TIGHTENER_R"),
4363            Self::LIPS_TOWARD => Some("LIPS_TOWARD"),
4364            Self::LOWER_LIP_DEPRESSOR_L => Some("LOWER_LIP_DEPRESSOR_L"),
4365            Self::LOWER_LIP_DEPRESSOR_R => Some("LOWER_LIP_DEPRESSOR_R"),
4366            Self::MOUTH_LEFT => Some("MOUTH_LEFT"),
4367            Self::MOUTH_RIGHT => Some("MOUTH_RIGHT"),
4368            Self::NOSE_WRINKLER_L => Some("NOSE_WRINKLER_L"),
4369            Self::NOSE_WRINKLER_R => Some("NOSE_WRINKLER_R"),
4370            Self::OUTER_BROW_RAISER_L => Some("OUTER_BROW_RAISER_L"),
4371            Self::OUTER_BROW_RAISER_R => Some("OUTER_BROW_RAISER_R"),
4372            Self::UPPER_LID_RAISER_L => Some("UPPER_LID_RAISER_L"),
4373            Self::UPPER_LID_RAISER_R => Some("UPPER_LID_RAISER_R"),
4374            Self::UPPER_LIP_RAISER_L => Some("UPPER_LIP_RAISER_L"),
4375            Self::UPPER_LIP_RAISER_R => Some("UPPER_LIP_RAISER_R"),
4376            Self::TONGUE_OUT => Some("TONGUE_OUT"),
4377            Self::TONGUE_LEFT => Some("TONGUE_LEFT"),
4378            Self::TONGUE_RIGHT => Some("TONGUE_RIGHT"),
4379            Self::TONGUE_UP => Some("TONGUE_UP"),
4380            Self::TONGUE_DOWN => Some("TONGUE_DOWN"),
4381            _ => None,
4382        };
4383        fmt_enum(fmt, self.0, name)
4384    }
4385}
4386#[doc = "See [XrFaceTrackingStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackingStateANDROID)"]
4387#[repr(transparent)]
4388#[derive(Copy, Clone, Eq, PartialEq, Default)]
4389pub struct FaceTrackingStateANDROID(i32);
4390impl FaceTrackingStateANDROID {
4391    #[doc = "Indicates that face tracking is paused but may be resumed in the future."]
4392    pub const PAUSED: FaceTrackingStateANDROID = Self(0i32);
4393    #[doc = "Tracking has stopped but the client still has an active face tracker."]
4394    pub const STOPPED: FaceTrackingStateANDROID = Self(1i32);
4395    #[doc = "The face is currently tracked and its pose is current."]
4396    pub const TRACKING: FaceTrackingStateANDROID = Self(2i32);
4397    pub fn from_raw(x: i32) -> Self {
4398        Self(x)
4399    }
4400    pub fn into_raw(self) -> i32 {
4401        self.0
4402    }
4403}
4404impl fmt::Debug for FaceTrackingStateANDROID {
4405    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4406        let name = match *self {
4407            Self::PAUSED => Some("PAUSED"),
4408            Self::STOPPED => Some("STOPPED"),
4409            Self::TRACKING => Some("TRACKING"),
4410            _ => None,
4411        };
4412        fmt_enum(fmt, self.0, name)
4413    }
4414}
4415#[doc = "See [XrFaceConfidenceRegionsANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceConfidenceRegionsANDROID)"]
4416#[repr(transparent)]
4417#[derive(Copy, Clone, Eq, PartialEq, Default)]
4418pub struct FaceConfidenceRegionsANDROID(i32);
4419impl FaceConfidenceRegionsANDROID {
4420    #[doc = "Confidence corresponding to the lower region."]
4421    pub const LOWER: FaceConfidenceRegionsANDROID = Self(0i32);
4422    #[doc = "Confidence corresponding to the left upper region."]
4423    pub const LEFT_UPPER: FaceConfidenceRegionsANDROID = Self(1i32);
4424    #[doc = "Confidence corresponding to the right upper region."]
4425    pub const RIGHT_UPPER: FaceConfidenceRegionsANDROID = Self(2i32);
4426    pub fn from_raw(x: i32) -> Self {
4427        Self(x)
4428    }
4429    pub fn into_raw(self) -> i32 {
4430        self.0
4431    }
4432}
4433impl fmt::Debug for FaceConfidenceRegionsANDROID {
4434    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4435        let name = match *self {
4436            Self::LOWER => Some("LOWER"),
4437            Self::LEFT_UPPER => Some("LEFT_UPPER"),
4438            Self::RIGHT_UPPER => Some("RIGHT_UPPER"),
4439            _ => None,
4440        };
4441        fmt_enum(fmt, self.0, name)
4442    }
4443}
4444#[doc = "See [XrTrackingStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackingStateANDROID)"]
4445#[repr(transparent)]
4446#[derive(Copy, Clone, Eq, PartialEq, Default)]
4447pub struct TrackingStateANDROID(i32);
4448impl TrackingStateANDROID {
4449    #[doc = "Indicates that the trackable or anchor tracking is paused but may be resumed in the future."]
4450    pub const PAUSED: TrackingStateANDROID = Self(0i32);
4451    #[doc = "Tracking has stopped on this Trackable and will never be resumed."]
4452    pub const STOPPED: TrackingStateANDROID = Self(1i32);
4453    #[doc = "The object is currently tracked and its pose is current."]
4454    pub const TRACKING: TrackingStateANDROID = Self(2i32);
4455    pub fn from_raw(x: i32) -> Self {
4456        Self(x)
4457    }
4458    pub fn into_raw(self) -> i32 {
4459        self.0
4460    }
4461}
4462impl fmt::Debug for TrackingStateANDROID {
4463    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4464        let name = match *self {
4465            Self::PAUSED => Some("PAUSED"),
4466            Self::STOPPED => Some("STOPPED"),
4467            Self::TRACKING => Some("TRACKING"),
4468            _ => None,
4469        };
4470        fmt_enum(fmt, self.0, name)
4471    }
4472}
4473#[doc = "See [XrTrackableTypeANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableTypeANDROID)"]
4474#[repr(transparent)]
4475#[derive(Copy, Clone, Eq, PartialEq, Default)]
4476pub struct TrackableTypeANDROID(i32);
4477impl TrackableTypeANDROID {
4478    #[doc = "Indicates that the trackable is not valid."]
4479    pub const NOT_VALID: TrackableTypeANDROID = Self(0i32);
4480    #[doc = "Indicates that the trackable is a plane."]
4481    pub const PLANE: TrackableTypeANDROID = Self(1i32);
4482    #[doc = "Indicates that the trackable is the perception depth buffer."]
4483    pub const DEPTH: TrackableTypeANDROID = Self(1000463000i32);
4484    #[doc = "Indicates that the trackable is the object."]
4485    pub const OBJECT: TrackableTypeANDROID = Self(1000466000i32);
4486    #[doc = "Indicates that the trackable is a marker."]
4487    pub const MARKER: TrackableTypeANDROID = Self(1000707000i32);
4488    pub fn from_raw(x: i32) -> Self {
4489        Self(x)
4490    }
4491    pub fn into_raw(self) -> i32 {
4492        self.0
4493    }
4494}
4495impl fmt::Debug for TrackableTypeANDROID {
4496    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4497        let name = match *self {
4498            Self::NOT_VALID => Some("NOT_VALID"),
4499            Self::PLANE => Some("PLANE"),
4500            Self::DEPTH => Some("DEPTH"),
4501            Self::OBJECT => Some("OBJECT"),
4502            Self::MARKER => Some("MARKER"),
4503            _ => None,
4504        };
4505        fmt_enum(fmt, self.0, name)
4506    }
4507}
4508#[doc = "See [XrPlaneTypeANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneTypeANDROID)"]
4509#[repr(transparent)]
4510#[derive(Copy, Clone, Eq, PartialEq, Default)]
4511pub struct PlaneTypeANDROID(i32);
4512impl PlaneTypeANDROID {
4513    #[doc = "A horizontal plane facing downward (for example a ceiling)."]
4514    pub const HORIZONTAL_DOWNWARD_FACING: PlaneTypeANDROID = Self(0i32);
4515    #[doc = "A horizontal plane facing upward (for example a floor or tabletop)."]
4516    pub const HORIZONTAL_UPWARD_FACING: PlaneTypeANDROID = Self(1i32);
4517    #[doc = "A vertical plane (for example a wall)."]
4518    pub const VERTICAL: PlaneTypeANDROID = Self(2i32);
4519    #[doc = "A plane with an arbitrary orientation."]
4520    pub const ARBITRARY: PlaneTypeANDROID = Self(3i32);
4521    pub fn from_raw(x: i32) -> Self {
4522        Self(x)
4523    }
4524    pub fn into_raw(self) -> i32 {
4525        self.0
4526    }
4527}
4528impl fmt::Debug for PlaneTypeANDROID {
4529    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4530        let name = match *self {
4531            Self::HORIZONTAL_DOWNWARD_FACING => Some("HORIZONTAL_DOWNWARD_FACING"),
4532            Self::HORIZONTAL_UPWARD_FACING => Some("HORIZONTAL_UPWARD_FACING"),
4533            Self::VERTICAL => Some("VERTICAL"),
4534            Self::ARBITRARY => Some("ARBITRARY"),
4535            _ => None,
4536        };
4537        fmt_enum(fmt, self.0, name)
4538    }
4539}
4540#[doc = "See [XrPlaneLabelANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneLabelANDROID)"]
4541#[repr(transparent)]
4542#[derive(Copy, Clone, Eq, PartialEq, Default)]
4543pub struct PlaneLabelANDROID(i32);
4544impl PlaneLabelANDROID {
4545    #[doc = "It was not possible to label the plane"]
4546    pub const UNKNOWN: PlaneLabelANDROID = Self(0i32);
4547    #[doc = "The plane is a wall."]
4548    pub const WALL: PlaneLabelANDROID = Self(1i32);
4549    #[doc = "The plane is a floor."]
4550    pub const FLOOR: PlaneLabelANDROID = Self(2i32);
4551    #[doc = "The plane is a ceiling."]
4552    pub const CEILING: PlaneLabelANDROID = Self(3i32);
4553    #[doc = "The plane is a table."]
4554    pub const TABLE: PlaneLabelANDROID = Self(4i32);
4555    pub fn from_raw(x: i32) -> Self {
4556        Self(x)
4557    }
4558    pub fn into_raw(self) -> i32 {
4559        self.0
4560    }
4561}
4562impl fmt::Debug for PlaneLabelANDROID {
4563    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4564        let name = match *self {
4565            Self::UNKNOWN => Some("UNKNOWN"),
4566            Self::WALL => Some("WALL"),
4567            Self::FLOOR => Some("FLOOR"),
4568            Self::CEILING => Some("CEILING"),
4569            Self::TABLE => Some("TABLE"),
4570            _ => None,
4571        };
4572        fmt_enum(fmt, self.0, name)
4573    }
4574}
4575#[doc = "See [XrObjectLabelANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrObjectLabelANDROID)"]
4576#[repr(transparent)]
4577#[derive(Copy, Clone, Eq, PartialEq, Default)]
4578pub struct ObjectLabelANDROID(i32);
4579impl ObjectLabelANDROID {
4580    #[doc = "It was not possible to label the object."]
4581    pub const UNKNOWN: ObjectLabelANDROID = Self(0i32);
4582    #[doc = "The object is a keyboard."]
4583    pub const KEYBOARD: ObjectLabelANDROID = Self(1i32);
4584    #[doc = "The object is a mouse."]
4585    pub const MOUSE: ObjectLabelANDROID = Self(2i32);
4586    #[doc = "The object is a laptop."]
4587    pub const LAPTOP: ObjectLabelANDROID = Self(3i32);
4588    pub fn from_raw(x: i32) -> Self {
4589        Self(x)
4590    }
4591    pub fn into_raw(self) -> i32 {
4592        self.0
4593    }
4594}
4595impl fmt::Debug for ObjectLabelANDROID {
4596    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4597        let name = match *self {
4598            Self::UNKNOWN => Some("UNKNOWN"),
4599            Self::KEYBOARD => Some("KEYBOARD"),
4600            Self::MOUSE => Some("MOUSE"),
4601            Self::LAPTOP => Some("LAPTOP"),
4602            _ => None,
4603        };
4604        fmt_enum(fmt, self.0, name)
4605    }
4606}
4607#[doc = "See [XrAnchorPersistStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAnchorPersistStateANDROID)"]
4608#[repr(transparent)]
4609#[derive(Copy, Clone, Eq, PartialEq, Default)]
4610pub struct AnchorPersistStateANDROID(i32);
4611impl AnchorPersistStateANDROID {
4612    #[doc = "Anchor has not been requested to be persisted by the app."]
4613    pub const PERSIST_NOT_REQUESTED: AnchorPersistStateANDROID = Self(0i32);
4614    #[doc = "Anchor has been requested to be persisted but not persisted yet."]
4615    pub const PERSIST_PENDING: AnchorPersistStateANDROID = Self(1i32);
4616    #[doc = "Anchor has been successfully persisted by the runtime."]
4617    pub const PERSISTED: AnchorPersistStateANDROID = Self(2i32);
4618    pub fn from_raw(x: i32) -> Self {
4619        Self(x)
4620    }
4621    pub fn into_raw(self) -> i32 {
4622        self.0
4623    }
4624}
4625impl fmt::Debug for AnchorPersistStateANDROID {
4626    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4627        let name = match *self {
4628            Self::PERSIST_NOT_REQUESTED => Some("PERSIST_NOT_REQUESTED"),
4629            Self::PERSIST_PENDING => Some("PERSIST_PENDING"),
4630            Self::PERSISTED => Some("PERSISTED"),
4631            _ => None,
4632        };
4633        fmt_enum(fmt, self.0, name)
4634    }
4635}
4636#[doc = "See [XrLocalDimmingModeMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalDimmingModeMETA)"]
4637#[repr(transparent)]
4638#[derive(Copy, Clone, Eq, PartialEq, Default)]
4639pub struct LocalDimmingModeMETA(i32);
4640impl LocalDimmingModeMETA {
4641    #[doc = "Local dimming is turned off by default for the current submitted frame. This is the same as not chaining XrLocalDimmingModeMETA."]
4642    pub const OFF: LocalDimmingModeMETA = Self(0i32);
4643    #[doc = "Local dimming is turned on for the current submitted frame."]
4644    pub const ON: LocalDimmingModeMETA = Self(1i32);
4645    pub fn from_raw(x: i32) -> Self {
4646        Self(x)
4647    }
4648    pub fn into_raw(self) -> i32 {
4649        self.0
4650    }
4651}
4652impl fmt::Debug for LocalDimmingModeMETA {
4653    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4654        let name = match *self {
4655            Self::OFF => Some("OFF"),
4656            Self::ON => Some("ON"),
4657            _ => None,
4658        };
4659        fmt_enum(fmt, self.0, name)
4660    }
4661}
4662#[doc = "See [XrFaceExpressionFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionFB)"]
4663#[repr(transparent)]
4664#[derive(Copy, Clone, Eq, PartialEq, Default)]
4665pub struct FaceExpressionFB(i32);
4666impl FaceExpressionFB {
4667    pub const BROW_LOWERER_L: FaceExpressionFB = Self(0i32);
4668    pub const BROW_LOWERER_R: FaceExpressionFB = Self(1i32);
4669    pub const CHEEK_PUFF_L: FaceExpressionFB = Self(2i32);
4670    pub const CHEEK_PUFF_R: FaceExpressionFB = Self(3i32);
4671    pub const CHEEK_RAISER_L: FaceExpressionFB = Self(4i32);
4672    pub const CHEEK_RAISER_R: FaceExpressionFB = Self(5i32);
4673    pub const CHEEK_SUCK_L: FaceExpressionFB = Self(6i32);
4674    pub const CHEEK_SUCK_R: FaceExpressionFB = Self(7i32);
4675    pub const CHIN_RAISER_B: FaceExpressionFB = Self(8i32);
4676    pub const CHIN_RAISER_T: FaceExpressionFB = Self(9i32);
4677    pub const DIMPLER_L: FaceExpressionFB = Self(10i32);
4678    pub const DIMPLER_R: FaceExpressionFB = Self(11i32);
4679    pub const EYES_CLOSED_L: FaceExpressionFB = Self(12i32);
4680    pub const EYES_CLOSED_R: FaceExpressionFB = Self(13i32);
4681    pub const EYES_LOOK_DOWN_L: FaceExpressionFB = Self(14i32);
4682    pub const EYES_LOOK_DOWN_R: FaceExpressionFB = Self(15i32);
4683    pub const EYES_LOOK_LEFT_L: FaceExpressionFB = Self(16i32);
4684    pub const EYES_LOOK_LEFT_R: FaceExpressionFB = Self(17i32);
4685    pub const EYES_LOOK_RIGHT_L: FaceExpressionFB = Self(18i32);
4686    pub const EYES_LOOK_RIGHT_R: FaceExpressionFB = Self(19i32);
4687    pub const EYES_LOOK_UP_L: FaceExpressionFB = Self(20i32);
4688    pub const EYES_LOOK_UP_R: FaceExpressionFB = Self(21i32);
4689    pub const INNER_BROW_RAISER_L: FaceExpressionFB = Self(22i32);
4690    pub const INNER_BROW_RAISER_R: FaceExpressionFB = Self(23i32);
4691    pub const JAW_DROP: FaceExpressionFB = Self(24i32);
4692    pub const JAW_SIDEWAYS_LEFT: FaceExpressionFB = Self(25i32);
4693    pub const JAW_SIDEWAYS_RIGHT: FaceExpressionFB = Self(26i32);
4694    pub const JAW_THRUST: FaceExpressionFB = Self(27i32);
4695    pub const LID_TIGHTENER_L: FaceExpressionFB = Self(28i32);
4696    pub const LID_TIGHTENER_R: FaceExpressionFB = Self(29i32);
4697    pub const LIP_CORNER_DEPRESSOR_L: FaceExpressionFB = Self(30i32);
4698    pub const LIP_CORNER_DEPRESSOR_R: FaceExpressionFB = Self(31i32);
4699    pub const LIP_CORNER_PULLER_L: FaceExpressionFB = Self(32i32);
4700    pub const LIP_CORNER_PULLER_R: FaceExpressionFB = Self(33i32);
4701    pub const LIP_FUNNELER_LB: FaceExpressionFB = Self(34i32);
4702    pub const LIP_FUNNELER_LT: FaceExpressionFB = Self(35i32);
4703    pub const LIP_FUNNELER_RB: FaceExpressionFB = Self(36i32);
4704    pub const LIP_FUNNELER_RT: FaceExpressionFB = Self(37i32);
4705    pub const LIP_PRESSOR_L: FaceExpressionFB = Self(38i32);
4706    pub const LIP_PRESSOR_R: FaceExpressionFB = Self(39i32);
4707    pub const LIP_PUCKER_L: FaceExpressionFB = Self(40i32);
4708    pub const LIP_PUCKER_R: FaceExpressionFB = Self(41i32);
4709    pub const LIP_STRETCHER_L: FaceExpressionFB = Self(42i32);
4710    pub const LIP_STRETCHER_R: FaceExpressionFB = Self(43i32);
4711    pub const LIP_SUCK_LB: FaceExpressionFB = Self(44i32);
4712    pub const LIP_SUCK_LT: FaceExpressionFB = Self(45i32);
4713    pub const LIP_SUCK_RB: FaceExpressionFB = Self(46i32);
4714    pub const LIP_SUCK_RT: FaceExpressionFB = Self(47i32);
4715    pub const LIP_TIGHTENER_L: FaceExpressionFB = Self(48i32);
4716    pub const LIP_TIGHTENER_R: FaceExpressionFB = Self(49i32);
4717    pub const LIPS_TOWARD: FaceExpressionFB = Self(50i32);
4718    pub const LOWER_LIP_DEPRESSOR_L: FaceExpressionFB = Self(51i32);
4719    pub const LOWER_LIP_DEPRESSOR_R: FaceExpressionFB = Self(52i32);
4720    pub const MOUTH_LEFT: FaceExpressionFB = Self(53i32);
4721    pub const MOUTH_RIGHT: FaceExpressionFB = Self(54i32);
4722    pub const NOSE_WRINKLER_L: FaceExpressionFB = Self(55i32);
4723    pub const NOSE_WRINKLER_R: FaceExpressionFB = Self(56i32);
4724    pub const OUTER_BROW_RAISER_L: FaceExpressionFB = Self(57i32);
4725    pub const OUTER_BROW_RAISER_R: FaceExpressionFB = Self(58i32);
4726    pub const UPPER_LID_RAISER_L: FaceExpressionFB = Self(59i32);
4727    pub const UPPER_LID_RAISER_R: FaceExpressionFB = Self(60i32);
4728    pub const UPPER_LIP_RAISER_L: FaceExpressionFB = Self(61i32);
4729    pub const UPPER_LIP_RAISER_R: FaceExpressionFB = Self(62i32);
4730    pub const COUNT: FaceExpressionFB = Self(63i32);
4731    pub fn from_raw(x: i32) -> Self {
4732        Self(x)
4733    }
4734    pub fn into_raw(self) -> i32 {
4735        self.0
4736    }
4737}
4738impl fmt::Debug for FaceExpressionFB {
4739    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4740        let name = match *self {
4741            Self::BROW_LOWERER_L => Some("BROW_LOWERER_L"),
4742            Self::BROW_LOWERER_R => Some("BROW_LOWERER_R"),
4743            Self::CHEEK_PUFF_L => Some("CHEEK_PUFF_L"),
4744            Self::CHEEK_PUFF_R => Some("CHEEK_PUFF_R"),
4745            Self::CHEEK_RAISER_L => Some("CHEEK_RAISER_L"),
4746            Self::CHEEK_RAISER_R => Some("CHEEK_RAISER_R"),
4747            Self::CHEEK_SUCK_L => Some("CHEEK_SUCK_L"),
4748            Self::CHEEK_SUCK_R => Some("CHEEK_SUCK_R"),
4749            Self::CHIN_RAISER_B => Some("CHIN_RAISER_B"),
4750            Self::CHIN_RAISER_T => Some("CHIN_RAISER_T"),
4751            Self::DIMPLER_L => Some("DIMPLER_L"),
4752            Self::DIMPLER_R => Some("DIMPLER_R"),
4753            Self::EYES_CLOSED_L => Some("EYES_CLOSED_L"),
4754            Self::EYES_CLOSED_R => Some("EYES_CLOSED_R"),
4755            Self::EYES_LOOK_DOWN_L => Some("EYES_LOOK_DOWN_L"),
4756            Self::EYES_LOOK_DOWN_R => Some("EYES_LOOK_DOWN_R"),
4757            Self::EYES_LOOK_LEFT_L => Some("EYES_LOOK_LEFT_L"),
4758            Self::EYES_LOOK_LEFT_R => Some("EYES_LOOK_LEFT_R"),
4759            Self::EYES_LOOK_RIGHT_L => Some("EYES_LOOK_RIGHT_L"),
4760            Self::EYES_LOOK_RIGHT_R => Some("EYES_LOOK_RIGHT_R"),
4761            Self::EYES_LOOK_UP_L => Some("EYES_LOOK_UP_L"),
4762            Self::EYES_LOOK_UP_R => Some("EYES_LOOK_UP_R"),
4763            Self::INNER_BROW_RAISER_L => Some("INNER_BROW_RAISER_L"),
4764            Self::INNER_BROW_RAISER_R => Some("INNER_BROW_RAISER_R"),
4765            Self::JAW_DROP => Some("JAW_DROP"),
4766            Self::JAW_SIDEWAYS_LEFT => Some("JAW_SIDEWAYS_LEFT"),
4767            Self::JAW_SIDEWAYS_RIGHT => Some("JAW_SIDEWAYS_RIGHT"),
4768            Self::JAW_THRUST => Some("JAW_THRUST"),
4769            Self::LID_TIGHTENER_L => Some("LID_TIGHTENER_L"),
4770            Self::LID_TIGHTENER_R => Some("LID_TIGHTENER_R"),
4771            Self::LIP_CORNER_DEPRESSOR_L => Some("LIP_CORNER_DEPRESSOR_L"),
4772            Self::LIP_CORNER_DEPRESSOR_R => Some("LIP_CORNER_DEPRESSOR_R"),
4773            Self::LIP_CORNER_PULLER_L => Some("LIP_CORNER_PULLER_L"),
4774            Self::LIP_CORNER_PULLER_R => Some("LIP_CORNER_PULLER_R"),
4775            Self::LIP_FUNNELER_LB => Some("LIP_FUNNELER_LB"),
4776            Self::LIP_FUNNELER_LT => Some("LIP_FUNNELER_LT"),
4777            Self::LIP_FUNNELER_RB => Some("LIP_FUNNELER_RB"),
4778            Self::LIP_FUNNELER_RT => Some("LIP_FUNNELER_RT"),
4779            Self::LIP_PRESSOR_L => Some("LIP_PRESSOR_L"),
4780            Self::LIP_PRESSOR_R => Some("LIP_PRESSOR_R"),
4781            Self::LIP_PUCKER_L => Some("LIP_PUCKER_L"),
4782            Self::LIP_PUCKER_R => Some("LIP_PUCKER_R"),
4783            Self::LIP_STRETCHER_L => Some("LIP_STRETCHER_L"),
4784            Self::LIP_STRETCHER_R => Some("LIP_STRETCHER_R"),
4785            Self::LIP_SUCK_LB => Some("LIP_SUCK_LB"),
4786            Self::LIP_SUCK_LT => Some("LIP_SUCK_LT"),
4787            Self::LIP_SUCK_RB => Some("LIP_SUCK_RB"),
4788            Self::LIP_SUCK_RT => Some("LIP_SUCK_RT"),
4789            Self::LIP_TIGHTENER_L => Some("LIP_TIGHTENER_L"),
4790            Self::LIP_TIGHTENER_R => Some("LIP_TIGHTENER_R"),
4791            Self::LIPS_TOWARD => Some("LIPS_TOWARD"),
4792            Self::LOWER_LIP_DEPRESSOR_L => Some("LOWER_LIP_DEPRESSOR_L"),
4793            Self::LOWER_LIP_DEPRESSOR_R => Some("LOWER_LIP_DEPRESSOR_R"),
4794            Self::MOUTH_LEFT => Some("MOUTH_LEFT"),
4795            Self::MOUTH_RIGHT => Some("MOUTH_RIGHT"),
4796            Self::NOSE_WRINKLER_L => Some("NOSE_WRINKLER_L"),
4797            Self::NOSE_WRINKLER_R => Some("NOSE_WRINKLER_R"),
4798            Self::OUTER_BROW_RAISER_L => Some("OUTER_BROW_RAISER_L"),
4799            Self::OUTER_BROW_RAISER_R => Some("OUTER_BROW_RAISER_R"),
4800            Self::UPPER_LID_RAISER_L => Some("UPPER_LID_RAISER_L"),
4801            Self::UPPER_LID_RAISER_R => Some("UPPER_LID_RAISER_R"),
4802            Self::UPPER_LIP_RAISER_L => Some("UPPER_LIP_RAISER_L"),
4803            Self::UPPER_LIP_RAISER_R => Some("UPPER_LIP_RAISER_R"),
4804            Self::COUNT => Some("COUNT"),
4805            _ => None,
4806        };
4807        fmt_enum(fmt, self.0, name)
4808    }
4809}
4810#[doc = "See [XrFaceExpressionSetFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionSetFB)"]
4811#[repr(transparent)]
4812#[derive(Copy, Clone, Eq, PartialEq, Default)]
4813pub struct FaceExpressionSetFB(i32);
4814impl FaceExpressionSetFB {
4815    #[doc = "indicates that the created XrFaceTrackerFB tracks the set of blend shapes described by XrFaceExpressionFB enum, i.e. the xrGetFaceExpressionWeightsFB function returns an array of blend shapes with the count of XR_FACE_EXPRESSION_COUNT_FB and can: be indexed using XrFaceExpressionFB."]
4816    pub const DEFAULT: FaceExpressionSetFB = Self(0i32);
4817    pub fn from_raw(x: i32) -> Self {
4818        Self(x)
4819    }
4820    pub fn into_raw(self) -> i32 {
4821        self.0
4822    }
4823}
4824impl fmt::Debug for FaceExpressionSetFB {
4825    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4826        let name = match *self {
4827            Self::DEFAULT => Some("DEFAULT"),
4828            _ => None,
4829        };
4830        fmt_enum(fmt, self.0, name)
4831    }
4832}
4833#[doc = "See [XrFaceConfidenceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceConfidenceFB)"]
4834#[repr(transparent)]
4835#[derive(Copy, Clone, Eq, PartialEq, Default)]
4836pub struct FaceConfidenceFB(i32);
4837impl FaceConfidenceFB {
4838    pub const LOWER_FACE: FaceConfidenceFB = Self(0i32);
4839    pub const UPPER_FACE: FaceConfidenceFB = Self(1i32);
4840    pub const COUNT: FaceConfidenceFB = Self(2i32);
4841    pub fn from_raw(x: i32) -> Self {
4842        Self(x)
4843    }
4844    pub fn into_raw(self) -> i32 {
4845        self.0
4846    }
4847}
4848impl fmt::Debug for FaceConfidenceFB {
4849    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4850        let name = match *self {
4851            Self::LOWER_FACE => Some("LOWER_FACE"),
4852            Self::UPPER_FACE => Some("UPPER_FACE"),
4853            Self::COUNT => Some("COUNT"),
4854            _ => None,
4855        };
4856        fmt_enum(fmt, self.0, name)
4857    }
4858}
4859#[doc = "See [XrFaceExpression2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpression2FB)"]
4860#[repr(transparent)]
4861#[derive(Copy, Clone, Eq, PartialEq, Default)]
4862pub struct FaceExpression2FB(i32);
4863impl FaceExpression2FB {
4864    pub const BROW_LOWERER_L: FaceExpression2FB = Self(0i32);
4865    pub const BROW_LOWERER_R: FaceExpression2FB = Self(1i32);
4866    pub const CHEEK_PUFF_L: FaceExpression2FB = Self(2i32);
4867    pub const CHEEK_PUFF_R: FaceExpression2FB = Self(3i32);
4868    pub const CHEEK_RAISER_L: FaceExpression2FB = Self(4i32);
4869    pub const CHEEK_RAISER_R: FaceExpression2FB = Self(5i32);
4870    pub const CHEEK_SUCK_L: FaceExpression2FB = Self(6i32);
4871    pub const CHEEK_SUCK_R: FaceExpression2FB = Self(7i32);
4872    pub const CHIN_RAISER_B: FaceExpression2FB = Self(8i32);
4873    pub const CHIN_RAISER_T: FaceExpression2FB = Self(9i32);
4874    pub const DIMPLER_L: FaceExpression2FB = Self(10i32);
4875    pub const DIMPLER_R: FaceExpression2FB = Self(11i32);
4876    pub const EYES_CLOSED_L: FaceExpression2FB = Self(12i32);
4877    pub const EYES_CLOSED_R: FaceExpression2FB = Self(13i32);
4878    pub const EYES_LOOK_DOWN_L: FaceExpression2FB = Self(14i32);
4879    pub const EYES_LOOK_DOWN_R: FaceExpression2FB = Self(15i32);
4880    pub const EYES_LOOK_LEFT_L: FaceExpression2FB = Self(16i32);
4881    pub const EYES_LOOK_LEFT_R: FaceExpression2FB = Self(17i32);
4882    pub const EYES_LOOK_RIGHT_L: FaceExpression2FB = Self(18i32);
4883    pub const EYES_LOOK_RIGHT_R: FaceExpression2FB = Self(19i32);
4884    pub const EYES_LOOK_UP_L: FaceExpression2FB = Self(20i32);
4885    pub const EYES_LOOK_UP_R: FaceExpression2FB = Self(21i32);
4886    pub const INNER_BROW_RAISER_L: FaceExpression2FB = Self(22i32);
4887    pub const INNER_BROW_RAISER_R: FaceExpression2FB = Self(23i32);
4888    pub const JAW_DROP: FaceExpression2FB = Self(24i32);
4889    pub const JAW_SIDEWAYS_LEFT: FaceExpression2FB = Self(25i32);
4890    pub const JAW_SIDEWAYS_RIGHT: FaceExpression2FB = Self(26i32);
4891    pub const JAW_THRUST: FaceExpression2FB = Self(27i32);
4892    pub const LID_TIGHTENER_L: FaceExpression2FB = Self(28i32);
4893    pub const LID_TIGHTENER_R: FaceExpression2FB = Self(29i32);
4894    pub const LIP_CORNER_DEPRESSOR_L: FaceExpression2FB = Self(30i32);
4895    pub const LIP_CORNER_DEPRESSOR_R: FaceExpression2FB = Self(31i32);
4896    pub const LIP_CORNER_PULLER_L: FaceExpression2FB = Self(32i32);
4897    pub const LIP_CORNER_PULLER_R: FaceExpression2FB = Self(33i32);
4898    pub const LIP_FUNNELER_LB: FaceExpression2FB = Self(34i32);
4899    pub const LIP_FUNNELER_LT: FaceExpression2FB = Self(35i32);
4900    pub const LIP_FUNNELER_RB: FaceExpression2FB = Self(36i32);
4901    pub const LIP_FUNNELER_RT: FaceExpression2FB = Self(37i32);
4902    pub const LIP_PRESSOR_L: FaceExpression2FB = Self(38i32);
4903    pub const LIP_PRESSOR_R: FaceExpression2FB = Self(39i32);
4904    pub const LIP_PUCKER_L: FaceExpression2FB = Self(40i32);
4905    pub const LIP_PUCKER_R: FaceExpression2FB = Self(41i32);
4906    pub const LIP_STRETCHER_L: FaceExpression2FB = Self(42i32);
4907    pub const LIP_STRETCHER_R: FaceExpression2FB = Self(43i32);
4908    pub const LIP_SUCK_LB: FaceExpression2FB = Self(44i32);
4909    pub const LIP_SUCK_LT: FaceExpression2FB = Self(45i32);
4910    pub const LIP_SUCK_RB: FaceExpression2FB = Self(46i32);
4911    pub const LIP_SUCK_RT: FaceExpression2FB = Self(47i32);
4912    pub const LIP_TIGHTENER_L: FaceExpression2FB = Self(48i32);
4913    pub const LIP_TIGHTENER_R: FaceExpression2FB = Self(49i32);
4914    pub const LIPS_TOWARD: FaceExpression2FB = Self(50i32);
4915    pub const LOWER_LIP_DEPRESSOR_L: FaceExpression2FB = Self(51i32);
4916    pub const LOWER_LIP_DEPRESSOR_R: FaceExpression2FB = Self(52i32);
4917    pub const MOUTH_LEFT: FaceExpression2FB = Self(53i32);
4918    pub const MOUTH_RIGHT: FaceExpression2FB = Self(54i32);
4919    pub const NOSE_WRINKLER_L: FaceExpression2FB = Self(55i32);
4920    pub const NOSE_WRINKLER_R: FaceExpression2FB = Self(56i32);
4921    pub const OUTER_BROW_RAISER_L: FaceExpression2FB = Self(57i32);
4922    pub const OUTER_BROW_RAISER_R: FaceExpression2FB = Self(58i32);
4923    pub const UPPER_LID_RAISER_L: FaceExpression2FB = Self(59i32);
4924    pub const UPPER_LID_RAISER_R: FaceExpression2FB = Self(60i32);
4925    pub const UPPER_LIP_RAISER_L: FaceExpression2FB = Self(61i32);
4926    pub const UPPER_LIP_RAISER_R: FaceExpression2FB = Self(62i32);
4927    pub const TONGUE_TIP_INTERDENTAL: FaceExpression2FB = Self(63i32);
4928    pub const TONGUE_TIP_ALVEOLAR: FaceExpression2FB = Self(64i32);
4929    pub const TONGUE_FRONT_DORSAL_PALATE: FaceExpression2FB = Self(65i32);
4930    pub const TONGUE_MID_DORSAL_PALATE: FaceExpression2FB = Self(66i32);
4931    pub const TONGUE_BACK_DORSAL_VELAR: FaceExpression2FB = Self(67i32);
4932    pub const TONGUE_OUT: FaceExpression2FB = Self(68i32);
4933    pub const TONGUE_RETREAT: FaceExpression2FB = Self(69i32);
4934    pub const COUNT: FaceExpression2FB = Self(70i32);
4935    pub fn from_raw(x: i32) -> Self {
4936        Self(x)
4937    }
4938    pub fn into_raw(self) -> i32 {
4939        self.0
4940    }
4941}
4942impl fmt::Debug for FaceExpression2FB {
4943    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4944        let name = match *self {
4945            Self::BROW_LOWERER_L => Some("BROW_LOWERER_L"),
4946            Self::BROW_LOWERER_R => Some("BROW_LOWERER_R"),
4947            Self::CHEEK_PUFF_L => Some("CHEEK_PUFF_L"),
4948            Self::CHEEK_PUFF_R => Some("CHEEK_PUFF_R"),
4949            Self::CHEEK_RAISER_L => Some("CHEEK_RAISER_L"),
4950            Self::CHEEK_RAISER_R => Some("CHEEK_RAISER_R"),
4951            Self::CHEEK_SUCK_L => Some("CHEEK_SUCK_L"),
4952            Self::CHEEK_SUCK_R => Some("CHEEK_SUCK_R"),
4953            Self::CHIN_RAISER_B => Some("CHIN_RAISER_B"),
4954            Self::CHIN_RAISER_T => Some("CHIN_RAISER_T"),
4955            Self::DIMPLER_L => Some("DIMPLER_L"),
4956            Self::DIMPLER_R => Some("DIMPLER_R"),
4957            Self::EYES_CLOSED_L => Some("EYES_CLOSED_L"),
4958            Self::EYES_CLOSED_R => Some("EYES_CLOSED_R"),
4959            Self::EYES_LOOK_DOWN_L => Some("EYES_LOOK_DOWN_L"),
4960            Self::EYES_LOOK_DOWN_R => Some("EYES_LOOK_DOWN_R"),
4961            Self::EYES_LOOK_LEFT_L => Some("EYES_LOOK_LEFT_L"),
4962            Self::EYES_LOOK_LEFT_R => Some("EYES_LOOK_LEFT_R"),
4963            Self::EYES_LOOK_RIGHT_L => Some("EYES_LOOK_RIGHT_L"),
4964            Self::EYES_LOOK_RIGHT_R => Some("EYES_LOOK_RIGHT_R"),
4965            Self::EYES_LOOK_UP_L => Some("EYES_LOOK_UP_L"),
4966            Self::EYES_LOOK_UP_R => Some("EYES_LOOK_UP_R"),
4967            Self::INNER_BROW_RAISER_L => Some("INNER_BROW_RAISER_L"),
4968            Self::INNER_BROW_RAISER_R => Some("INNER_BROW_RAISER_R"),
4969            Self::JAW_DROP => Some("JAW_DROP"),
4970            Self::JAW_SIDEWAYS_LEFT => Some("JAW_SIDEWAYS_LEFT"),
4971            Self::JAW_SIDEWAYS_RIGHT => Some("JAW_SIDEWAYS_RIGHT"),
4972            Self::JAW_THRUST => Some("JAW_THRUST"),
4973            Self::LID_TIGHTENER_L => Some("LID_TIGHTENER_L"),
4974            Self::LID_TIGHTENER_R => Some("LID_TIGHTENER_R"),
4975            Self::LIP_CORNER_DEPRESSOR_L => Some("LIP_CORNER_DEPRESSOR_L"),
4976            Self::LIP_CORNER_DEPRESSOR_R => Some("LIP_CORNER_DEPRESSOR_R"),
4977            Self::LIP_CORNER_PULLER_L => Some("LIP_CORNER_PULLER_L"),
4978            Self::LIP_CORNER_PULLER_R => Some("LIP_CORNER_PULLER_R"),
4979            Self::LIP_FUNNELER_LB => Some("LIP_FUNNELER_LB"),
4980            Self::LIP_FUNNELER_LT => Some("LIP_FUNNELER_LT"),
4981            Self::LIP_FUNNELER_RB => Some("LIP_FUNNELER_RB"),
4982            Self::LIP_FUNNELER_RT => Some("LIP_FUNNELER_RT"),
4983            Self::LIP_PRESSOR_L => Some("LIP_PRESSOR_L"),
4984            Self::LIP_PRESSOR_R => Some("LIP_PRESSOR_R"),
4985            Self::LIP_PUCKER_L => Some("LIP_PUCKER_L"),
4986            Self::LIP_PUCKER_R => Some("LIP_PUCKER_R"),
4987            Self::LIP_STRETCHER_L => Some("LIP_STRETCHER_L"),
4988            Self::LIP_STRETCHER_R => Some("LIP_STRETCHER_R"),
4989            Self::LIP_SUCK_LB => Some("LIP_SUCK_LB"),
4990            Self::LIP_SUCK_LT => Some("LIP_SUCK_LT"),
4991            Self::LIP_SUCK_RB => Some("LIP_SUCK_RB"),
4992            Self::LIP_SUCK_RT => Some("LIP_SUCK_RT"),
4993            Self::LIP_TIGHTENER_L => Some("LIP_TIGHTENER_L"),
4994            Self::LIP_TIGHTENER_R => Some("LIP_TIGHTENER_R"),
4995            Self::LIPS_TOWARD => Some("LIPS_TOWARD"),
4996            Self::LOWER_LIP_DEPRESSOR_L => Some("LOWER_LIP_DEPRESSOR_L"),
4997            Self::LOWER_LIP_DEPRESSOR_R => Some("LOWER_LIP_DEPRESSOR_R"),
4998            Self::MOUTH_LEFT => Some("MOUTH_LEFT"),
4999            Self::MOUTH_RIGHT => Some("MOUTH_RIGHT"),
5000            Self::NOSE_WRINKLER_L => Some("NOSE_WRINKLER_L"),
5001            Self::NOSE_WRINKLER_R => Some("NOSE_WRINKLER_R"),
5002            Self::OUTER_BROW_RAISER_L => Some("OUTER_BROW_RAISER_L"),
5003            Self::OUTER_BROW_RAISER_R => Some("OUTER_BROW_RAISER_R"),
5004            Self::UPPER_LID_RAISER_L => Some("UPPER_LID_RAISER_L"),
5005            Self::UPPER_LID_RAISER_R => Some("UPPER_LID_RAISER_R"),
5006            Self::UPPER_LIP_RAISER_L => Some("UPPER_LIP_RAISER_L"),
5007            Self::UPPER_LIP_RAISER_R => Some("UPPER_LIP_RAISER_R"),
5008            Self::TONGUE_TIP_INTERDENTAL => Some("TONGUE_TIP_INTERDENTAL"),
5009            Self::TONGUE_TIP_ALVEOLAR => Some("TONGUE_TIP_ALVEOLAR"),
5010            Self::TONGUE_FRONT_DORSAL_PALATE => Some("TONGUE_FRONT_DORSAL_PALATE"),
5011            Self::TONGUE_MID_DORSAL_PALATE => Some("TONGUE_MID_DORSAL_PALATE"),
5012            Self::TONGUE_BACK_DORSAL_VELAR => Some("TONGUE_BACK_DORSAL_VELAR"),
5013            Self::TONGUE_OUT => Some("TONGUE_OUT"),
5014            Self::TONGUE_RETREAT => Some("TONGUE_RETREAT"),
5015            Self::COUNT => Some("COUNT"),
5016            _ => None,
5017        };
5018        fmt_enum(fmt, self.0, name)
5019    }
5020}
5021#[doc = "See [XrFaceExpressionSet2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionSet2FB)"]
5022#[repr(transparent)]
5023#[derive(Copy, Clone, Eq, PartialEq, Default)]
5024pub struct FaceExpressionSet2FB(i32);
5025impl FaceExpressionSet2FB {
5026    #[doc = "indicates that the created XrFaceTracker2FB tracks the set of blend shapes described by XrFaceExpression2FB enum, i.e. the xrGetFaceExpressionWeights2FB function returns an array of blend shapes with the count of XR_FACE_EXPRESSION2_COUNT_FB and can: be indexed using XrFaceExpression2FB."]
5027    pub const DEFAULT: FaceExpressionSet2FB = Self(0i32);
5028    pub fn from_raw(x: i32) -> Self {
5029        Self(x)
5030    }
5031    pub fn into_raw(self) -> i32 {
5032        self.0
5033    }
5034}
5035impl fmt::Debug for FaceExpressionSet2FB {
5036    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5037        let name = match *self {
5038            Self::DEFAULT => Some("DEFAULT"),
5039            _ => None,
5040        };
5041        fmt_enum(fmt, self.0, name)
5042    }
5043}
5044#[doc = "See [XrFaceTrackingDataSource2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackingDataSource2FB)"]
5045#[repr(transparent)]
5046#[derive(Copy, Clone, Eq, PartialEq, Default)]
5047pub struct FaceTrackingDataSource2FB(i32);
5048impl FaceTrackingDataSource2FB {
5049    #[doc = "face tracking uses visual data to estimate expressions. Face tracking may use audio to further improve the quality of face tracking."]
5050    pub const VISUAL: FaceTrackingDataSource2FB = Self(0i32);
5051    #[doc = "face tracking uses audio data to estimate expressions."]
5052    pub const AUDIO: FaceTrackingDataSource2FB = Self(1i32);
5053    pub fn from_raw(x: i32) -> Self {
5054        Self(x)
5055    }
5056    pub fn into_raw(self) -> i32 {
5057        self.0
5058    }
5059}
5060impl fmt::Debug for FaceTrackingDataSource2FB {
5061    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5062        let name = match *self {
5063            Self::VISUAL => Some("VISUAL"),
5064            Self::AUDIO => Some("AUDIO"),
5065            _ => None,
5066        };
5067        fmt_enum(fmt, self.0, name)
5068    }
5069}
5070#[doc = "See [XrFaceConfidence2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceConfidence2FB)"]
5071#[repr(transparent)]
5072#[derive(Copy, Clone, Eq, PartialEq, Default)]
5073pub struct FaceConfidence2FB(i32);
5074impl FaceConfidence2FB {
5075    pub const LOWER_FACE: FaceConfidence2FB = Self(0i32);
5076    pub const UPPER_FACE: FaceConfidence2FB = Self(1i32);
5077    pub const COUNT: FaceConfidence2FB = Self(2i32);
5078    pub fn from_raw(x: i32) -> Self {
5079        Self(x)
5080    }
5081    pub fn into_raw(self) -> i32 {
5082        self.0
5083    }
5084}
5085impl fmt::Debug for FaceConfidence2FB {
5086    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5087        let name = match *self {
5088            Self::LOWER_FACE => Some("LOWER_FACE"),
5089            Self::UPPER_FACE => Some("UPPER_FACE"),
5090            Self::COUNT => Some("COUNT"),
5091            _ => None,
5092        };
5093        fmt_enum(fmt, self.0, name)
5094    }
5095}
5096#[doc = "See [XrBodyJointFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointFB)"]
5097#[repr(transparent)]
5098#[derive(Copy, Clone, Eq, PartialEq, Default)]
5099pub struct BodyJointFB(i32);
5100impl BodyJointFB {
5101    pub const ROOT: BodyJointFB = Self(0i32);
5102    pub const HIPS: BodyJointFB = Self(1i32);
5103    pub const SPINE_LOWER: BodyJointFB = Self(2i32);
5104    pub const SPINE_MIDDLE: BodyJointFB = Self(3i32);
5105    pub const SPINE_UPPER: BodyJointFB = Self(4i32);
5106    pub const CHEST: BodyJointFB = Self(5i32);
5107    pub const NECK: BodyJointFB = Self(6i32);
5108    pub const HEAD: BodyJointFB = Self(7i32);
5109    pub const LEFT_SHOULDER: BodyJointFB = Self(8i32);
5110    pub const LEFT_SCAPULA: BodyJointFB = Self(9i32);
5111    pub const LEFT_ARM_UPPER: BodyJointFB = Self(10i32);
5112    pub const LEFT_ARM_LOWER: BodyJointFB = Self(11i32);
5113    pub const LEFT_HAND_WRIST_TWIST: BodyJointFB = Self(12i32);
5114    pub const RIGHT_SHOULDER: BodyJointFB = Self(13i32);
5115    pub const RIGHT_SCAPULA: BodyJointFB = Self(14i32);
5116    pub const RIGHT_ARM_UPPER: BodyJointFB = Self(15i32);
5117    pub const RIGHT_ARM_LOWER: BodyJointFB = Self(16i32);
5118    pub const RIGHT_HAND_WRIST_TWIST: BodyJointFB = Self(17i32);
5119    pub const LEFT_HAND_PALM: BodyJointFB = Self(18i32);
5120    pub const LEFT_HAND_WRIST: BodyJointFB = Self(19i32);
5121    pub const LEFT_HAND_THUMB_METACARPAL: BodyJointFB = Self(20i32);
5122    pub const LEFT_HAND_THUMB_PROXIMAL: BodyJointFB = Self(21i32);
5123    pub const LEFT_HAND_THUMB_DISTAL: BodyJointFB = Self(22i32);
5124    pub const LEFT_HAND_THUMB_TIP: BodyJointFB = Self(23i32);
5125    pub const LEFT_HAND_INDEX_METACARPAL: BodyJointFB = Self(24i32);
5126    pub const LEFT_HAND_INDEX_PROXIMAL: BodyJointFB = Self(25i32);
5127    pub const LEFT_HAND_INDEX_INTERMEDIATE: BodyJointFB = Self(26i32);
5128    pub const LEFT_HAND_INDEX_DISTAL: BodyJointFB = Self(27i32);
5129    pub const LEFT_HAND_INDEX_TIP: BodyJointFB = Self(28i32);
5130    pub const LEFT_HAND_MIDDLE_METACARPAL: BodyJointFB = Self(29i32);
5131    pub const LEFT_HAND_MIDDLE_PROXIMAL: BodyJointFB = Self(30i32);
5132    pub const LEFT_HAND_MIDDLE_INTERMEDIATE: BodyJointFB = Self(31i32);
5133    pub const LEFT_HAND_MIDDLE_DISTAL: BodyJointFB = Self(32i32);
5134    pub const LEFT_HAND_MIDDLE_TIP: BodyJointFB = Self(33i32);
5135    pub const LEFT_HAND_RING_METACARPAL: BodyJointFB = Self(34i32);
5136    pub const LEFT_HAND_RING_PROXIMAL: BodyJointFB = Self(35i32);
5137    pub const LEFT_HAND_RING_INTERMEDIATE: BodyJointFB = Self(36i32);
5138    pub const LEFT_HAND_RING_DISTAL: BodyJointFB = Self(37i32);
5139    pub const LEFT_HAND_RING_TIP: BodyJointFB = Self(38i32);
5140    pub const LEFT_HAND_LITTLE_METACARPAL: BodyJointFB = Self(39i32);
5141    pub const LEFT_HAND_LITTLE_PROXIMAL: BodyJointFB = Self(40i32);
5142    pub const LEFT_HAND_LITTLE_INTERMEDIATE: BodyJointFB = Self(41i32);
5143    pub const LEFT_HAND_LITTLE_DISTAL: BodyJointFB = Self(42i32);
5144    pub const LEFT_HAND_LITTLE_TIP: BodyJointFB = Self(43i32);
5145    pub const RIGHT_HAND_PALM: BodyJointFB = Self(44i32);
5146    pub const RIGHT_HAND_WRIST: BodyJointFB = Self(45i32);
5147    pub const RIGHT_HAND_THUMB_METACARPAL: BodyJointFB = Self(46i32);
5148    pub const RIGHT_HAND_THUMB_PROXIMAL: BodyJointFB = Self(47i32);
5149    pub const RIGHT_HAND_THUMB_DISTAL: BodyJointFB = Self(48i32);
5150    pub const RIGHT_HAND_THUMB_TIP: BodyJointFB = Self(49i32);
5151    pub const RIGHT_HAND_INDEX_METACARPAL: BodyJointFB = Self(50i32);
5152    pub const RIGHT_HAND_INDEX_PROXIMAL: BodyJointFB = Self(51i32);
5153    pub const RIGHT_HAND_INDEX_INTERMEDIATE: BodyJointFB = Self(52i32);
5154    pub const RIGHT_HAND_INDEX_DISTAL: BodyJointFB = Self(53i32);
5155    pub const RIGHT_HAND_INDEX_TIP: BodyJointFB = Self(54i32);
5156    pub const RIGHT_HAND_MIDDLE_METACARPAL: BodyJointFB = Self(55i32);
5157    pub const RIGHT_HAND_MIDDLE_PROXIMAL: BodyJointFB = Self(56i32);
5158    pub const RIGHT_HAND_MIDDLE_INTERMEDIATE: BodyJointFB = Self(57i32);
5159    pub const RIGHT_HAND_MIDDLE_DISTAL: BodyJointFB = Self(58i32);
5160    pub const RIGHT_HAND_MIDDLE_TIP: BodyJointFB = Self(59i32);
5161    pub const RIGHT_HAND_RING_METACARPAL: BodyJointFB = Self(60i32);
5162    pub const RIGHT_HAND_RING_PROXIMAL: BodyJointFB = Self(61i32);
5163    pub const RIGHT_HAND_RING_INTERMEDIATE: BodyJointFB = Self(62i32);
5164    pub const RIGHT_HAND_RING_DISTAL: BodyJointFB = Self(63i32);
5165    pub const RIGHT_HAND_RING_TIP: BodyJointFB = Self(64i32);
5166    pub const RIGHT_HAND_LITTLE_METACARPAL: BodyJointFB = Self(65i32);
5167    pub const RIGHT_HAND_LITTLE_PROXIMAL: BodyJointFB = Self(66i32);
5168    pub const RIGHT_HAND_LITTLE_INTERMEDIATE: BodyJointFB = Self(67i32);
5169    pub const RIGHT_HAND_LITTLE_DISTAL: BodyJointFB = Self(68i32);
5170    pub const RIGHT_HAND_LITTLE_TIP: BodyJointFB = Self(69i32);
5171    pub const COUNT: BodyJointFB = Self(70i32);
5172    pub const NONE: BodyJointFB = Self(-1i32);
5173    pub fn from_raw(x: i32) -> Self {
5174        Self(x)
5175    }
5176    pub fn into_raw(self) -> i32 {
5177        self.0
5178    }
5179}
5180impl fmt::Debug for BodyJointFB {
5181    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5182        let name = match *self {
5183            Self::ROOT => Some("ROOT"),
5184            Self::HIPS => Some("HIPS"),
5185            Self::SPINE_LOWER => Some("SPINE_LOWER"),
5186            Self::SPINE_MIDDLE => Some("SPINE_MIDDLE"),
5187            Self::SPINE_UPPER => Some("SPINE_UPPER"),
5188            Self::CHEST => Some("CHEST"),
5189            Self::NECK => Some("NECK"),
5190            Self::HEAD => Some("HEAD"),
5191            Self::LEFT_SHOULDER => Some("LEFT_SHOULDER"),
5192            Self::LEFT_SCAPULA => Some("LEFT_SCAPULA"),
5193            Self::LEFT_ARM_UPPER => Some("LEFT_ARM_UPPER"),
5194            Self::LEFT_ARM_LOWER => Some("LEFT_ARM_LOWER"),
5195            Self::LEFT_HAND_WRIST_TWIST => Some("LEFT_HAND_WRIST_TWIST"),
5196            Self::RIGHT_SHOULDER => Some("RIGHT_SHOULDER"),
5197            Self::RIGHT_SCAPULA => Some("RIGHT_SCAPULA"),
5198            Self::RIGHT_ARM_UPPER => Some("RIGHT_ARM_UPPER"),
5199            Self::RIGHT_ARM_LOWER => Some("RIGHT_ARM_LOWER"),
5200            Self::RIGHT_HAND_WRIST_TWIST => Some("RIGHT_HAND_WRIST_TWIST"),
5201            Self::LEFT_HAND_PALM => Some("LEFT_HAND_PALM"),
5202            Self::LEFT_HAND_WRIST => Some("LEFT_HAND_WRIST"),
5203            Self::LEFT_HAND_THUMB_METACARPAL => Some("LEFT_HAND_THUMB_METACARPAL"),
5204            Self::LEFT_HAND_THUMB_PROXIMAL => Some("LEFT_HAND_THUMB_PROXIMAL"),
5205            Self::LEFT_HAND_THUMB_DISTAL => Some("LEFT_HAND_THUMB_DISTAL"),
5206            Self::LEFT_HAND_THUMB_TIP => Some("LEFT_HAND_THUMB_TIP"),
5207            Self::LEFT_HAND_INDEX_METACARPAL => Some("LEFT_HAND_INDEX_METACARPAL"),
5208            Self::LEFT_HAND_INDEX_PROXIMAL => Some("LEFT_HAND_INDEX_PROXIMAL"),
5209            Self::LEFT_HAND_INDEX_INTERMEDIATE => Some("LEFT_HAND_INDEX_INTERMEDIATE"),
5210            Self::LEFT_HAND_INDEX_DISTAL => Some("LEFT_HAND_INDEX_DISTAL"),
5211            Self::LEFT_HAND_INDEX_TIP => Some("LEFT_HAND_INDEX_TIP"),
5212            Self::LEFT_HAND_MIDDLE_METACARPAL => Some("LEFT_HAND_MIDDLE_METACARPAL"),
5213            Self::LEFT_HAND_MIDDLE_PROXIMAL => Some("LEFT_HAND_MIDDLE_PROXIMAL"),
5214            Self::LEFT_HAND_MIDDLE_INTERMEDIATE => Some("LEFT_HAND_MIDDLE_INTERMEDIATE"),
5215            Self::LEFT_HAND_MIDDLE_DISTAL => Some("LEFT_HAND_MIDDLE_DISTAL"),
5216            Self::LEFT_HAND_MIDDLE_TIP => Some("LEFT_HAND_MIDDLE_TIP"),
5217            Self::LEFT_HAND_RING_METACARPAL => Some("LEFT_HAND_RING_METACARPAL"),
5218            Self::LEFT_HAND_RING_PROXIMAL => Some("LEFT_HAND_RING_PROXIMAL"),
5219            Self::LEFT_HAND_RING_INTERMEDIATE => Some("LEFT_HAND_RING_INTERMEDIATE"),
5220            Self::LEFT_HAND_RING_DISTAL => Some("LEFT_HAND_RING_DISTAL"),
5221            Self::LEFT_HAND_RING_TIP => Some("LEFT_HAND_RING_TIP"),
5222            Self::LEFT_HAND_LITTLE_METACARPAL => Some("LEFT_HAND_LITTLE_METACARPAL"),
5223            Self::LEFT_HAND_LITTLE_PROXIMAL => Some("LEFT_HAND_LITTLE_PROXIMAL"),
5224            Self::LEFT_HAND_LITTLE_INTERMEDIATE => Some("LEFT_HAND_LITTLE_INTERMEDIATE"),
5225            Self::LEFT_HAND_LITTLE_DISTAL => Some("LEFT_HAND_LITTLE_DISTAL"),
5226            Self::LEFT_HAND_LITTLE_TIP => Some("LEFT_HAND_LITTLE_TIP"),
5227            Self::RIGHT_HAND_PALM => Some("RIGHT_HAND_PALM"),
5228            Self::RIGHT_HAND_WRIST => Some("RIGHT_HAND_WRIST"),
5229            Self::RIGHT_HAND_THUMB_METACARPAL => Some("RIGHT_HAND_THUMB_METACARPAL"),
5230            Self::RIGHT_HAND_THUMB_PROXIMAL => Some("RIGHT_HAND_THUMB_PROXIMAL"),
5231            Self::RIGHT_HAND_THUMB_DISTAL => Some("RIGHT_HAND_THUMB_DISTAL"),
5232            Self::RIGHT_HAND_THUMB_TIP => Some("RIGHT_HAND_THUMB_TIP"),
5233            Self::RIGHT_HAND_INDEX_METACARPAL => Some("RIGHT_HAND_INDEX_METACARPAL"),
5234            Self::RIGHT_HAND_INDEX_PROXIMAL => Some("RIGHT_HAND_INDEX_PROXIMAL"),
5235            Self::RIGHT_HAND_INDEX_INTERMEDIATE => Some("RIGHT_HAND_INDEX_INTERMEDIATE"),
5236            Self::RIGHT_HAND_INDEX_DISTAL => Some("RIGHT_HAND_INDEX_DISTAL"),
5237            Self::RIGHT_HAND_INDEX_TIP => Some("RIGHT_HAND_INDEX_TIP"),
5238            Self::RIGHT_HAND_MIDDLE_METACARPAL => Some("RIGHT_HAND_MIDDLE_METACARPAL"),
5239            Self::RIGHT_HAND_MIDDLE_PROXIMAL => Some("RIGHT_HAND_MIDDLE_PROXIMAL"),
5240            Self::RIGHT_HAND_MIDDLE_INTERMEDIATE => Some("RIGHT_HAND_MIDDLE_INTERMEDIATE"),
5241            Self::RIGHT_HAND_MIDDLE_DISTAL => Some("RIGHT_HAND_MIDDLE_DISTAL"),
5242            Self::RIGHT_HAND_MIDDLE_TIP => Some("RIGHT_HAND_MIDDLE_TIP"),
5243            Self::RIGHT_HAND_RING_METACARPAL => Some("RIGHT_HAND_RING_METACARPAL"),
5244            Self::RIGHT_HAND_RING_PROXIMAL => Some("RIGHT_HAND_RING_PROXIMAL"),
5245            Self::RIGHT_HAND_RING_INTERMEDIATE => Some("RIGHT_HAND_RING_INTERMEDIATE"),
5246            Self::RIGHT_HAND_RING_DISTAL => Some("RIGHT_HAND_RING_DISTAL"),
5247            Self::RIGHT_HAND_RING_TIP => Some("RIGHT_HAND_RING_TIP"),
5248            Self::RIGHT_HAND_LITTLE_METACARPAL => Some("RIGHT_HAND_LITTLE_METACARPAL"),
5249            Self::RIGHT_HAND_LITTLE_PROXIMAL => Some("RIGHT_HAND_LITTLE_PROXIMAL"),
5250            Self::RIGHT_HAND_LITTLE_INTERMEDIATE => Some("RIGHT_HAND_LITTLE_INTERMEDIATE"),
5251            Self::RIGHT_HAND_LITTLE_DISTAL => Some("RIGHT_HAND_LITTLE_DISTAL"),
5252            Self::RIGHT_HAND_LITTLE_TIP => Some("RIGHT_HAND_LITTLE_TIP"),
5253            Self::COUNT => Some("COUNT"),
5254            Self::NONE => Some("NONE"),
5255            _ => None,
5256        };
5257        fmt_enum(fmt, self.0, name)
5258    }
5259}
5260#[doc = "Describes the set of body joints to track when creating an XrBodyTrackerFB. - see [XrBodyJointSetFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointSetFB)"]
5261#[repr(transparent)]
5262#[derive(Copy, Clone, Eq, PartialEq, Default)]
5263pub struct BodyJointSetFB(i32);
5264impl BodyJointSetFB {
5265    #[doc = "Indicates that the created XrBodyTrackerFB tracks the set of body joints described by XrBodyJointFB enum, i.e. the xrLocateBodyJointsFB function returns an array of joint locations with the count of XR_BODY_JOINT_COUNT_FB and can be indexed using XrBodyJointFB. This includes the upper body, both hands, and torso."]
5266    pub const DEFAULT: BodyJointSetFB = Self(0i32);
5267    #[doc = "Indicates that the created XrBodyTrackerFB tracks the set of body joints described by XrFullBodyJointMETA enum, i.e. the xrLocateBodyJointsFB function returns an array of joint locations with the count of XR_FULL_BODY_JOINT_COUNT_META and can be indexed using XrFullBodyJointMETA. This extends the joints of XR_BODY_JOINT_SET_DEFAULT_FB by also including the lower body."]
5268    pub const FULL_BODY_M: BodyJointSetFB = Self(1000274000i32);
5269    pub fn from_raw(x: i32) -> Self {
5270        Self(x)
5271    }
5272    pub fn into_raw(self) -> i32 {
5273        self.0
5274    }
5275}
5276impl fmt::Debug for BodyJointSetFB {
5277    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5278        let name = match *self {
5279            Self::DEFAULT => Some("DEFAULT"),
5280            Self::FULL_BODY_M => Some("FULL_BODY_M"),
5281            _ => None,
5282        };
5283        fmt_enum(fmt, self.0, name)
5284    }
5285}
5286#[doc = "See [XrFullBodyJointMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFullBodyJointMETA)"]
5287#[repr(transparent)]
5288#[derive(Copy, Clone, Eq, PartialEq, Default)]
5289pub struct FullBodyJointMETA(i32);
5290impl FullBodyJointMETA {
5291    pub const ROOT: FullBodyJointMETA = Self(0i32);
5292    pub const HIPS: FullBodyJointMETA = Self(1i32);
5293    pub const SPINE_LOWER: FullBodyJointMETA = Self(2i32);
5294    pub const SPINE_MIDDLE: FullBodyJointMETA = Self(3i32);
5295    pub const SPINE_UPPER: FullBodyJointMETA = Self(4i32);
5296    pub const CHEST: FullBodyJointMETA = Self(5i32);
5297    pub const NECK: FullBodyJointMETA = Self(6i32);
5298    pub const HEAD: FullBodyJointMETA = Self(7i32);
5299    pub const LEFT_SHOULDER: FullBodyJointMETA = Self(8i32);
5300    pub const LEFT_SCAPULA: FullBodyJointMETA = Self(9i32);
5301    pub const LEFT_ARM_UPPER: FullBodyJointMETA = Self(10i32);
5302    pub const LEFT_ARM_LOWER: FullBodyJointMETA = Self(11i32);
5303    pub const LEFT_HAND_WRIST_TWIST: FullBodyJointMETA = Self(12i32);
5304    pub const RIGHT_SHOULDER: FullBodyJointMETA = Self(13i32);
5305    pub const RIGHT_SCAPULA: FullBodyJointMETA = Self(14i32);
5306    pub const RIGHT_ARM_UPPER: FullBodyJointMETA = Self(15i32);
5307    pub const RIGHT_ARM_LOWER: FullBodyJointMETA = Self(16i32);
5308    pub const RIGHT_HAND_WRIST_TWIST: FullBodyJointMETA = Self(17i32);
5309    pub const LEFT_HAND_PALM: FullBodyJointMETA = Self(18i32);
5310    pub const LEFT_HAND_WRIST: FullBodyJointMETA = Self(19i32);
5311    pub const LEFT_HAND_THUMB_METACARPAL: FullBodyJointMETA = Self(20i32);
5312    pub const LEFT_HAND_THUMB_PROXIMAL: FullBodyJointMETA = Self(21i32);
5313    pub const LEFT_HAND_THUMB_DISTAL: FullBodyJointMETA = Self(22i32);
5314    pub const LEFT_HAND_THUMB_TIP: FullBodyJointMETA = Self(23i32);
5315    pub const LEFT_HAND_INDEX_METACARPAL: FullBodyJointMETA = Self(24i32);
5316    pub const LEFT_HAND_INDEX_PROXIMAL: FullBodyJointMETA = Self(25i32);
5317    pub const LEFT_HAND_INDEX_INTERMEDIATE: FullBodyJointMETA = Self(26i32);
5318    pub const LEFT_HAND_INDEX_DISTAL: FullBodyJointMETA = Self(27i32);
5319    pub const LEFT_HAND_INDEX_TIP: FullBodyJointMETA = Self(28i32);
5320    pub const LEFT_HAND_MIDDLE_METACARPAL: FullBodyJointMETA = Self(29i32);
5321    pub const LEFT_HAND_MIDDLE_PROXIMAL: FullBodyJointMETA = Self(30i32);
5322    pub const LEFT_HAND_MIDDLE_INTERMEDIATE: FullBodyJointMETA = Self(31i32);
5323    pub const LEFT_HAND_MIDDLE_DISTAL: FullBodyJointMETA = Self(32i32);
5324    pub const LEFT_HAND_MIDDLE_TIP: FullBodyJointMETA = Self(33i32);
5325    pub const LEFT_HAND_RING_METACARPAL: FullBodyJointMETA = Self(34i32);
5326    pub const LEFT_HAND_RING_PROXIMAL: FullBodyJointMETA = Self(35i32);
5327    pub const LEFT_HAND_RING_INTERMEDIATE: FullBodyJointMETA = Self(36i32);
5328    pub const LEFT_HAND_RING_DISTAL: FullBodyJointMETA = Self(37i32);
5329    pub const LEFT_HAND_RING_TIP: FullBodyJointMETA = Self(38i32);
5330    pub const LEFT_HAND_LITTLE_METACARPAL: FullBodyJointMETA = Self(39i32);
5331    pub const LEFT_HAND_LITTLE_PROXIMAL: FullBodyJointMETA = Self(40i32);
5332    pub const LEFT_HAND_LITTLE_INTERMEDIATE: FullBodyJointMETA = Self(41i32);
5333    pub const LEFT_HAND_LITTLE_DISTAL: FullBodyJointMETA = Self(42i32);
5334    pub const LEFT_HAND_LITTLE_TIP: FullBodyJointMETA = Self(43i32);
5335    pub const RIGHT_HAND_PALM: FullBodyJointMETA = Self(44i32);
5336    pub const RIGHT_HAND_WRIST: FullBodyJointMETA = Self(45i32);
5337    pub const RIGHT_HAND_THUMB_METACARPAL: FullBodyJointMETA = Self(46i32);
5338    pub const RIGHT_HAND_THUMB_PROXIMAL: FullBodyJointMETA = Self(47i32);
5339    pub const RIGHT_HAND_THUMB_DISTAL: FullBodyJointMETA = Self(48i32);
5340    pub const RIGHT_HAND_THUMB_TIP: FullBodyJointMETA = Self(49i32);
5341    pub const RIGHT_HAND_INDEX_METACARPAL: FullBodyJointMETA = Self(50i32);
5342    pub const RIGHT_HAND_INDEX_PROXIMAL: FullBodyJointMETA = Self(51i32);
5343    pub const RIGHT_HAND_INDEX_INTERMEDIATE: FullBodyJointMETA = Self(52i32);
5344    pub const RIGHT_HAND_INDEX_DISTAL: FullBodyJointMETA = Self(53i32);
5345    pub const RIGHT_HAND_INDEX_TIP: FullBodyJointMETA = Self(54i32);
5346    pub const RIGHT_HAND_MIDDLE_METACARPAL: FullBodyJointMETA = Self(55i32);
5347    pub const RIGHT_HAND_MIDDLE_PROXIMAL: FullBodyJointMETA = Self(56i32);
5348    pub const RIGHT_HAND_MIDDLE_INTERMEDIATE: FullBodyJointMETA = Self(57i32);
5349    pub const RIGHT_HAND_MIDDLE_DISTAL: FullBodyJointMETA = Self(58i32);
5350    pub const RIGHT_HAND_MIDDLE_TIP: FullBodyJointMETA = Self(59i32);
5351    pub const RIGHT_HAND_RING_METACARPAL: FullBodyJointMETA = Self(60i32);
5352    pub const RIGHT_HAND_RING_PROXIMAL: FullBodyJointMETA = Self(61i32);
5353    pub const RIGHT_HAND_RING_INTERMEDIATE: FullBodyJointMETA = Self(62i32);
5354    pub const RIGHT_HAND_RING_DISTAL: FullBodyJointMETA = Self(63i32);
5355    pub const RIGHT_HAND_RING_TIP: FullBodyJointMETA = Self(64i32);
5356    pub const RIGHT_HAND_LITTLE_METACARPAL: FullBodyJointMETA = Self(65i32);
5357    pub const RIGHT_HAND_LITTLE_PROXIMAL: FullBodyJointMETA = Self(66i32);
5358    pub const RIGHT_HAND_LITTLE_INTERMEDIATE: FullBodyJointMETA = Self(67i32);
5359    pub const RIGHT_HAND_LITTLE_DISTAL: FullBodyJointMETA = Self(68i32);
5360    pub const RIGHT_HAND_LITTLE_TIP: FullBodyJointMETA = Self(69i32);
5361    pub const LEFT_UPPER_LEG: FullBodyJointMETA = Self(70i32);
5362    pub const LEFT_LOWER_LEG: FullBodyJointMETA = Self(71i32);
5363    pub const LEFT_FOOT_ANKLE_TWIST: FullBodyJointMETA = Self(72i32);
5364    pub const LEFT_FOOT_ANKLE: FullBodyJointMETA = Self(73i32);
5365    pub const LEFT_FOOT_SUBTALAR: FullBodyJointMETA = Self(74i32);
5366    pub const LEFT_FOOT_TRANSVERSE: FullBodyJointMETA = Self(75i32);
5367    pub const LEFT_FOOT_BALL: FullBodyJointMETA = Self(76i32);
5368    pub const RIGHT_UPPER_LEG: FullBodyJointMETA = Self(77i32);
5369    pub const RIGHT_LOWER_LEG: FullBodyJointMETA = Self(78i32);
5370    pub const RIGHT_FOOT_ANKLE_TWIST: FullBodyJointMETA = Self(79i32);
5371    pub const RIGHT_FOOT_ANKLE: FullBodyJointMETA = Self(80i32);
5372    pub const RIGHT_FOOT_SUBTALAR: FullBodyJointMETA = Self(81i32);
5373    pub const RIGHT_FOOT_TRANSVERSE: FullBodyJointMETA = Self(82i32);
5374    pub const RIGHT_FOOT_BALL: FullBodyJointMETA = Self(83i32);
5375    pub const COUNT: FullBodyJointMETA = Self(84i32);
5376    pub const NONE: FullBodyJointMETA = Self(85i32);
5377    pub fn from_raw(x: i32) -> Self {
5378        Self(x)
5379    }
5380    pub fn into_raw(self) -> i32 {
5381        self.0
5382    }
5383}
5384impl fmt::Debug for FullBodyJointMETA {
5385    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5386        let name = match *self {
5387            Self::ROOT => Some("ROOT"),
5388            Self::HIPS => Some("HIPS"),
5389            Self::SPINE_LOWER => Some("SPINE_LOWER"),
5390            Self::SPINE_MIDDLE => Some("SPINE_MIDDLE"),
5391            Self::SPINE_UPPER => Some("SPINE_UPPER"),
5392            Self::CHEST => Some("CHEST"),
5393            Self::NECK => Some("NECK"),
5394            Self::HEAD => Some("HEAD"),
5395            Self::LEFT_SHOULDER => Some("LEFT_SHOULDER"),
5396            Self::LEFT_SCAPULA => Some("LEFT_SCAPULA"),
5397            Self::LEFT_ARM_UPPER => Some("LEFT_ARM_UPPER"),
5398            Self::LEFT_ARM_LOWER => Some("LEFT_ARM_LOWER"),
5399            Self::LEFT_HAND_WRIST_TWIST => Some("LEFT_HAND_WRIST_TWIST"),
5400            Self::RIGHT_SHOULDER => Some("RIGHT_SHOULDER"),
5401            Self::RIGHT_SCAPULA => Some("RIGHT_SCAPULA"),
5402            Self::RIGHT_ARM_UPPER => Some("RIGHT_ARM_UPPER"),
5403            Self::RIGHT_ARM_LOWER => Some("RIGHT_ARM_LOWER"),
5404            Self::RIGHT_HAND_WRIST_TWIST => Some("RIGHT_HAND_WRIST_TWIST"),
5405            Self::LEFT_HAND_PALM => Some("LEFT_HAND_PALM"),
5406            Self::LEFT_HAND_WRIST => Some("LEFT_HAND_WRIST"),
5407            Self::LEFT_HAND_THUMB_METACARPAL => Some("LEFT_HAND_THUMB_METACARPAL"),
5408            Self::LEFT_HAND_THUMB_PROXIMAL => Some("LEFT_HAND_THUMB_PROXIMAL"),
5409            Self::LEFT_HAND_THUMB_DISTAL => Some("LEFT_HAND_THUMB_DISTAL"),
5410            Self::LEFT_HAND_THUMB_TIP => Some("LEFT_HAND_THUMB_TIP"),
5411            Self::LEFT_HAND_INDEX_METACARPAL => Some("LEFT_HAND_INDEX_METACARPAL"),
5412            Self::LEFT_HAND_INDEX_PROXIMAL => Some("LEFT_HAND_INDEX_PROXIMAL"),
5413            Self::LEFT_HAND_INDEX_INTERMEDIATE => Some("LEFT_HAND_INDEX_INTERMEDIATE"),
5414            Self::LEFT_HAND_INDEX_DISTAL => Some("LEFT_HAND_INDEX_DISTAL"),
5415            Self::LEFT_HAND_INDEX_TIP => Some("LEFT_HAND_INDEX_TIP"),
5416            Self::LEFT_HAND_MIDDLE_METACARPAL => Some("LEFT_HAND_MIDDLE_METACARPAL"),
5417            Self::LEFT_HAND_MIDDLE_PROXIMAL => Some("LEFT_HAND_MIDDLE_PROXIMAL"),
5418            Self::LEFT_HAND_MIDDLE_INTERMEDIATE => Some("LEFT_HAND_MIDDLE_INTERMEDIATE"),
5419            Self::LEFT_HAND_MIDDLE_DISTAL => Some("LEFT_HAND_MIDDLE_DISTAL"),
5420            Self::LEFT_HAND_MIDDLE_TIP => Some("LEFT_HAND_MIDDLE_TIP"),
5421            Self::LEFT_HAND_RING_METACARPAL => Some("LEFT_HAND_RING_METACARPAL"),
5422            Self::LEFT_HAND_RING_PROXIMAL => Some("LEFT_HAND_RING_PROXIMAL"),
5423            Self::LEFT_HAND_RING_INTERMEDIATE => Some("LEFT_HAND_RING_INTERMEDIATE"),
5424            Self::LEFT_HAND_RING_DISTAL => Some("LEFT_HAND_RING_DISTAL"),
5425            Self::LEFT_HAND_RING_TIP => Some("LEFT_HAND_RING_TIP"),
5426            Self::LEFT_HAND_LITTLE_METACARPAL => Some("LEFT_HAND_LITTLE_METACARPAL"),
5427            Self::LEFT_HAND_LITTLE_PROXIMAL => Some("LEFT_HAND_LITTLE_PROXIMAL"),
5428            Self::LEFT_HAND_LITTLE_INTERMEDIATE => Some("LEFT_HAND_LITTLE_INTERMEDIATE"),
5429            Self::LEFT_HAND_LITTLE_DISTAL => Some("LEFT_HAND_LITTLE_DISTAL"),
5430            Self::LEFT_HAND_LITTLE_TIP => Some("LEFT_HAND_LITTLE_TIP"),
5431            Self::RIGHT_HAND_PALM => Some("RIGHT_HAND_PALM"),
5432            Self::RIGHT_HAND_WRIST => Some("RIGHT_HAND_WRIST"),
5433            Self::RIGHT_HAND_THUMB_METACARPAL => Some("RIGHT_HAND_THUMB_METACARPAL"),
5434            Self::RIGHT_HAND_THUMB_PROXIMAL => Some("RIGHT_HAND_THUMB_PROXIMAL"),
5435            Self::RIGHT_HAND_THUMB_DISTAL => Some("RIGHT_HAND_THUMB_DISTAL"),
5436            Self::RIGHT_HAND_THUMB_TIP => Some("RIGHT_HAND_THUMB_TIP"),
5437            Self::RIGHT_HAND_INDEX_METACARPAL => Some("RIGHT_HAND_INDEX_METACARPAL"),
5438            Self::RIGHT_HAND_INDEX_PROXIMAL => Some("RIGHT_HAND_INDEX_PROXIMAL"),
5439            Self::RIGHT_HAND_INDEX_INTERMEDIATE => Some("RIGHT_HAND_INDEX_INTERMEDIATE"),
5440            Self::RIGHT_HAND_INDEX_DISTAL => Some("RIGHT_HAND_INDEX_DISTAL"),
5441            Self::RIGHT_HAND_INDEX_TIP => Some("RIGHT_HAND_INDEX_TIP"),
5442            Self::RIGHT_HAND_MIDDLE_METACARPAL => Some("RIGHT_HAND_MIDDLE_METACARPAL"),
5443            Self::RIGHT_HAND_MIDDLE_PROXIMAL => Some("RIGHT_HAND_MIDDLE_PROXIMAL"),
5444            Self::RIGHT_HAND_MIDDLE_INTERMEDIATE => Some("RIGHT_HAND_MIDDLE_INTERMEDIATE"),
5445            Self::RIGHT_HAND_MIDDLE_DISTAL => Some("RIGHT_HAND_MIDDLE_DISTAL"),
5446            Self::RIGHT_HAND_MIDDLE_TIP => Some("RIGHT_HAND_MIDDLE_TIP"),
5447            Self::RIGHT_HAND_RING_METACARPAL => Some("RIGHT_HAND_RING_METACARPAL"),
5448            Self::RIGHT_HAND_RING_PROXIMAL => Some("RIGHT_HAND_RING_PROXIMAL"),
5449            Self::RIGHT_HAND_RING_INTERMEDIATE => Some("RIGHT_HAND_RING_INTERMEDIATE"),
5450            Self::RIGHT_HAND_RING_DISTAL => Some("RIGHT_HAND_RING_DISTAL"),
5451            Self::RIGHT_HAND_RING_TIP => Some("RIGHT_HAND_RING_TIP"),
5452            Self::RIGHT_HAND_LITTLE_METACARPAL => Some("RIGHT_HAND_LITTLE_METACARPAL"),
5453            Self::RIGHT_HAND_LITTLE_PROXIMAL => Some("RIGHT_HAND_LITTLE_PROXIMAL"),
5454            Self::RIGHT_HAND_LITTLE_INTERMEDIATE => Some("RIGHT_HAND_LITTLE_INTERMEDIATE"),
5455            Self::RIGHT_HAND_LITTLE_DISTAL => Some("RIGHT_HAND_LITTLE_DISTAL"),
5456            Self::RIGHT_HAND_LITTLE_TIP => Some("RIGHT_HAND_LITTLE_TIP"),
5457            Self::LEFT_UPPER_LEG => Some("LEFT_UPPER_LEG"),
5458            Self::LEFT_LOWER_LEG => Some("LEFT_LOWER_LEG"),
5459            Self::LEFT_FOOT_ANKLE_TWIST => Some("LEFT_FOOT_ANKLE_TWIST"),
5460            Self::LEFT_FOOT_ANKLE => Some("LEFT_FOOT_ANKLE"),
5461            Self::LEFT_FOOT_SUBTALAR => Some("LEFT_FOOT_SUBTALAR"),
5462            Self::LEFT_FOOT_TRANSVERSE => Some("LEFT_FOOT_TRANSVERSE"),
5463            Self::LEFT_FOOT_BALL => Some("LEFT_FOOT_BALL"),
5464            Self::RIGHT_UPPER_LEG => Some("RIGHT_UPPER_LEG"),
5465            Self::RIGHT_LOWER_LEG => Some("RIGHT_LOWER_LEG"),
5466            Self::RIGHT_FOOT_ANKLE_TWIST => Some("RIGHT_FOOT_ANKLE_TWIST"),
5467            Self::RIGHT_FOOT_ANKLE => Some("RIGHT_FOOT_ANKLE"),
5468            Self::RIGHT_FOOT_SUBTALAR => Some("RIGHT_FOOT_SUBTALAR"),
5469            Self::RIGHT_FOOT_TRANSVERSE => Some("RIGHT_FOOT_TRANSVERSE"),
5470            Self::RIGHT_FOOT_BALL => Some("RIGHT_FOOT_BALL"),
5471            Self::COUNT => Some("COUNT"),
5472            Self::NONE => Some("NONE"),
5473            _ => None,
5474        };
5475        fmt_enum(fmt, self.0, name)
5476    }
5477}
5478#[doc = "See [XrBodyTrackingCalibrationStateMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackingCalibrationStateMETA)"]
5479#[repr(transparent)]
5480#[derive(Copy, Clone, Eq, PartialEq)]
5481pub struct BodyTrackingCalibrationStateMETA(i32);
5482impl BodyTrackingCalibrationStateMETA {
5483    #[doc = "Valid calibration, body tracking expected to be stable."]
5484    pub const VALID: BodyTrackingCalibrationStateMETA = Self(1i32);
5485    #[doc = "Calibration is in progress, body joint poses from XR_FB_body_tracking are valid to read and internally consistent within a single call, but may: be more variable than normal, shifting dramatically before calibration ends."]
5486    pub const CALIBRATING: BodyTrackingCalibrationStateMETA = Self(2i32);
5487    #[doc = "Calibration is invalid, accessing the body joint poses from XR_FB_body_tracking is defined behavior but their contents are unspecified. Tracking data may: be read but must: not be interpreted as body tracking poses."]
5488    pub const INVALID: BodyTrackingCalibrationStateMETA = Self(3i32);
5489    pub fn from_raw(x: i32) -> Self {
5490        Self(x)
5491    }
5492    pub fn into_raw(self) -> i32 {
5493        self.0
5494    }
5495}
5496impl fmt::Debug for BodyTrackingCalibrationStateMETA {
5497    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5498        let name = match *self {
5499            Self::VALID => Some("VALID"),
5500            Self::CALIBRATING => Some("CALIBRATING"),
5501            Self::INVALID => Some("INVALID"),
5502            _ => None,
5503        };
5504        fmt_enum(fmt, self.0, name)
5505    }
5506}
5507#[doc = "See [XrEyePositionFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyePositionFB)"]
5508#[repr(transparent)]
5509#[derive(Copy, Clone, Eq, PartialEq, Default)]
5510pub struct EyePositionFB(i32);
5511impl EyePositionFB {
5512    #[doc = "Specifies the position of the left eye."]
5513    pub const LEFT: EyePositionFB = Self(0i32);
5514    #[doc = "Specifies the position of the right eye."]
5515    pub const RIGHT: EyePositionFB = Self(1i32);
5516    #[doc = "Specifies the number of eyes tracked."]
5517    pub const COUNT: EyePositionFB = Self(2i32);
5518    pub fn from_raw(x: i32) -> Self {
5519        Self(x)
5520    }
5521    pub fn into_raw(self) -> i32 {
5522        self.0
5523    }
5524}
5525impl fmt::Debug for EyePositionFB {
5526    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5527        let name = match *self {
5528            Self::LEFT => Some("LEFT"),
5529            Self::RIGHT => Some("RIGHT"),
5530            Self::COUNT => Some("COUNT"),
5531            _ => None,
5532        };
5533        fmt_enum(fmt, self.0, name)
5534    }
5535}
5536#[doc = "See [XrTrackingOptimizationSettingsDomainQCOM](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackingOptimizationSettingsDomainQCOM)"]
5537#[repr(transparent)]
5538#[derive(Copy, Clone, Eq, PartialEq)]
5539pub struct TrackingOptimizationSettingsDomainQCOM(i32);
5540impl TrackingOptimizationSettingsDomainQCOM {
5541    #[doc = "Setting applies to all QCOM tracking extensions."]
5542    pub const ALL: TrackingOptimizationSettingsDomainQCOM = Self(1i32);
5543    pub fn from_raw(x: i32) -> Self {
5544        Self(x)
5545    }
5546    pub fn into_raw(self) -> i32 {
5547        self.0
5548    }
5549}
5550impl fmt::Debug for TrackingOptimizationSettingsDomainQCOM {
5551    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5552        let name = match *self {
5553            Self::ALL => Some("ALL"),
5554            _ => None,
5555        };
5556        fmt_enum(fmt, self.0, name)
5557    }
5558}
5559#[doc = "See [XrTrackingOptimizationSettingsHintQCOM](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackingOptimizationSettingsHintQCOM)"]
5560#[repr(transparent)]
5561#[derive(Copy, Clone, Eq, PartialEq, Default)]
5562pub struct TrackingOptimizationSettingsHintQCOM(i32);
5563impl TrackingOptimizationSettingsHintQCOM {
5564    #[doc = "Used by the application to indicate that it does not have a preference to optimize for. The run-time is understood to choose a balanced approach."]
5565    pub const NONE: TrackingOptimizationSettingsHintQCOM = Self(0i32);
5566    #[doc = "Used by the application to indicate that it prefers tracking to be optimized for long range, possibly at the expense of competing interests."]
5567    pub const LONG_RANGE_PRIORIZATION: TrackingOptimizationSettingsHintQCOM = Self(1i32);
5568    #[doc = "Used by the application to indicate that it prefers tracking to be optimized for close range, possibly at the expense of competing interests."]
5569    pub const CLOSE_RANGE_PRIORIZATION: TrackingOptimizationSettingsHintQCOM = Self(2i32);
5570    #[doc = "Used by the application to indicate that it prefers tracking to be optimized for low power consumption, possibly at the expense of competing interests."]
5571    pub const LOW_POWER_PRIORIZATION: TrackingOptimizationSettingsHintQCOM = Self(3i32);
5572    #[doc = "Used by the application to indicate that it prefers tracking to be optimized for increased tracking performance, possibly at the cost of increased power consumption."]
5573    pub const HIGH_POWER_PRIORIZATION: TrackingOptimizationSettingsHintQCOM = Self(4i32);
5574    pub fn from_raw(x: i32) -> Self {
5575        Self(x)
5576    }
5577    pub fn into_raw(self) -> i32 {
5578        self.0
5579    }
5580}
5581impl fmt::Debug for TrackingOptimizationSettingsHintQCOM {
5582    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5583        let name = match *self {
5584            Self::NONE => Some("NONE"),
5585            Self::LONG_RANGE_PRIORIZATION => Some("LONG_RANGE_PRIORIZATION"),
5586            Self::CLOSE_RANGE_PRIORIZATION => Some("CLOSE_RANGE_PRIORIZATION"),
5587            Self::LOW_POWER_PRIORIZATION => Some("LOW_POWER_PRIORIZATION"),
5588            Self::HIGH_POWER_PRIORIZATION => Some("HIGH_POWER_PRIORIZATION"),
5589            _ => None,
5590        };
5591        fmt_enum(fmt, self.0, name)
5592    }
5593}
5594#[doc = "See [XrForceFeedbackCurlLocationMNDX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrForceFeedbackCurlLocationMNDX)"]
5595#[repr(transparent)]
5596#[derive(Copy, Clone, Eq, PartialEq, Default)]
5597pub struct ForceFeedbackCurlLocationMNDX(i32);
5598impl ForceFeedbackCurlLocationMNDX {
5599    #[doc = "force feedback for thumb curl"]
5600    pub const THUMB_CURL: ForceFeedbackCurlLocationMNDX = Self(0i32);
5601    #[doc = "force feedback for index finger curl"]
5602    pub const INDEX_CURL: ForceFeedbackCurlLocationMNDX = Self(1i32);
5603    #[doc = "force feedback for middle finger curl"]
5604    pub const MIDDLE_CURL: ForceFeedbackCurlLocationMNDX = Self(2i32);
5605    #[doc = "force feedback for ring finger curl"]
5606    pub const RING_CURL: ForceFeedbackCurlLocationMNDX = Self(3i32);
5607    #[doc = "force feedback for little finger curl"]
5608    pub const LITTLE_CURL: ForceFeedbackCurlLocationMNDX = Self(4i32);
5609    pub fn from_raw(x: i32) -> Self {
5610        Self(x)
5611    }
5612    pub fn into_raw(self) -> i32 {
5613        self.0
5614    }
5615}
5616impl fmt::Debug for ForceFeedbackCurlLocationMNDX {
5617    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5618        let name = match *self {
5619            Self::THUMB_CURL => Some("THUMB_CURL"),
5620            Self::INDEX_CURL => Some("INDEX_CURL"),
5621            Self::MIDDLE_CURL => Some("MIDDLE_CURL"),
5622            Self::RING_CURL => Some("RING_CURL"),
5623            Self::LITTLE_CURL => Some("LITTLE_CURL"),
5624            _ => None,
5625        };
5626        fmt_enum(fmt, self.0, name)
5627    }
5628}
5629#[doc = "See [XrPlaneDetectionStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectionStateEXT)"]
5630#[repr(transparent)]
5631#[derive(Copy, Clone, Eq, PartialEq, Default)]
5632pub struct PlaneDetectionStateEXT(i32);
5633impl PlaneDetectionStateEXT {
5634    pub const NONE: PlaneDetectionStateEXT = Self(0i32);
5635    pub const PENDING: PlaneDetectionStateEXT = Self(1i32);
5636    pub const DONE: PlaneDetectionStateEXT = Self(2i32);
5637    pub const ERROR: PlaneDetectionStateEXT = Self(3i32);
5638    pub const FATAL: PlaneDetectionStateEXT = Self(4i32);
5639    pub fn from_raw(x: i32) -> Self {
5640        Self(x)
5641    }
5642    pub fn into_raw(self) -> i32 {
5643        self.0
5644    }
5645}
5646impl fmt::Debug for PlaneDetectionStateEXT {
5647    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5648        let name = match *self {
5649            Self::NONE => Some("NONE"),
5650            Self::PENDING => Some("PENDING"),
5651            Self::DONE => Some("DONE"),
5652            Self::ERROR => Some("ERROR"),
5653            Self::FATAL => Some("FATAL"),
5654            _ => None,
5655        };
5656        fmt_enum(fmt, self.0, name)
5657    }
5658}
5659#[doc = "See [XrPlaneDetectorOrientationEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorOrientationEXT)"]
5660#[repr(transparent)]
5661#[derive(Copy, Clone, Eq, PartialEq, Default)]
5662pub struct PlaneDetectorOrientationEXT(i32);
5663impl PlaneDetectorOrientationEXT {
5664    #[doc = "The detected plane is horizontal and faces upward (e.g. floor)."]
5665    pub const HORIZONTAL_UPWARD: PlaneDetectorOrientationEXT = Self(0i32);
5666    #[doc = "The detected plane is horizontal and faces downward (e.g. ceiling)."]
5667    pub const HORIZONTAL_DOWNWARD: PlaneDetectorOrientationEXT = Self(1i32);
5668    #[doc = "The detected plane is vertical (e.g. wall)."]
5669    pub const VERTICAL: PlaneDetectorOrientationEXT = Self(2i32);
5670    #[doc = "The detected plane has an arbitrary, non-vertical and non-horizontal orientation."]
5671    pub const ARBITRARY: PlaneDetectorOrientationEXT = Self(3i32);
5672    pub fn from_raw(x: i32) -> Self {
5673        Self(x)
5674    }
5675    pub fn into_raw(self) -> i32 {
5676        self.0
5677    }
5678}
5679impl fmt::Debug for PlaneDetectorOrientationEXT {
5680    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5681        let name = match *self {
5682            Self::HORIZONTAL_UPWARD => Some("HORIZONTAL_UPWARD"),
5683            Self::HORIZONTAL_DOWNWARD => Some("HORIZONTAL_DOWNWARD"),
5684            Self::VERTICAL => Some("VERTICAL"),
5685            Self::ARBITRARY => Some("ARBITRARY"),
5686            _ => None,
5687        };
5688        fmt_enum(fmt, self.0, name)
5689    }
5690}
5691#[doc = "See [XrPlaneDetectorSemanticTypeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorSemanticTypeEXT)"]
5692#[repr(transparent)]
5693#[derive(Copy, Clone, Eq, PartialEq, Default)]
5694pub struct PlaneDetectorSemanticTypeEXT(i32);
5695impl PlaneDetectorSemanticTypeEXT {
5696    #[doc = "The runtime was unable to classify this plane."]
5697    pub const UNDEFINED: PlaneDetectorSemanticTypeEXT = Self(0i32);
5698    #[doc = "The detected plane is a ceiling."]
5699    pub const CEILING: PlaneDetectorSemanticTypeEXT = Self(1i32);
5700    #[doc = "The detected plane is a floor."]
5701    pub const FLOOR: PlaneDetectorSemanticTypeEXT = Self(2i32);
5702    #[doc = "The detected plane is a wall."]
5703    pub const WALL: PlaneDetectorSemanticTypeEXT = Self(3i32);
5704    #[doc = "The detected plane is a platform, like a table."]
5705    pub const PLATFORM: PlaneDetectorSemanticTypeEXT = Self(4i32);
5706    pub fn from_raw(x: i32) -> Self {
5707        Self(x)
5708    }
5709    pub fn into_raw(self) -> i32 {
5710        self.0
5711    }
5712}
5713impl fmt::Debug for PlaneDetectorSemanticTypeEXT {
5714    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5715        let name = match *self {
5716            Self::UNDEFINED => Some("UNDEFINED"),
5717            Self::CEILING => Some("CEILING"),
5718            Self::FLOOR => Some("FLOOR"),
5719            Self::WALL => Some("WALL"),
5720            Self::PLATFORM => Some("PLATFORM"),
5721            _ => None,
5722        };
5723        fmt_enum(fmt, self.0, name)
5724    }
5725}
5726#[doc = "See [XrVirtualKeyboardLocationTypeMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardLocationTypeMETA)"]
5727#[repr(transparent)]
5728#[derive(Copy, Clone, Eq, PartialEq, Default)]
5729pub struct VirtualKeyboardLocationTypeMETA(i32);
5730impl VirtualKeyboardLocationTypeMETA {
5731    #[doc = "Indicates that the application will provide the position and scale of the keyboard."]
5732    pub const CUSTOM: VirtualKeyboardLocationTypeMETA = Self(0i32);
5733    #[doc = "Indicates that the runtime will set the position and scale for far field keyboard."]
5734    pub const FAR: VirtualKeyboardLocationTypeMETA = Self(1i32);
5735    #[doc = "Indicates that the runtime will set the position and scale for direct interaction keyboard."]
5736    pub const DIRECT: VirtualKeyboardLocationTypeMETA = Self(2i32);
5737    pub fn from_raw(x: i32) -> Self {
5738        Self(x)
5739    }
5740    pub fn into_raw(self) -> i32 {
5741        self.0
5742    }
5743}
5744impl fmt::Debug for VirtualKeyboardLocationTypeMETA {
5745    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5746        let name = match *self {
5747            Self::CUSTOM => Some("CUSTOM"),
5748            Self::FAR => Some("FAR"),
5749            Self::DIRECT => Some("DIRECT"),
5750            _ => None,
5751        };
5752        fmt_enum(fmt, self.0, name)
5753    }
5754}
5755#[doc = "See [XrVirtualKeyboardInputSourceMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardInputSourceMETA)"]
5756#[repr(transparent)]
5757#[derive(Copy, Clone, Eq, PartialEq)]
5758pub struct VirtualKeyboardInputSourceMETA(i32);
5759impl VirtualKeyboardInputSourceMETA {
5760    #[doc = "Left controller ray."]
5761    pub const CONTROLLER_RAY_LEFT: VirtualKeyboardInputSourceMETA = Self(1i32);
5762    #[doc = "Right controller ray."]
5763    pub const CONTROLLER_RAY_RIGHT: VirtualKeyboardInputSourceMETA = Self(2i32);
5764    #[doc = "Left hand ray."]
5765    pub const HAND_RAY_LEFT: VirtualKeyboardInputSourceMETA = Self(3i32);
5766    #[doc = "Right hand ray."]
5767    pub const HAND_RAY_RIGHT: VirtualKeyboardInputSourceMETA = Self(4i32);
5768    #[doc = "Left controller direct touch."]
5769    pub const CONTROLLER_DIRECT_LEFT: VirtualKeyboardInputSourceMETA = Self(5i32);
5770    #[doc = "Right controller direct touch."]
5771    pub const CONTROLLER_DIRECT_RIGHT: VirtualKeyboardInputSourceMETA = Self(6i32);
5772    #[doc = "Left hand direct touch."]
5773    pub const HAND_DIRECT_INDEX_TIP_LEFT: VirtualKeyboardInputSourceMETA = Self(7i32);
5774    #[doc = "Right hand direct touch."]
5775    pub const HAND_DIRECT_INDEX_TIP_RIGHT: VirtualKeyboardInputSourceMETA = Self(8i32);
5776    pub fn from_raw(x: i32) -> Self {
5777        Self(x)
5778    }
5779    pub fn into_raw(self) -> i32 {
5780        self.0
5781    }
5782}
5783impl fmt::Debug for VirtualKeyboardInputSourceMETA {
5784    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5785        let name = match *self {
5786            Self::CONTROLLER_RAY_LEFT => Some("CONTROLLER_RAY_LEFT"),
5787            Self::CONTROLLER_RAY_RIGHT => Some("CONTROLLER_RAY_RIGHT"),
5788            Self::HAND_RAY_LEFT => Some("HAND_RAY_LEFT"),
5789            Self::HAND_RAY_RIGHT => Some("HAND_RAY_RIGHT"),
5790            Self::CONTROLLER_DIRECT_LEFT => Some("CONTROLLER_DIRECT_LEFT"),
5791            Self::CONTROLLER_DIRECT_RIGHT => Some("CONTROLLER_DIRECT_RIGHT"),
5792            Self::HAND_DIRECT_INDEX_TIP_LEFT => Some("HAND_DIRECT_INDEX_TIP_LEFT"),
5793            Self::HAND_DIRECT_INDEX_TIP_RIGHT => Some("HAND_DIRECT_INDEX_TIP_RIGHT"),
5794            _ => None,
5795        };
5796        fmt_enum(fmt, self.0, name)
5797    }
5798}
5799#[doc = "See [XrHeadsetFitStatusML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHeadsetFitStatusML)"]
5800#[repr(transparent)]
5801#[derive(Copy, Clone, Eq, PartialEq, Default)]
5802pub struct HeadsetFitStatusML(i32);
5803impl HeadsetFitStatusML {
5804    #[doc = "Headset fit status not available for unknown reason."]
5805    pub const UNKNOWN: HeadsetFitStatusML = Self(0i32);
5806    #[doc = "Headset not worn."]
5807    pub const NOT_WORN: HeadsetFitStatusML = Self(1i32);
5808    #[doc = "Good fit."]
5809    pub const GOOD_FIT: HeadsetFitStatusML = Self(2i32);
5810    #[doc = "Bad fit."]
5811    pub const BAD_FIT: HeadsetFitStatusML = Self(3i32);
5812    pub fn from_raw(x: i32) -> Self {
5813        Self(x)
5814    }
5815    pub fn into_raw(self) -> i32 {
5816        self.0
5817    }
5818}
5819impl fmt::Debug for HeadsetFitStatusML {
5820    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5821        let name = match *self {
5822            Self::UNKNOWN => Some("UNKNOWN"),
5823            Self::NOT_WORN => Some("NOT_WORN"),
5824            Self::GOOD_FIT => Some("GOOD_FIT"),
5825            Self::BAD_FIT => Some("BAD_FIT"),
5826            _ => None,
5827        };
5828        fmt_enum(fmt, self.0, name)
5829    }
5830}
5831#[doc = "See [XrEyeCalibrationStatusML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeCalibrationStatusML)"]
5832#[repr(transparent)]
5833#[derive(Copy, Clone, Eq, PartialEq, Default)]
5834pub struct EyeCalibrationStatusML(i32);
5835impl EyeCalibrationStatusML {
5836    #[doc = "Eye calibration status not available for unknown reason."]
5837    pub const UNKNOWN: EyeCalibrationStatusML = Self(0i32);
5838    #[doc = "User has not performed the eye calibration step. Use system provided app to perform eye calibration."]
5839    pub const NONE: EyeCalibrationStatusML = Self(1i32);
5840    #[doc = "Eye calibration is of lower accuracy."]
5841    pub const COARSE: EyeCalibrationStatusML = Self(2i32);
5842    #[doc = "Eye calibration is of higher accuracy."]
5843    pub const FINE: EyeCalibrationStatusML = Self(3i32);
5844    pub fn from_raw(x: i32) -> Self {
5845        Self(x)
5846    }
5847    pub fn into_raw(self) -> i32 {
5848        self.0
5849    }
5850}
5851impl fmt::Debug for EyeCalibrationStatusML {
5852    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5853        let name = match *self {
5854            Self::UNKNOWN => Some("UNKNOWN"),
5855            Self::NONE => Some("NONE"),
5856            Self::COARSE => Some("COARSE"),
5857            Self::FINE => Some("FINE"),
5858            _ => None,
5859        };
5860        fmt_enum(fmt, self.0, name)
5861    }
5862}
5863#[doc = "See [XrLocalizationMapStateML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalizationMapStateML)"]
5864#[repr(transparent)]
5865#[derive(Copy, Clone, Eq, PartialEq, Default)]
5866pub struct LocalizationMapStateML(i32);
5867impl LocalizationMapStateML {
5868    #[doc = "The system is not localized into a map. Features like Spatial Anchors relying on localization will not work."]
5869    pub const NOT_LOCALIZED: LocalizationMapStateML = Self(0i32);
5870    #[doc = "The system is localized into a map."]
5871    pub const LOCALIZED: LocalizationMapStateML = Self(1i32);
5872    #[doc = "The system is localizing into a map."]
5873    pub const LOCALIZATION_PENDING: LocalizationMapStateML = Self(2i32);
5874    #[doc = "Initial localization failed, the system will retry localization."]
5875    pub const LOCALIZATION_SLEEPING_BEFORE_RETRY: LocalizationMapStateML = Self(3i32);
5876    pub fn from_raw(x: i32) -> Self {
5877        Self(x)
5878    }
5879    pub fn into_raw(self) -> i32 {
5880        self.0
5881    }
5882}
5883impl fmt::Debug for LocalizationMapStateML {
5884    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5885        let name = match *self {
5886            Self::NOT_LOCALIZED => Some("NOT_LOCALIZED"),
5887            Self::LOCALIZED => Some("LOCALIZED"),
5888            Self::LOCALIZATION_PENDING => Some("LOCALIZATION_PENDING"),
5889            Self::LOCALIZATION_SLEEPING_BEFORE_RETRY => Some("LOCALIZATION_SLEEPING_BEFORE_RETRY"),
5890            _ => None,
5891        };
5892        fmt_enum(fmt, self.0, name)
5893    }
5894}
5895#[doc = "See [XrLocalizationMapTypeML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalizationMapTypeML)"]
5896#[repr(transparent)]
5897#[derive(Copy, Clone, Eq, PartialEq, Default)]
5898pub struct LocalizationMapTypeML(i32);
5899impl LocalizationMapTypeML {
5900    #[doc = "The system is localized into an On-Device map, published anchors are not shared between different devices."]
5901    pub const ON_DEVICE: LocalizationMapTypeML = Self(0i32);
5902    #[doc = "The system is localized into a Cloud Map, anchors are shared per cloud account settings."]
5903    pub const CLOUD: LocalizationMapTypeML = Self(1i32);
5904    pub fn from_raw(x: i32) -> Self {
5905        Self(x)
5906    }
5907    pub fn into_raw(self) -> i32 {
5908        self.0
5909    }
5910}
5911impl fmt::Debug for LocalizationMapTypeML {
5912    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5913        let name = match *self {
5914            Self::ON_DEVICE => Some("ON_DEVICE"),
5915            Self::CLOUD => Some("CLOUD"),
5916            _ => None,
5917        };
5918        fmt_enum(fmt, self.0, name)
5919    }
5920}
5921#[doc = "See [XrLocalizationMapConfidenceML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalizationMapConfidenceML)"]
5922#[repr(transparent)]
5923#[derive(Copy, Clone, Eq, PartialEq, Default)]
5924pub struct LocalizationMapConfidenceML(i32);
5925impl LocalizationMapConfidenceML {
5926    #[doc = "The localization map has poor confidence, systems relying on the localization map are likely to have poor performance."]
5927    pub const POOR: LocalizationMapConfidenceML = Self(0i32);
5928    #[doc = "The confidence is fair, current environmental conditions may adversely affect localization."]
5929    pub const FAIR: LocalizationMapConfidenceML = Self(1i32);
5930    #[doc = "The confidence is high, persistent content should be stable."]
5931    pub const GOOD: LocalizationMapConfidenceML = Self(2i32);
5932    #[doc = "This is a very high-confidence localization, persistent content will be very stable."]
5933    pub const EXCELLENT: LocalizationMapConfidenceML = Self(3i32);
5934    pub fn from_raw(x: i32) -> Self {
5935        Self(x)
5936    }
5937    pub fn into_raw(self) -> i32 {
5938        self.0
5939    }
5940}
5941impl fmt::Debug for LocalizationMapConfidenceML {
5942    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5943        let name = match *self {
5944            Self::POOR => Some("POOR"),
5945            Self::FAIR => Some("FAIR"),
5946            Self::GOOD => Some("GOOD"),
5947            Self::EXCELLENT => Some("EXCELLENT"),
5948            _ => None,
5949        };
5950        fmt_enum(fmt, self.0, name)
5951    }
5952}
5953#[doc = "See [XrMarkerDetectorProfileML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorProfileML)"]
5954#[repr(transparent)]
5955#[derive(Copy, Clone, Eq, PartialEq, Default)]
5956pub struct MarkerDetectorProfileML(i32);
5957impl MarkerDetectorProfileML {
5958    #[doc = "Tracker profile that covers standard use cases. If this does not suite the needs of the application try the other profiles listed below."]
5959    pub const DEFAULT: MarkerDetectorProfileML = Self(0i32);
5960    #[doc = "Optimized for speed. Use this profile to reduce the compute load and increase detection/tracker speed. This can result in low accuracy poses."]
5961    pub const SPEED: MarkerDetectorProfileML = Self(1i32);
5962    #[doc = "Optimized for accuracy. Use this profile to optimize for accurate marker poses. This can cause increased load on the compute."]
5963    pub const ACCURACY: MarkerDetectorProfileML = Self(2i32);
5964    #[doc = "Optimized for small targets. Use this profile to optimize for markers that are small or for larger markers that need to be detected from afar."]
5965    pub const SMALL_TARGETS: MarkerDetectorProfileML = Self(3i32);
5966    #[doc = "Optimized for FoV. Use this profile to be able to detect markers across a larger FoV. The marker tracker system will attempt to use multiple cameras to detect the markers."]
5967    pub const LARGE_FOV: MarkerDetectorProfileML = Self(4i32);
5968    #[doc = "Custom Tracker Profile. The application can define a custom tracker profile. See XrMarkerDetectorCustomProfileInfoML for more details."]
5969    pub const CUSTOM: MarkerDetectorProfileML = Self(5i32);
5970    pub fn from_raw(x: i32) -> Self {
5971        Self(x)
5972    }
5973    pub fn into_raw(self) -> i32 {
5974        self.0
5975    }
5976}
5977impl fmt::Debug for MarkerDetectorProfileML {
5978    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5979        let name = match *self {
5980            Self::DEFAULT => Some("DEFAULT"),
5981            Self::SPEED => Some("SPEED"),
5982            Self::ACCURACY => Some("ACCURACY"),
5983            Self::SMALL_TARGETS => Some("SMALL_TARGETS"),
5984            Self::LARGE_FOV => Some("LARGE_FOV"),
5985            Self::CUSTOM => Some("CUSTOM"),
5986            _ => None,
5987        };
5988        fmt_enum(fmt, self.0, name)
5989    }
5990}
5991#[doc = "See [XrMarkerTypeML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerTypeML)"]
5992#[repr(transparent)]
5993#[derive(Copy, Clone, Eq, PartialEq, Default)]
5994pub struct MarkerTypeML(i32);
5995impl MarkerTypeML {
5996    #[doc = "Aruco Marker detection and localization. The marker id of the Aruco marker is available via xrGetMarkerNumberML."]
5997    pub const ARUCO: MarkerTypeML = Self(0i32);
5998    #[doc = "AprilTag detection and localization. The marker id of the AprilTags is available via xrGetMarkerNumberML."]
5999    pub const APRIL_TAG: MarkerTypeML = Self(1i32);
6000    #[doc = "QR code detection and localization. The contents of the QR code is available via xrGetMarkerStringML."]
6001    pub const QR: MarkerTypeML = Self(2i32);
6002    #[doc = "EAN-13, detection only, not locatable. The contents of the barcode is available via xrGetMarkerStringML."]
6003    pub const EAN_13: MarkerTypeML = Self(3i32);
6004    #[doc = "UPC-A, detection only, not locatable. The contents of the barcode is available via xrGetMarkerStringML."]
6005    pub const UPC_A: MarkerTypeML = Self(4i32);
6006    #[doc = "Code 128, detection only, not locatable. The contents of the barcode is available via xrGetMarkerStringML."]
6007    pub const CODE_128: MarkerTypeML = Self(5i32);
6008    pub fn from_raw(x: i32) -> Self {
6009        Self(x)
6010    }
6011    pub fn into_raw(self) -> i32 {
6012        self.0
6013    }
6014}
6015impl fmt::Debug for MarkerTypeML {
6016    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6017        let name = match *self {
6018            Self::ARUCO => Some("ARUCO"),
6019            Self::APRIL_TAG => Some("APRIL_TAG"),
6020            Self::QR => Some("QR"),
6021            Self::EAN_13 => Some("EAN_13"),
6022            Self::UPC_A => Some("UPC_A"),
6023            Self::CODE_128 => Some("CODE_128"),
6024            _ => None,
6025        };
6026        fmt_enum(fmt, self.0, name)
6027    }
6028}
6029#[doc = "See [XrMarkerArucoDictML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerArucoDictML)"]
6030#[repr(transparent)]
6031#[derive(Copy, Clone, Eq, PartialEq, Default)]
6032pub struct MarkerArucoDictML(i32);
6033impl MarkerArucoDictML {
6034    #[doc = "4 by 4 pixel Aruco marker dictionary with 50 IDs."]
6035    pub const DICT_4X4_50: MarkerArucoDictML = Self(0i32);
6036    #[doc = "4 by 4 pixel Aruco marker dictionary with 100 IDs."]
6037    pub const DICT_4X4_100: MarkerArucoDictML = Self(1i32);
6038    #[doc = "4 by 4 pixel Aruco marker dictionary with 250 IDs."]
6039    pub const DICT_4X4_250: MarkerArucoDictML = Self(2i32);
6040    #[doc = "4 by 4 pixel Aruco marker dictionary with 1000 IDs."]
6041    pub const DICT_4X4_1000: MarkerArucoDictML = Self(3i32);
6042    #[doc = "5 by 5 pixel Aruco marker dictionary with 50 IDs."]
6043    pub const DICT_5X5_50: MarkerArucoDictML = Self(4i32);
6044    #[doc = "5 by 5 pixel Aruco marker dictionary with 100 IDs."]
6045    pub const DICT_5X5_100: MarkerArucoDictML = Self(5i32);
6046    #[doc = "5 by 5 pixel Aruco marker dictionary with 250 IDs."]
6047    pub const DICT_5X5_250: MarkerArucoDictML = Self(6i32);
6048    #[doc = "5 by 5 pixel Aruco marker dictionary with 1000 IDs."]
6049    pub const DICT_5X5_1000: MarkerArucoDictML = Self(7i32);
6050    #[doc = "6 by 6 pixel Aruco marker dictionary with 50 IDs."]
6051    pub const DICT_6X6_50: MarkerArucoDictML = Self(8i32);
6052    #[doc = "6 by 6 pixel Aruco marker dictionary with 100 IDs."]
6053    pub const DICT_6X6_100: MarkerArucoDictML = Self(9i32);
6054    #[doc = "6 by 6 pixel Aruco marker dictionary with 250 IDs."]
6055    pub const DICT_6X6_250: MarkerArucoDictML = Self(10i32);
6056    #[doc = "6 by 6 pixel Aruco marker dictionary with 1000 IDs."]
6057    pub const DICT_6X6_1000: MarkerArucoDictML = Self(11i32);
6058    #[doc = "7 by 7 pixel Aruco marker dictionary with 50 IDs."]
6059    pub const DICT_7X7_50: MarkerArucoDictML = Self(12i32);
6060    #[doc = "7 by 7 pixel Aruco marker dictionary with 100 IDs."]
6061    pub const DICT_7X7_100: MarkerArucoDictML = Self(13i32);
6062    #[doc = "7 by 7 pixel Aruco marker dictionary with 250 IDs."]
6063    pub const DICT_7X7_250: MarkerArucoDictML = Self(14i32);
6064    #[doc = "7 by 7 pixel Aruco marker dictionary with 1000 IDs."]
6065    pub const DICT_7X7_1000: MarkerArucoDictML = Self(15i32);
6066    pub fn from_raw(x: i32) -> Self {
6067        Self(x)
6068    }
6069    pub fn into_raw(self) -> i32 {
6070        self.0
6071    }
6072}
6073impl fmt::Debug for MarkerArucoDictML {
6074    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6075        let name = match *self {
6076            Self::DICT_4X4_50 => Some("DICT_4X4_50"),
6077            Self::DICT_4X4_100 => Some("DICT_4X4_100"),
6078            Self::DICT_4X4_250 => Some("DICT_4X4_250"),
6079            Self::DICT_4X4_1000 => Some("DICT_4X4_1000"),
6080            Self::DICT_5X5_50 => Some("DICT_5X5_50"),
6081            Self::DICT_5X5_100 => Some("DICT_5X5_100"),
6082            Self::DICT_5X5_250 => Some("DICT_5X5_250"),
6083            Self::DICT_5X5_1000 => Some("DICT_5X5_1000"),
6084            Self::DICT_6X6_50 => Some("DICT_6X6_50"),
6085            Self::DICT_6X6_100 => Some("DICT_6X6_100"),
6086            Self::DICT_6X6_250 => Some("DICT_6X6_250"),
6087            Self::DICT_6X6_1000 => Some("DICT_6X6_1000"),
6088            Self::DICT_7X7_50 => Some("DICT_7X7_50"),
6089            Self::DICT_7X7_100 => Some("DICT_7X7_100"),
6090            Self::DICT_7X7_250 => Some("DICT_7X7_250"),
6091            Self::DICT_7X7_1000 => Some("DICT_7X7_1000"),
6092            _ => None,
6093        };
6094        fmt_enum(fmt, self.0, name)
6095    }
6096}
6097#[doc = "See [XrMarkerAprilTagDictML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerAprilTagDictML)"]
6098#[repr(transparent)]
6099#[derive(Copy, Clone, Eq, PartialEq, Default)]
6100pub struct MarkerAprilTagDictML(i32);
6101impl MarkerAprilTagDictML {
6102    #[doc = "4 by 4 bits, minimum Hamming distance between any two codes = 5, 30 codes."]
6103    pub const DICT_16H5: MarkerAprilTagDictML = Self(0i32);
6104    #[doc = "5 by 5 bits, minimum Hamming distance between any two codes = 9, 35 codes."]
6105    pub const DICT_25H9: MarkerAprilTagDictML = Self(1i32);
6106    #[doc = "6 by 6 bits, minimum Hamming distance between any two codes = 10, 2320 codes."]
6107    pub const DICT_36H10: MarkerAprilTagDictML = Self(2i32);
6108    #[doc = "6 by 6 bits, minimum Hamming distance between any two codes = 11, 587 codes."]
6109    pub const DICT_36H11: MarkerAprilTagDictML = Self(3i32);
6110    pub fn from_raw(x: i32) -> Self {
6111        Self(x)
6112    }
6113    pub fn into_raw(self) -> i32 {
6114        self.0
6115    }
6116}
6117impl fmt::Debug for MarkerAprilTagDictML {
6118    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6119        let name = match *self {
6120            Self::DICT_16H5 => Some("DICT_16H5"),
6121            Self::DICT_25H9 => Some("DICT_25H9"),
6122            Self::DICT_36H10 => Some("DICT_36H10"),
6123            Self::DICT_36H11 => Some("DICT_36H11"),
6124            _ => None,
6125        };
6126        fmt_enum(fmt, self.0, name)
6127    }
6128}
6129#[doc = "See [XrMarkerDetectorFpsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorFpsML)"]
6130#[repr(transparent)]
6131#[derive(Copy, Clone, Eq, PartialEq, Default)]
6132pub struct MarkerDetectorFpsML(i32);
6133impl MarkerDetectorFpsML {
6134    #[doc = "Low FPS."]
6135    pub const LOW: MarkerDetectorFpsML = Self(0i32);
6136    #[doc = "Medium FPS."]
6137    pub const MEDIUM: MarkerDetectorFpsML = Self(1i32);
6138    #[doc = "High FPS."]
6139    pub const HIGH: MarkerDetectorFpsML = Self(2i32);
6140    #[doc = "Max possible FPS."]
6141    pub const MAX: MarkerDetectorFpsML = Self(3i32);
6142    pub fn from_raw(x: i32) -> Self {
6143        Self(x)
6144    }
6145    pub fn into_raw(self) -> i32 {
6146        self.0
6147    }
6148}
6149impl fmt::Debug for MarkerDetectorFpsML {
6150    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6151        let name = match *self {
6152            Self::LOW => Some("LOW"),
6153            Self::MEDIUM => Some("MEDIUM"),
6154            Self::HIGH => Some("HIGH"),
6155            Self::MAX => Some("MAX"),
6156            _ => None,
6157        };
6158        fmt_enum(fmt, self.0, name)
6159    }
6160}
6161#[doc = "See [XrMarkerDetectorResolutionML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorResolutionML)"]
6162#[repr(transparent)]
6163#[derive(Copy, Clone, Eq, PartialEq, Default)]
6164pub struct MarkerDetectorResolutionML(i32);
6165impl MarkerDetectorResolutionML {
6166    #[doc = "Low Resolution."]
6167    pub const LOW: MarkerDetectorResolutionML = Self(0i32);
6168    #[doc = "Medium Resolution."]
6169    pub const MEDIUM: MarkerDetectorResolutionML = Self(1i32);
6170    #[doc = "High Resolution."]
6171    pub const HIGH: MarkerDetectorResolutionML = Self(2i32);
6172    pub fn from_raw(x: i32) -> Self {
6173        Self(x)
6174    }
6175    pub fn into_raw(self) -> i32 {
6176        self.0
6177    }
6178}
6179impl fmt::Debug for MarkerDetectorResolutionML {
6180    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6181        let name = match *self {
6182            Self::LOW => Some("LOW"),
6183            Self::MEDIUM => Some("MEDIUM"),
6184            Self::HIGH => Some("HIGH"),
6185            _ => None,
6186        };
6187        fmt_enum(fmt, self.0, name)
6188    }
6189}
6190#[doc = "See [XrMarkerDetectorCameraML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorCameraML)"]
6191#[repr(transparent)]
6192#[derive(Copy, Clone, Eq, PartialEq, Default)]
6193pub struct MarkerDetectorCameraML(i32);
6194impl MarkerDetectorCameraML {
6195    #[doc = "Single RGB camera."]
6196    pub const RGB_CAMERA: MarkerDetectorCameraML = Self(0i32);
6197    #[doc = "One or more world cameras."]
6198    pub const WORLD_CAMERAS: MarkerDetectorCameraML = Self(1i32);
6199    pub fn from_raw(x: i32) -> Self {
6200        Self(x)
6201    }
6202    pub fn into_raw(self) -> i32 {
6203        self.0
6204    }
6205}
6206impl fmt::Debug for MarkerDetectorCameraML {
6207    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6208        let name = match *self {
6209            Self::RGB_CAMERA => Some("RGB_CAMERA"),
6210            Self::WORLD_CAMERAS => Some("WORLD_CAMERAS"),
6211            _ => None,
6212        };
6213        fmt_enum(fmt, self.0, name)
6214    }
6215}
6216#[doc = "See [XrMarkerDetectorCornerRefineMethodML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorCornerRefineMethodML)"]
6217#[repr(transparent)]
6218#[derive(Copy, Clone, Eq, PartialEq, Default)]
6219pub struct MarkerDetectorCornerRefineMethodML(i32);
6220impl MarkerDetectorCornerRefineMethodML {
6221    #[doc = "No refinement. Inaccurate corners."]
6222    pub const NONE: MarkerDetectorCornerRefineMethodML = Self(0i32);
6223    #[doc = "Subpixel refinement. Corners have subpixel coordinates. High detection rate, very fast, reasonable accuracy."]
6224    pub const SUBPIX: MarkerDetectorCornerRefineMethodML = Self(1i32);
6225    #[doc = "Contour refinement. High detection rate, fast, reasonable accuracy."]
6226    pub const CONTOUR: MarkerDetectorCornerRefineMethodML = Self(2i32);
6227    #[doc = "AprilTag refinement. Reasonable detection rate, slowest, but very accurate. Only valid with AprilTags."]
6228    pub const APRIL_TAG: MarkerDetectorCornerRefineMethodML = Self(3i32);
6229    pub fn from_raw(x: i32) -> Self {
6230        Self(x)
6231    }
6232    pub fn into_raw(self) -> i32 {
6233        self.0
6234    }
6235}
6236impl fmt::Debug for MarkerDetectorCornerRefineMethodML {
6237    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6238        let name = match *self {
6239            Self::NONE => Some("NONE"),
6240            Self::SUBPIX => Some("SUBPIX"),
6241            Self::CONTOUR => Some("CONTOUR"),
6242            Self::APRIL_TAG => Some("APRIL_TAG"),
6243            _ => None,
6244        };
6245        fmt_enum(fmt, self.0, name)
6246    }
6247}
6248#[doc = "See [XrMarkerDetectorFullAnalysisIntervalML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorFullAnalysisIntervalML)"]
6249#[repr(transparent)]
6250#[derive(Copy, Clone, Eq, PartialEq, Default)]
6251pub struct MarkerDetectorFullAnalysisIntervalML(i32);
6252impl MarkerDetectorFullAnalysisIntervalML {
6253    #[doc = "Detector analyzes every frame fully."]
6254    pub const MAX: MarkerDetectorFullAnalysisIntervalML = Self(0i32);
6255    #[doc = "Detector analyzes frame fully very often."]
6256    pub const FAST: MarkerDetectorFullAnalysisIntervalML = Self(1i32);
6257    #[doc = "Detector analyzes frame fully a few times per second."]
6258    pub const MEDIUM: MarkerDetectorFullAnalysisIntervalML = Self(2i32);
6259    #[doc = "Detector analyzes frame fully about every second."]
6260    pub const SLOW: MarkerDetectorFullAnalysisIntervalML = Self(3i32);
6261    pub fn from_raw(x: i32) -> Self {
6262        Self(x)
6263    }
6264    pub fn into_raw(self) -> i32 {
6265        self.0
6266    }
6267}
6268impl fmt::Debug for MarkerDetectorFullAnalysisIntervalML {
6269    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6270        let name = match *self {
6271            Self::MAX => Some("MAX"),
6272            Self::FAST => Some("FAST"),
6273            Self::MEDIUM => Some("MEDIUM"),
6274            Self::SLOW => Some("SLOW"),
6275            _ => None,
6276        };
6277        fmt_enum(fmt, self.0, name)
6278    }
6279}
6280#[doc = "See [XrMarkerDetectorStatusML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorStatusML)"]
6281#[repr(transparent)]
6282#[derive(Copy, Clone, Eq, PartialEq, Default)]
6283pub struct MarkerDetectorStatusML(i32);
6284impl MarkerDetectorStatusML {
6285    #[doc = "The marker detector is working on a new snapshot."]
6286    pub const PENDING: MarkerDetectorStatusML = Self(0i32);
6287    #[doc = "The marker detector is ready to be inspected."]
6288    pub const READY: MarkerDetectorStatusML = Self(1i32);
6289    #[doc = "The marker detector has encountered a fatal error."]
6290    pub const ERROR: MarkerDetectorStatusML = Self(2i32);
6291    pub fn from_raw(x: i32) -> Self {
6292        Self(x)
6293    }
6294    pub fn into_raw(self) -> i32 {
6295        self.0
6296    }
6297}
6298impl fmt::Debug for MarkerDetectorStatusML {
6299    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6300        let name = match *self {
6301            Self::PENDING => Some("PENDING"),
6302            Self::READY => Some("READY"),
6303            Self::ERROR => Some("ERROR"),
6304            _ => None,
6305        };
6306        fmt_enum(fmt, self.0, name)
6307    }
6308}
6309#[doc = "Each facial blend shape describes an area/region of a face. - see [XrFacialBlendShapeML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialBlendShapeML)"]
6310#[repr(transparent)]
6311#[derive(Copy, Clone, Eq, PartialEq, Default)]
6312pub struct FacialBlendShapeML(i32);
6313impl FacialBlendShapeML {
6314    pub const BROW_LOWERER_L: FacialBlendShapeML = Self(0i32);
6315    pub const BROW_LOWERER_R: FacialBlendShapeML = Self(1i32);
6316    pub const CHEEK_RAISER_L: FacialBlendShapeML = Self(2i32);
6317    pub const CHEEK_RAISER_R: FacialBlendShapeML = Self(3i32);
6318    pub const CHIN_RAISER: FacialBlendShapeML = Self(4i32);
6319    pub const DIMPLER_L: FacialBlendShapeML = Self(5i32);
6320    pub const DIMPLER_R: FacialBlendShapeML = Self(6i32);
6321    pub const EYES_CLOSED_L: FacialBlendShapeML = Self(7i32);
6322    pub const EYES_CLOSED_R: FacialBlendShapeML = Self(8i32);
6323    pub const INNER_BROW_RAISER_L: FacialBlendShapeML = Self(9i32);
6324    pub const INNER_BROW_RAISER_R: FacialBlendShapeML = Self(10i32);
6325    pub const JAW_DROP: FacialBlendShapeML = Self(11i32);
6326    pub const LID_TIGHTENER_L: FacialBlendShapeML = Self(12i32);
6327    pub const LID_TIGHTENER_R: FacialBlendShapeML = Self(13i32);
6328    pub const LIP_CORNER_DEPRESSOR_L: FacialBlendShapeML = Self(14i32);
6329    pub const LIP_CORNER_DEPRESSOR_R: FacialBlendShapeML = Self(15i32);
6330    pub const LIP_CORNER_PULLER_L: FacialBlendShapeML = Self(16i32);
6331    pub const LIP_CORNER_PULLER_R: FacialBlendShapeML = Self(17i32);
6332    pub const LIP_FUNNELER_LB: FacialBlendShapeML = Self(18i32);
6333    pub const LIP_FUNNELER_LT: FacialBlendShapeML = Self(19i32);
6334    pub const LIP_FUNNELER_RB: FacialBlendShapeML = Self(20i32);
6335    pub const LIP_FUNNELER_RT: FacialBlendShapeML = Self(21i32);
6336    pub const LIP_PRESSOR_L: FacialBlendShapeML = Self(22i32);
6337    pub const LIP_PRESSOR_R: FacialBlendShapeML = Self(23i32);
6338    pub const LIP_PUCKER_L: FacialBlendShapeML = Self(24i32);
6339    pub const LIP_PUCKER_R: FacialBlendShapeML = Self(25i32);
6340    pub const LIP_STRETCHER_L: FacialBlendShapeML = Self(26i32);
6341    pub const LIP_STRETCHER_R: FacialBlendShapeML = Self(27i32);
6342    pub const LIP_SUCK_LB: FacialBlendShapeML = Self(28i32);
6343    pub const LIP_SUCK_LT: FacialBlendShapeML = Self(29i32);
6344    pub const LIP_SUCK_RB: FacialBlendShapeML = Self(30i32);
6345    pub const LIP_SUCK_RT: FacialBlendShapeML = Self(31i32);
6346    pub const LIP_TIGHTENER_L: FacialBlendShapeML = Self(32i32);
6347    pub const LIP_TIGHTENER_R: FacialBlendShapeML = Self(33i32);
6348    pub const LIPS_TOWARD: FacialBlendShapeML = Self(34i32);
6349    pub const LOWER_LIP_DEPRESSOR_L: FacialBlendShapeML = Self(35i32);
6350    pub const LOWER_LIP_DEPRESSOR_R: FacialBlendShapeML = Self(36i32);
6351    pub const NOSE_WRINKLER_L: FacialBlendShapeML = Self(37i32);
6352    pub const NOSE_WRINKLER_R: FacialBlendShapeML = Self(38i32);
6353    pub const OUTER_BROW_RAISER_L: FacialBlendShapeML = Self(39i32);
6354    pub const OUTER_BROW_RAISER_R: FacialBlendShapeML = Self(40i32);
6355    pub const UPPER_LID_RAISER_L: FacialBlendShapeML = Self(41i32);
6356    pub const UPPER_LID_RAISER_R: FacialBlendShapeML = Self(42i32);
6357    pub const UPPER_LIP_RAISER_L: FacialBlendShapeML = Self(43i32);
6358    pub const UPPER_LIP_RAISER_R: FacialBlendShapeML = Self(44i32);
6359    pub const TONGUE_OUT: FacialBlendShapeML = Self(45i32);
6360    pub fn from_raw(x: i32) -> Self {
6361        Self(x)
6362    }
6363    pub fn into_raw(self) -> i32 {
6364        self.0
6365    }
6366}
6367impl fmt::Debug for FacialBlendShapeML {
6368    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6369        let name = match *self {
6370            Self::BROW_LOWERER_L => Some("BROW_LOWERER_L"),
6371            Self::BROW_LOWERER_R => Some("BROW_LOWERER_R"),
6372            Self::CHEEK_RAISER_L => Some("CHEEK_RAISER_L"),
6373            Self::CHEEK_RAISER_R => Some("CHEEK_RAISER_R"),
6374            Self::CHIN_RAISER => Some("CHIN_RAISER"),
6375            Self::DIMPLER_L => Some("DIMPLER_L"),
6376            Self::DIMPLER_R => Some("DIMPLER_R"),
6377            Self::EYES_CLOSED_L => Some("EYES_CLOSED_L"),
6378            Self::EYES_CLOSED_R => Some("EYES_CLOSED_R"),
6379            Self::INNER_BROW_RAISER_L => Some("INNER_BROW_RAISER_L"),
6380            Self::INNER_BROW_RAISER_R => Some("INNER_BROW_RAISER_R"),
6381            Self::JAW_DROP => Some("JAW_DROP"),
6382            Self::LID_TIGHTENER_L => Some("LID_TIGHTENER_L"),
6383            Self::LID_TIGHTENER_R => Some("LID_TIGHTENER_R"),
6384            Self::LIP_CORNER_DEPRESSOR_L => Some("LIP_CORNER_DEPRESSOR_L"),
6385            Self::LIP_CORNER_DEPRESSOR_R => Some("LIP_CORNER_DEPRESSOR_R"),
6386            Self::LIP_CORNER_PULLER_L => Some("LIP_CORNER_PULLER_L"),
6387            Self::LIP_CORNER_PULLER_R => Some("LIP_CORNER_PULLER_R"),
6388            Self::LIP_FUNNELER_LB => Some("LIP_FUNNELER_LB"),
6389            Self::LIP_FUNNELER_LT => Some("LIP_FUNNELER_LT"),
6390            Self::LIP_FUNNELER_RB => Some("LIP_FUNNELER_RB"),
6391            Self::LIP_FUNNELER_RT => Some("LIP_FUNNELER_RT"),
6392            Self::LIP_PRESSOR_L => Some("LIP_PRESSOR_L"),
6393            Self::LIP_PRESSOR_R => Some("LIP_PRESSOR_R"),
6394            Self::LIP_PUCKER_L => Some("LIP_PUCKER_L"),
6395            Self::LIP_PUCKER_R => Some("LIP_PUCKER_R"),
6396            Self::LIP_STRETCHER_L => Some("LIP_STRETCHER_L"),
6397            Self::LIP_STRETCHER_R => Some("LIP_STRETCHER_R"),
6398            Self::LIP_SUCK_LB => Some("LIP_SUCK_LB"),
6399            Self::LIP_SUCK_LT => Some("LIP_SUCK_LT"),
6400            Self::LIP_SUCK_RB => Some("LIP_SUCK_RB"),
6401            Self::LIP_SUCK_RT => Some("LIP_SUCK_RT"),
6402            Self::LIP_TIGHTENER_L => Some("LIP_TIGHTENER_L"),
6403            Self::LIP_TIGHTENER_R => Some("LIP_TIGHTENER_R"),
6404            Self::LIPS_TOWARD => Some("LIPS_TOWARD"),
6405            Self::LOWER_LIP_DEPRESSOR_L => Some("LOWER_LIP_DEPRESSOR_L"),
6406            Self::LOWER_LIP_DEPRESSOR_R => Some("LOWER_LIP_DEPRESSOR_R"),
6407            Self::NOSE_WRINKLER_L => Some("NOSE_WRINKLER_L"),
6408            Self::NOSE_WRINKLER_R => Some("NOSE_WRINKLER_R"),
6409            Self::OUTER_BROW_RAISER_L => Some("OUTER_BROW_RAISER_L"),
6410            Self::OUTER_BROW_RAISER_R => Some("OUTER_BROW_RAISER_R"),
6411            Self::UPPER_LID_RAISER_L => Some("UPPER_LID_RAISER_L"),
6412            Self::UPPER_LID_RAISER_R => Some("UPPER_LID_RAISER_R"),
6413            Self::UPPER_LIP_RAISER_L => Some("UPPER_LIP_RAISER_L"),
6414            Self::UPPER_LIP_RAISER_R => Some("UPPER_LIP_RAISER_R"),
6415            Self::TONGUE_OUT => Some("TONGUE_OUT"),
6416            _ => None,
6417        };
6418        fmt_enum(fmt, self.0, name)
6419    }
6420}
6421#[doc = "See [XrFutureStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFutureStateEXT)"]
6422#[repr(transparent)]
6423#[derive(Copy, Clone, Eq, PartialEq)]
6424pub struct FutureStateEXT(i32);
6425impl FutureStateEXT {
6426    pub const PENDING: FutureStateEXT = Self(1i32);
6427    pub const READY: FutureStateEXT = Self(2i32);
6428    pub fn from_raw(x: i32) -> Self {
6429        Self(x)
6430    }
6431    pub fn into_raw(self) -> i32 {
6432        self.0
6433    }
6434}
6435impl fmt::Debug for FutureStateEXT {
6436    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6437        let name = match *self {
6438            Self::PENDING => Some("PENDING"),
6439            Self::READY => Some("READY"),
6440            _ => None,
6441        };
6442        fmt_enum(fmt, self.0, name)
6443    }
6444}
6445#[doc = "See [XrSpatialCapabilityEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityEXT)"]
6446#[repr(transparent)]
6447#[derive(Copy, Clone, Eq, PartialEq)]
6448pub struct SpatialCapabilityEXT(i32);
6449impl SpatialCapabilityEXT {
6450    #[doc = "Plane tracking"]
6451    pub const PLANE_TRACKING: SpatialCapabilityEXT = Self(1000741000i32);
6452    #[doc = "Capability to be able to detect and track QR codes."]
6453    pub const MARKER_TRACKING_QR_CODE: SpatialCapabilityEXT = Self(1000743000i32);
6454    #[doc = "Capability to be able to detect and track Micro QR codes."]
6455    pub const MARKER_TRACKING_MICRO_QR_CODE: SpatialCapabilityEXT = Self(1000743001i32);
6456    #[doc = "Capability to be able to detect and track Aruco Markers."]
6457    pub const MARKER_TRACKING_ARUCO_MARKER: SpatialCapabilityEXT = Self(1000743002i32);
6458    #[doc = "Capability to be able to detect and track AprilTags."]
6459    pub const MARKER_TRACKING_APRIL_TAG: SpatialCapabilityEXT = Self(1000743003i32);
6460    #[doc = "Capability to be able to create spatial anchors"]
6461    pub const ANCHOR: SpatialCapabilityEXT = Self(1000762000i32);
6462    pub fn from_raw(x: i32) -> Self {
6463        Self(x)
6464    }
6465    pub fn into_raw(self) -> i32 {
6466        self.0
6467    }
6468}
6469impl fmt::Debug for SpatialCapabilityEXT {
6470    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6471        let name = match *self {
6472            Self::PLANE_TRACKING => Some("PLANE_TRACKING"),
6473            Self::MARKER_TRACKING_QR_CODE => Some("MARKER_TRACKING_QR_CODE"),
6474            Self::MARKER_TRACKING_MICRO_QR_CODE => Some("MARKER_TRACKING_MICRO_QR_CODE"),
6475            Self::MARKER_TRACKING_ARUCO_MARKER => Some("MARKER_TRACKING_ARUCO_MARKER"),
6476            Self::MARKER_TRACKING_APRIL_TAG => Some("MARKER_TRACKING_APRIL_TAG"),
6477            Self::ANCHOR => Some("ANCHOR"),
6478            _ => None,
6479        };
6480        fmt_enum(fmt, self.0, name)
6481    }
6482}
6483#[doc = "See [XrSpatialCapabilityFeatureEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityFeatureEXT)"]
6484#[repr(transparent)]
6485#[derive(Copy, Clone, Eq, PartialEq)]
6486pub struct SpatialCapabilityFeatureEXT(i32);
6487impl SpatialCapabilityFeatureEXT {
6488    #[doc = "Capability feature to allow applications to specify the size for the markers. Corresponding config structure is XrSpatialMarkerSizeEXT"]
6489    pub const MARKER_TRACKING_FIXED_SIZE_MARKERS: SpatialCapabilityFeatureEXT = Self(1000743000i32);
6490    #[doc = "Capability feature to allow applications to specify if markers are static. Corresponding config structure is XrSpatialMarkerStaticOptimizationEXT"]
6491    pub const MARKER_TRACKING_STATIC_MARKERS: SpatialCapabilityFeatureEXT = Self(1000743001i32);
6492    pub fn from_raw(x: i32) -> Self {
6493        Self(x)
6494    }
6495    pub fn into_raw(self) -> i32 {
6496        self.0
6497    }
6498}
6499impl fmt::Debug for SpatialCapabilityFeatureEXT {
6500    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6501        let name = match *self {
6502            Self::MARKER_TRACKING_FIXED_SIZE_MARKERS => Some("MARKER_TRACKING_FIXED_SIZE_MARKERS"),
6503            Self::MARKER_TRACKING_STATIC_MARKERS => Some("MARKER_TRACKING_STATIC_MARKERS"),
6504            _ => None,
6505        };
6506        fmt_enum(fmt, self.0, name)
6507    }
6508}
6509#[doc = "See [XrSpatialComponentTypeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentTypeEXT)"]
6510#[repr(transparent)]
6511#[derive(Copy, Clone, Eq, PartialEq)]
6512pub struct SpatialComponentTypeEXT(i32);
6513impl SpatialComponentTypeEXT {
6514    #[doc = "Component that provides the 2D bounds for a spatial entity. Corresponding list structure is XrSpatialComponentBounded2DListEXT; Corresponding data structure is XrSpatialBounded2DDataEXT"]
6515    pub const BOUNDED_2D: SpatialComponentTypeEXT = Self(1i32);
6516    #[doc = "Component that provides the 3D bounds for a spatial entity. Corresponding list structure is XrSpatialComponentBounded3DListEXT; Corresponding data structure is XrBoxf"]
6517    pub const BOUNDED_3D: SpatialComponentTypeEXT = Self(2i32);
6518    #[doc = "Component that provides the XrSpatialEntityIdEXT of the parent for a spatial entity. Corresponding list structure is XrSpatialComponentParentListEXT; Corresponding data structure is XrSpatialEntityIdEXT"]
6519    pub const PARENT: SpatialComponentTypeEXT = Self(3i32);
6520    #[doc = "Component that provides a 3D mesh for a spatial entity. Corresponding list structure is XrSpatialComponentMesh3DListEXT; Corresponding data structure is XrSpatialMeshDataEXT"]
6521    pub const MESH_3D: SpatialComponentTypeEXT = Self(4i32);
6522    #[doc = "Component that provides the plane alignment enum for a spatial entity. Corresponding list structure is XrSpatialComponentPlaneAlignmentListEXT; Corresponding data structure is XrSpatialPlaneAlignmentEXT"]
6523    pub const PLANE_ALIGNMENT: SpatialComponentTypeEXT = Self(1000741000i32);
6524    #[doc = "Component that provides a 2D mesh for a spatial entity. Corresponding list structure is XrSpatialComponentMesh2DListEXT; Corresponding data structure is XrSpatialMeshDataEXT"]
6525    pub const MESH_2D: SpatialComponentTypeEXT = Self(1000741001i32);
6526    #[doc = "Component that provides a 2D boundary polygon for a spatial entity. Corresponding list structure is XrSpatialComponentPolygon2DListEXT; Corresponding data structure is XrSpatialPolygon2DDataEXT"]
6527    pub const POLYGON_2D: SpatialComponentTypeEXT = Self(1000741002i32);
6528    #[doc = "Component that provides a semantic label for a plane. Corresponding list structure is XrSpatialComponentPlaneSemanticLabelListEXT; Corresponding data structure is XrSpatialPlaneSemanticLabelEXT"]
6529    pub const PLANE_SEMANTIC_LABEL: SpatialComponentTypeEXT = Self(1000741003i32);
6530    #[doc = "A component describing the marker type, id and location. Corresponding list structure is XrSpatialComponentMarkerListEXT; Corresponding data structure is XrSpatialMarkerDataEXT"]
6531    pub const MARKER: SpatialComponentTypeEXT = Self(1000743000i32);
6532    #[doc = "Component that provides the location for an anchor. Corresponding list structure is XrSpatialComponentAnchorListEXT; Corresponding data structure is XrPosef"]
6533    pub const ANCHOR: SpatialComponentTypeEXT = Self(1000762000i32);
6534    #[doc = "Component that provides the persisted UUID for a spatial entity. Corresponding list structure is XrSpatialComponentPersistenceListEXT; Corresponding data structure is XrSpatialPersistenceDataEXT"]
6535    pub const PERSISTENCE: SpatialComponentTypeEXT = Self(1000763000i32);
6536    pub fn from_raw(x: i32) -> Self {
6537        Self(x)
6538    }
6539    pub fn into_raw(self) -> i32 {
6540        self.0
6541    }
6542}
6543impl fmt::Debug for SpatialComponentTypeEXT {
6544    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6545        let name = match *self {
6546            Self::BOUNDED_2D => Some("BOUNDED_2D"),
6547            Self::BOUNDED_3D => Some("BOUNDED_3D"),
6548            Self::PARENT => Some("PARENT"),
6549            Self::MESH_3D => Some("MESH_3D"),
6550            Self::PLANE_ALIGNMENT => Some("PLANE_ALIGNMENT"),
6551            Self::MESH_2D => Some("MESH_2D"),
6552            Self::POLYGON_2D => Some("POLYGON_2D"),
6553            Self::PLANE_SEMANTIC_LABEL => Some("PLANE_SEMANTIC_LABEL"),
6554            Self::MARKER => Some("MARKER"),
6555            Self::ANCHOR => Some("ANCHOR"),
6556            Self::PERSISTENCE => Some("PERSISTENCE"),
6557            _ => None,
6558        };
6559        fmt_enum(fmt, self.0, name)
6560    }
6561}
6562#[doc = "See [XrSpatialEntityTrackingStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityTrackingStateEXT)"]
6563#[repr(transparent)]
6564#[derive(Copy, Clone, Eq, PartialEq)]
6565pub struct SpatialEntityTrackingStateEXT(i32);
6566impl SpatialEntityTrackingStateEXT {
6567    #[doc = "The runtime has stopped tracking this entity and will never resume tracking it."]
6568    pub const STOPPED: SpatialEntityTrackingStateEXT = Self(1i32);
6569    #[doc = "The runtime has paused tracking this entity but may: resume tracking it in the future."]
6570    pub const PAUSED: SpatialEntityTrackingStateEXT = Self(2i32);
6571    #[doc = "The runtime is currently tracking this entity and its component data is valid."]
6572    pub const TRACKING: SpatialEntityTrackingStateEXT = Self(3i32);
6573    pub fn from_raw(x: i32) -> Self {
6574        Self(x)
6575    }
6576    pub fn into_raw(self) -> i32 {
6577        self.0
6578    }
6579}
6580impl fmt::Debug for SpatialEntityTrackingStateEXT {
6581    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6582        let name = match *self {
6583            Self::STOPPED => Some("STOPPED"),
6584            Self::PAUSED => Some("PAUSED"),
6585            Self::TRACKING => Some("TRACKING"),
6586            _ => None,
6587        };
6588        fmt_enum(fmt, self.0, name)
6589    }
6590}
6591#[doc = "See [XrSpatialBufferTypeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialBufferTypeEXT)"]
6592#[repr(transparent)]
6593#[derive(Copy, Clone, Eq, PartialEq, Default)]
6594pub struct SpatialBufferTypeEXT(i32);
6595impl SpatialBufferTypeEXT {
6596    pub const UNKNOWN: SpatialBufferTypeEXT = Self(0i32);
6597    pub const STRING: SpatialBufferTypeEXT = Self(1i32);
6598    pub const UINT8: SpatialBufferTypeEXT = Self(2i32);
6599    pub const UINT16: SpatialBufferTypeEXT = Self(3i32);
6600    pub const UINT32: SpatialBufferTypeEXT = Self(4i32);
6601    pub const FLOAT: SpatialBufferTypeEXT = Self(5i32);
6602    pub const VECTOR2F: SpatialBufferTypeEXT = Self(6i32);
6603    pub const VECTOR3F: SpatialBufferTypeEXT = Self(7i32);
6604    pub fn from_raw(x: i32) -> Self {
6605        Self(x)
6606    }
6607    pub fn into_raw(self) -> i32 {
6608        self.0
6609    }
6610}
6611impl fmt::Debug for SpatialBufferTypeEXT {
6612    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6613        let name = match *self {
6614            Self::UNKNOWN => Some("UNKNOWN"),
6615            Self::STRING => Some("STRING"),
6616            Self::UINT8 => Some("UINT8"),
6617            Self::UINT16 => Some("UINT16"),
6618            Self::UINT32 => Some("UINT32"),
6619            Self::FLOAT => Some("FLOAT"),
6620            Self::VECTOR2F => Some("VECTOR2F"),
6621            Self::VECTOR3F => Some("VECTOR3F"),
6622            _ => None,
6623        };
6624        fmt_enum(fmt, self.0, name)
6625    }
6626}
6627#[doc = "See [XrSpatialPersistenceScopeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPersistenceScopeEXT)"]
6628#[repr(transparent)]
6629#[derive(Copy, Clone, Eq, PartialEq)]
6630pub struct SpatialPersistenceScopeEXT(i32);
6631impl SpatialPersistenceScopeEXT {
6632    #[doc = "Provides the application with read-only access (i.e. application cannot modify the store associated with this scope) to spatial entities persisted and managed by the system. The application can: use the UUID in the persistence component for this scope to correlate entities across spatial contexts and device reboots."]
6633    pub const SYSTEM_MANAGED: SpatialPersistenceScopeEXT = Self(1i32);
6634    #[doc = "Persistence operations and data access is limited to spatial anchors, on the same device, for the same user and same app"]
6635    pub const LOCAL_ANCHORS: SpatialPersistenceScopeEXT = Self(1000781000i32);
6636    pub fn from_raw(x: i32) -> Self {
6637        Self(x)
6638    }
6639    pub fn into_raw(self) -> i32 {
6640        self.0
6641    }
6642}
6643impl fmt::Debug for SpatialPersistenceScopeEXT {
6644    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6645        let name = match *self {
6646            Self::SYSTEM_MANAGED => Some("SYSTEM_MANAGED"),
6647            Self::LOCAL_ANCHORS => Some("LOCAL_ANCHORS"),
6648            _ => None,
6649        };
6650        fmt_enum(fmt, self.0, name)
6651    }
6652}
6653#[doc = "See [XrSpatialPersistenceContextResultEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPersistenceContextResultEXT)"]
6654#[repr(transparent)]
6655#[derive(Copy, Clone, Eq, PartialEq, Default)]
6656pub struct SpatialPersistenceContextResultEXT(i32);
6657impl SpatialPersistenceContextResultEXT {
6658    #[doc = "The persistence context operation was a success."]
6659    pub const SUCCESS: SpatialPersistenceContextResultEXT = Self(0i32);
6660    #[doc = "The persistence operation failed because the entity could not be tracked by the runtime."]
6661    pub const ENTITY_NOT_TRACKING: SpatialPersistenceContextResultEXT = Self(-1000781001i32);
6662    #[doc = "The provided persist UUID was not found in the storage."]
6663    pub const PERSIST_UUID_NOT_FOUND: SpatialPersistenceContextResultEXT = Self(-1000781002i32);
6664    pub fn from_raw(x: i32) -> Self {
6665        Self(x)
6666    }
6667    pub fn into_raw(self) -> i32 {
6668        self.0
6669    }
6670}
6671impl fmt::Debug for SpatialPersistenceContextResultEXT {
6672    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6673        let name = match *self {
6674            Self::SUCCESS => Some("SUCCESS"),
6675            Self::ENTITY_NOT_TRACKING => Some("ENTITY_NOT_TRACKING"),
6676            Self::PERSIST_UUID_NOT_FOUND => Some("PERSIST_UUID_NOT_FOUND"),
6677            _ => None,
6678        };
6679        fmt_enum(fmt, self.0, name)
6680    }
6681}
6682#[doc = "See [XrSpatialPersistenceStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPersistenceStateEXT)"]
6683#[repr(transparent)]
6684#[derive(Copy, Clone, Eq, PartialEq)]
6685pub struct SpatialPersistenceStateEXT(i32);
6686impl SpatialPersistenceStateEXT {
6687    #[doc = "The persisted UUID has been successfully loaded from the storage."]
6688    pub const LOADED: SpatialPersistenceStateEXT = Self(1i32);
6689    #[doc = "The persisted UUID was not found in the storage and was either removed from it or never was in it."]
6690    pub const NOT_FOUND: SpatialPersistenceStateEXT = Self(2i32);
6691    pub fn from_raw(x: i32) -> Self {
6692        Self(x)
6693    }
6694    pub fn into_raw(self) -> i32 {
6695        self.0
6696    }
6697}
6698impl fmt::Debug for SpatialPersistenceStateEXT {
6699    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6700        let name = match *self {
6701            Self::LOADED => Some("LOADED"),
6702            Self::NOT_FOUND => Some("NOT_FOUND"),
6703            _ => None,
6704        };
6705        fmt_enum(fmt, self.0, name)
6706    }
6707}
6708#[doc = "See [XrSpatialPlaneAlignmentEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPlaneAlignmentEXT)"]
6709#[repr(transparent)]
6710#[derive(Copy, Clone, Eq, PartialEq, Default)]
6711pub struct SpatialPlaneAlignmentEXT(i32);
6712impl SpatialPlaneAlignmentEXT {
6713    #[doc = "The entity is horizontal and faces upward (e.g. floor)."]
6714    pub const HORIZONTAL_UPWARD: SpatialPlaneAlignmentEXT = Self(0i32);
6715    #[doc = "The entity is horizontal and faces downward (e.g. ceiling)."]
6716    pub const HORIZONTAL_DOWNWARD: SpatialPlaneAlignmentEXT = Self(1i32);
6717    #[doc = "The entity is vertical (e.g. wall)."]
6718    pub const VERTICAL: SpatialPlaneAlignmentEXT = Self(2i32);
6719    #[doc = "The entity has an arbitrary, non-vertical and non-horizontal orientation."]
6720    pub const ARBITRARY: SpatialPlaneAlignmentEXT = Self(3i32);
6721    pub fn from_raw(x: i32) -> Self {
6722        Self(x)
6723    }
6724    pub fn into_raw(self) -> i32 {
6725        self.0
6726    }
6727}
6728impl fmt::Debug for SpatialPlaneAlignmentEXT {
6729    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6730        let name = match *self {
6731            Self::HORIZONTAL_UPWARD => Some("HORIZONTAL_UPWARD"),
6732            Self::HORIZONTAL_DOWNWARD => Some("HORIZONTAL_DOWNWARD"),
6733            Self::VERTICAL => Some("VERTICAL"),
6734            Self::ARBITRARY => Some("ARBITRARY"),
6735            _ => None,
6736        };
6737        fmt_enum(fmt, self.0, name)
6738    }
6739}
6740#[doc = "See [XrSpatialPlaneSemanticLabelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPlaneSemanticLabelEXT)"]
6741#[repr(transparent)]
6742#[derive(Copy, Clone, Eq, PartialEq)]
6743pub struct SpatialPlaneSemanticLabelEXT(i32);
6744impl SpatialPlaneSemanticLabelEXT {
6745    #[doc = "The runtime was unable to classify this entity."]
6746    pub const UNCATEGORIZED: SpatialPlaneSemanticLabelEXT = Self(1i32);
6747    #[doc = "The entity is a floor."]
6748    pub const FLOOR: SpatialPlaneSemanticLabelEXT = Self(2i32);
6749    #[doc = "The entity is a wall."]
6750    pub const WALL: SpatialPlaneSemanticLabelEXT = Self(3i32);
6751    #[doc = "The entity is a ceiling."]
6752    pub const CEILING: SpatialPlaneSemanticLabelEXT = Self(4i32);
6753    #[doc = "The entity is a table."]
6754    pub const TABLE: SpatialPlaneSemanticLabelEXT = Self(5i32);
6755    pub fn from_raw(x: i32) -> Self {
6756        Self(x)
6757    }
6758    pub fn into_raw(self) -> i32 {
6759        self.0
6760    }
6761}
6762impl fmt::Debug for SpatialPlaneSemanticLabelEXT {
6763    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6764        let name = match *self {
6765            Self::UNCATEGORIZED => Some("UNCATEGORIZED"),
6766            Self::FLOOR => Some("FLOOR"),
6767            Self::WALL => Some("WALL"),
6768            Self::CEILING => Some("CEILING"),
6769            Self::TABLE => Some("TABLE"),
6770            _ => None,
6771        };
6772        fmt_enum(fmt, self.0, name)
6773    }
6774}
6775#[doc = "See [XrBodyJointHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointHTC)"]
6776#[repr(transparent)]
6777#[derive(Copy, Clone, Eq, PartialEq, Default)]
6778pub struct BodyJointHTC(i32);
6779impl BodyJointHTC {
6780    pub const PELVIS: BodyJointHTC = Self(0i32);
6781    pub const LEFT_HIP: BodyJointHTC = Self(1i32);
6782    pub const LEFT_KNEE: BodyJointHTC = Self(2i32);
6783    pub const LEFT_ANKLE: BodyJointHTC = Self(3i32);
6784    pub const LEFT_FEET: BodyJointHTC = Self(4i32);
6785    pub const RIGHT_HIP: BodyJointHTC = Self(5i32);
6786    pub const RIGHT_KNEE: BodyJointHTC = Self(6i32);
6787    pub const RIGHT_ANKLE: BodyJointHTC = Self(7i32);
6788    pub const RIGHT_FEET: BodyJointHTC = Self(8i32);
6789    pub const WAIST: BodyJointHTC = Self(9i32);
6790    pub const SPINE_LOWER: BodyJointHTC = Self(10i32);
6791    pub const SPINE_MIDDLE: BodyJointHTC = Self(11i32);
6792    pub const SPINE_HIGH: BodyJointHTC = Self(12i32);
6793    pub const CHEST: BodyJointHTC = Self(13i32);
6794    pub const NECK: BodyJointHTC = Self(14i32);
6795    pub const HEAD: BodyJointHTC = Self(15i32);
6796    pub const LEFT_CLAVICLE: BodyJointHTC = Self(16i32);
6797    pub const LEFT_SCAPULA: BodyJointHTC = Self(17i32);
6798    pub const LEFT_ARM: BodyJointHTC = Self(18i32);
6799    pub const LEFT_ELBOW: BodyJointHTC = Self(19i32);
6800    pub const LEFT_WRIST: BodyJointHTC = Self(20i32);
6801    pub const RIGHT_CLAVICLE: BodyJointHTC = Self(21i32);
6802    pub const RIGHT_SCAPULA: BodyJointHTC = Self(22i32);
6803    pub const RIGHT_ARM: BodyJointHTC = Self(23i32);
6804    pub const RIGHT_ELBOW: BodyJointHTC = Self(24i32);
6805    pub const RIGHT_WRIST: BodyJointHTC = Self(25i32);
6806    pub fn from_raw(x: i32) -> Self {
6807        Self(x)
6808    }
6809    pub fn into_raw(self) -> i32 {
6810        self.0
6811    }
6812}
6813impl fmt::Debug for BodyJointHTC {
6814    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6815        let name = match *self {
6816            Self::PELVIS => Some("PELVIS"),
6817            Self::LEFT_HIP => Some("LEFT_HIP"),
6818            Self::LEFT_KNEE => Some("LEFT_KNEE"),
6819            Self::LEFT_ANKLE => Some("LEFT_ANKLE"),
6820            Self::LEFT_FEET => Some("LEFT_FEET"),
6821            Self::RIGHT_HIP => Some("RIGHT_HIP"),
6822            Self::RIGHT_KNEE => Some("RIGHT_KNEE"),
6823            Self::RIGHT_ANKLE => Some("RIGHT_ANKLE"),
6824            Self::RIGHT_FEET => Some("RIGHT_FEET"),
6825            Self::WAIST => Some("WAIST"),
6826            Self::SPINE_LOWER => Some("SPINE_LOWER"),
6827            Self::SPINE_MIDDLE => Some("SPINE_MIDDLE"),
6828            Self::SPINE_HIGH => Some("SPINE_HIGH"),
6829            Self::CHEST => Some("CHEST"),
6830            Self::NECK => Some("NECK"),
6831            Self::HEAD => Some("HEAD"),
6832            Self::LEFT_CLAVICLE => Some("LEFT_CLAVICLE"),
6833            Self::LEFT_SCAPULA => Some("LEFT_SCAPULA"),
6834            Self::LEFT_ARM => Some("LEFT_ARM"),
6835            Self::LEFT_ELBOW => Some("LEFT_ELBOW"),
6836            Self::LEFT_WRIST => Some("LEFT_WRIST"),
6837            Self::RIGHT_CLAVICLE => Some("RIGHT_CLAVICLE"),
6838            Self::RIGHT_SCAPULA => Some("RIGHT_SCAPULA"),
6839            Self::RIGHT_ARM => Some("RIGHT_ARM"),
6840            Self::RIGHT_ELBOW => Some("RIGHT_ELBOW"),
6841            Self::RIGHT_WRIST => Some("RIGHT_WRIST"),
6842            _ => None,
6843        };
6844        fmt_enum(fmt, self.0, name)
6845    }
6846}
6847#[doc = "See [XrBodyJointSetHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointSetHTC)"]
6848#[repr(transparent)]
6849#[derive(Copy, Clone, Eq, PartialEq, Default)]
6850pub struct BodyJointSetHTC(i32);
6851impl BodyJointSetHTC {
6852    pub const FULL: BodyJointSetHTC = Self(0i32);
6853    pub fn from_raw(x: i32) -> Self {
6854        Self(x)
6855    }
6856    pub fn into_raw(self) -> i32 {
6857        self.0
6858    }
6859}
6860impl fmt::Debug for BodyJointSetHTC {
6861    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6862        let name = match *self {
6863            Self::FULL => Some("FULL"),
6864            _ => None,
6865        };
6866        fmt_enum(fmt, self.0, name)
6867    }
6868}
6869#[doc = "See [XrBodyJointConfidenceHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointConfidenceHTC)"]
6870#[repr(transparent)]
6871#[derive(Copy, Clone, Eq, PartialEq, Default)]
6872pub struct BodyJointConfidenceHTC(i32);
6873impl BodyJointConfidenceHTC {
6874    pub const NONE: BodyJointConfidenceHTC = Self(0i32);
6875    pub const LOW: BodyJointConfidenceHTC = Self(1i32);
6876    pub const HIGH: BodyJointConfidenceHTC = Self(2i32);
6877    pub fn from_raw(x: i32) -> Self {
6878        Self(x)
6879    }
6880    pub fn into_raw(self) -> i32 {
6881        self.0
6882    }
6883}
6884impl fmt::Debug for BodyJointConfidenceHTC {
6885    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6886        let name = match *self {
6887            Self::NONE => Some("NONE"),
6888            Self::LOW => Some("LOW"),
6889            Self::HIGH => Some("HIGH"),
6890            _ => None,
6891        };
6892        fmt_enum(fmt, self.0, name)
6893    }
6894}
6895#[doc = "See [XrSpatialAnchorConfidenceML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorConfidenceML)"]
6896#[repr(transparent)]
6897#[derive(Copy, Clone, Eq, PartialEq, Default)]
6898pub struct SpatialAnchorConfidenceML(i32);
6899impl SpatialAnchorConfidenceML {
6900    #[doc = "Low quality, this anchor can be expected to move significantly."]
6901    pub const LOW: SpatialAnchorConfidenceML = Self(0i32);
6902    #[doc = "Medium quality, this anchor may move slightly."]
6903    pub const MEDIUM: SpatialAnchorConfidenceML = Self(1i32);
6904    #[doc = "High quality, this anchor is stable and suitable for digital content attachment."]
6905    pub const HIGH: SpatialAnchorConfidenceML = Self(2i32);
6906    pub fn from_raw(x: i32) -> Self {
6907        Self(x)
6908    }
6909    pub fn into_raw(self) -> i32 {
6910        self.0
6911    }
6912}
6913impl fmt::Debug for SpatialAnchorConfidenceML {
6914    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6915        let name = match *self {
6916            Self::LOW => Some("LOW"),
6917            Self::MEDIUM => Some("MEDIUM"),
6918            Self::HIGH => Some("HIGH"),
6919            _ => None,
6920        };
6921        fmt_enum(fmt, self.0, name)
6922    }
6923}
6924#[doc = "See [XrWorldMeshBlockStatusML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshBlockStatusML)"]
6925#[repr(transparent)]
6926#[derive(Copy, Clone, Eq, PartialEq, Default)]
6927pub struct WorldMeshBlockStatusML(i32);
6928impl WorldMeshBlockStatusML {
6929    #[doc = "The mesh block has been created."]
6930    pub const NEW: WorldMeshBlockStatusML = Self(0i32);
6931    #[doc = "The mesh block has been updated."]
6932    pub const UPDATED: WorldMeshBlockStatusML = Self(1i32);
6933    #[doc = "The mesh block has been deleted."]
6934    pub const DELETED: WorldMeshBlockStatusML = Self(2i32);
6935    #[doc = "The mesh block is unchanged."]
6936    pub const UNCHANGED: WorldMeshBlockStatusML = Self(3i32);
6937    pub fn from_raw(x: i32) -> Self {
6938        Self(x)
6939    }
6940    pub fn into_raw(self) -> i32 {
6941        self.0
6942    }
6943}
6944impl fmt::Debug for WorldMeshBlockStatusML {
6945    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6946        let name = match *self {
6947            Self::NEW => Some("NEW"),
6948            Self::UPDATED => Some("UPDATED"),
6949            Self::DELETED => Some("DELETED"),
6950            Self::UNCHANGED => Some("UNCHANGED"),
6951            _ => None,
6952        };
6953        fmt_enum(fmt, self.0, name)
6954    }
6955}
6956#[doc = "See [XrWorldMeshDetectorLodML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshDetectorLodML)"]
6957#[repr(transparent)]
6958#[derive(Copy, Clone, Eq, PartialEq, Default)]
6959pub struct WorldMeshDetectorLodML(i32);
6960impl WorldMeshDetectorLodML {
6961    #[doc = "Minimum Level of Detail (LOD) for the mesh."]
6962    pub const MINIMUM: WorldMeshDetectorLodML = Self(0i32);
6963    #[doc = "Medium Level of Detail (LOD) for the mesh."]
6964    pub const MEDIUM: WorldMeshDetectorLodML = Self(1i32);
6965    #[doc = "Maximum Level of Detail (LOD) for the mesh."]
6966    pub const MAXIMUM: WorldMeshDetectorLodML = Self(2i32);
6967    pub fn from_raw(x: i32) -> Self {
6968        Self(x)
6969    }
6970    pub fn into_raw(self) -> i32 {
6971        self.0
6972    }
6973}
6974impl fmt::Debug for WorldMeshDetectorLodML {
6975    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6976        let name = match *self {
6977            Self::MINIMUM => Some("MINIMUM"),
6978            Self::MEDIUM => Some("MEDIUM"),
6979            Self::MAXIMUM => Some("MAXIMUM"),
6980            _ => None,
6981        };
6982        fmt_enum(fmt, self.0, name)
6983    }
6984}
6985#[doc = "See [XrWorldMeshBlockResultML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshBlockResultML)"]
6986#[repr(transparent)]
6987#[derive(Copy, Clone, Eq, PartialEq, Default)]
6988pub struct WorldMeshBlockResultML(i32);
6989impl WorldMeshBlockResultML {
6990    #[doc = "Mesh request has succeeded."]
6991    pub const SUCCESS: WorldMeshBlockResultML = Self(0i32);
6992    #[doc = "Mesh request has failed."]
6993    pub const FAILED: WorldMeshBlockResultML = Self(1i32);
6994    #[doc = "Mesh request is pending."]
6995    pub const PENDING: WorldMeshBlockResultML = Self(2i32);
6996    #[doc = "There are partial updates on the mesh request."]
6997    pub const PARTIAL_UPDATE: WorldMeshBlockResultML = Self(3i32);
6998    pub fn from_raw(x: i32) -> Self {
6999        Self(x)
7000    }
7001    pub fn into_raw(self) -> i32 {
7002        self.0
7003    }
7004}
7005impl fmt::Debug for WorldMeshBlockResultML {
7006    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7007        let name = match *self {
7008            Self::SUCCESS => Some("SUCCESS"),
7009            Self::FAILED => Some("FAILED"),
7010            Self::PENDING => Some("PENDING"),
7011            Self::PARTIAL_UPDATE => Some("PARTIAL_UPDATE"),
7012            _ => None,
7013        };
7014        fmt_enum(fmt, self.0, name)
7015    }
7016}
7017#[doc = "See [XrBodyJointBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointBD)"]
7018#[repr(transparent)]
7019#[derive(Copy, Clone, Eq, PartialEq, Default)]
7020pub struct BodyJointBD(i32);
7021impl BodyJointBD {
7022    pub const PELVIS: BodyJointBD = Self(0i32);
7023    pub const LEFT_HIP: BodyJointBD = Self(1i32);
7024    pub const RIGHT_HIP: BodyJointBD = Self(2i32);
7025    pub const SPINE1: BodyJointBD = Self(3i32);
7026    pub const LEFT_KNEE: BodyJointBD = Self(4i32);
7027    pub const RIGHT_KNEE: BodyJointBD = Self(5i32);
7028    pub const SPINE2: BodyJointBD = Self(6i32);
7029    pub const LEFT_ANKLE: BodyJointBD = Self(7i32);
7030    pub const RIGHT_ANKLE: BodyJointBD = Self(8i32);
7031    pub const SPINE3: BodyJointBD = Self(9i32);
7032    pub const LEFT_FOOT: BodyJointBD = Self(10i32);
7033    pub const RIGHT_FOOT: BodyJointBD = Self(11i32);
7034    pub const NECK: BodyJointBD = Self(12i32);
7035    pub const LEFT_COLLAR: BodyJointBD = Self(13i32);
7036    pub const RIGHT_COLLAR: BodyJointBD = Self(14i32);
7037    pub const HEAD: BodyJointBD = Self(15i32);
7038    pub const LEFT_SHOULDER: BodyJointBD = Self(16i32);
7039    pub const RIGHT_SHOULDER: BodyJointBD = Self(17i32);
7040    pub const LEFT_ELBOW: BodyJointBD = Self(18i32);
7041    pub const RIGHT_ELBOW: BodyJointBD = Self(19i32);
7042    pub const LEFT_WRIST: BodyJointBD = Self(20i32);
7043    pub const RIGHT_WRIST: BodyJointBD = Self(21i32);
7044    pub const LEFT_HAND: BodyJointBD = Self(22i32);
7045    pub const RIGHT_HAND: BodyJointBD = Self(23i32);
7046    pub fn from_raw(x: i32) -> Self {
7047        Self(x)
7048    }
7049    pub fn into_raw(self) -> i32 {
7050        self.0
7051    }
7052}
7053impl fmt::Debug for BodyJointBD {
7054    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7055        let name = match *self {
7056            Self::PELVIS => Some("PELVIS"),
7057            Self::LEFT_HIP => Some("LEFT_HIP"),
7058            Self::RIGHT_HIP => Some("RIGHT_HIP"),
7059            Self::SPINE1 => Some("SPINE1"),
7060            Self::LEFT_KNEE => Some("LEFT_KNEE"),
7061            Self::RIGHT_KNEE => Some("RIGHT_KNEE"),
7062            Self::SPINE2 => Some("SPINE2"),
7063            Self::LEFT_ANKLE => Some("LEFT_ANKLE"),
7064            Self::RIGHT_ANKLE => Some("RIGHT_ANKLE"),
7065            Self::SPINE3 => Some("SPINE3"),
7066            Self::LEFT_FOOT => Some("LEFT_FOOT"),
7067            Self::RIGHT_FOOT => Some("RIGHT_FOOT"),
7068            Self::NECK => Some("NECK"),
7069            Self::LEFT_COLLAR => Some("LEFT_COLLAR"),
7070            Self::RIGHT_COLLAR => Some("RIGHT_COLLAR"),
7071            Self::HEAD => Some("HEAD"),
7072            Self::LEFT_SHOULDER => Some("LEFT_SHOULDER"),
7073            Self::RIGHT_SHOULDER => Some("RIGHT_SHOULDER"),
7074            Self::LEFT_ELBOW => Some("LEFT_ELBOW"),
7075            Self::RIGHT_ELBOW => Some("RIGHT_ELBOW"),
7076            Self::LEFT_WRIST => Some("LEFT_WRIST"),
7077            Self::RIGHT_WRIST => Some("RIGHT_WRIST"),
7078            Self::LEFT_HAND => Some("LEFT_HAND"),
7079            Self::RIGHT_HAND => Some("RIGHT_HAND"),
7080            _ => None,
7081        };
7082        fmt_enum(fmt, self.0, name)
7083    }
7084}
7085#[doc = "Describes the set of body joints to track when creating an XrBodyTrackerBD. - see [XrBodyJointSetBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointSetBD)"]
7086#[repr(transparent)]
7087#[derive(Copy, Clone, Eq, PartialEq)]
7088pub struct BodyJointSetBD(i32);
7089impl BodyJointSetBD {
7090    #[doc = "Contains joints in XrBodyJointBD in the range XR_BODY_JOINT_PELVIS_BD through XR_BODY_JOINT_HEAD_BD inclusive, a total of XR_BODY_JOINT_WITHOUT_ARM_COUNT_BD joints."]
7091    pub const BODY_WITHOUT_ARM: BodyJointSetBD = Self(1i32);
7092    #[doc = "Contains joints in XrBodyJointBD in the range XR_BODY_JOINT_PELVIS_BD through XR_BODY_JOINT_RIGHT_HAND_BD inclusive, a total of XR_BODY_JOINT_COUNT_BD joints."]
7093    pub const FULL_BODY_JOINTS: BodyJointSetBD = Self(2i32);
7094    pub fn from_raw(x: i32) -> Self {
7095        Self(x)
7096    }
7097    pub fn into_raw(self) -> i32 {
7098        self.0
7099    }
7100}
7101impl fmt::Debug for BodyJointSetBD {
7102    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7103        let name = match *self {
7104            Self::BODY_WITHOUT_ARM => Some("BODY_WITHOUT_ARM"),
7105            Self::FULL_BODY_JOINTS => Some("FULL_BODY_JOINTS"),
7106            _ => None,
7107        };
7108        fmt_enum(fmt, self.0, name)
7109    }
7110}
7111#[doc = "See [XrSenseDataProviderTypeBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataProviderTypeBD)"]
7112#[repr(transparent)]
7113#[derive(Copy, Clone, Eq, PartialEq)]
7114pub struct SenseDataProviderTypeBD(i32);
7115impl SenseDataProviderTypeBD {
7116    #[doc = "Create arbitrary spatial anchors."]
7117    pub const ANCHOR: SenseDataProviderTypeBD = Self(1000390000i32);
7118    #[doc = "Access spatial scene capture data."]
7119    pub const SCENE: SenseDataProviderTypeBD = Self(1000392000i32);
7120    #[doc = "Capture spatial mesh data."]
7121    pub const MESH: SenseDataProviderTypeBD = Self(1000393000i32);
7122    #[doc = "Capture spatial plane data."]
7123    pub const PLANE: SenseDataProviderTypeBD = Self(1000396000i32);
7124    pub fn from_raw(x: i32) -> Self {
7125        Self(x)
7126    }
7127    pub fn into_raw(self) -> i32 {
7128        self.0
7129    }
7130}
7131impl fmt::Debug for SenseDataProviderTypeBD {
7132    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7133        let name = match *self {
7134            Self::ANCHOR => Some("ANCHOR"),
7135            Self::SCENE => Some("SCENE"),
7136            Self::MESH => Some("MESH"),
7137            Self::PLANE => Some("PLANE"),
7138            _ => None,
7139        };
7140        fmt_enum(fmt, self.0, name)
7141    }
7142}
7143#[doc = "See [XrSemanticLabelBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSemanticLabelBD)"]
7144#[repr(transparent)]
7145#[derive(Copy, Clone, Eq, PartialEq, Default)]
7146pub struct SemanticLabelBD(i32);
7147impl SemanticLabelBD {
7148    #[doc = "Semantic label that the runtime does not know."]
7149    pub const UNKNOWN: SemanticLabelBD = Self(0i32);
7150    #[doc = "Semantic label of floor."]
7151    pub const FLOOR: SemanticLabelBD = Self(1i32);
7152    #[doc = "Semantic label of ceiling."]
7153    pub const CEILING: SemanticLabelBD = Self(2i32);
7154    #[doc = "Semantic label of wall."]
7155    pub const WALL: SemanticLabelBD = Self(3i32);
7156    #[doc = "Semantic label of door."]
7157    pub const DOOR: SemanticLabelBD = Self(4i32);
7158    #[doc = "Semantic label of window."]
7159    pub const WINDOW: SemanticLabelBD = Self(5i32);
7160    #[doc = "Semantic label of opening, usually refers to a space that something or someone can pass through."]
7161    pub const OPENING: SemanticLabelBD = Self(6i32);
7162    #[doc = "Semantic label of table."]
7163    pub const TABLE: SemanticLabelBD = Self(7i32);
7164    #[doc = "Semantic label of sofa, usually refers to a seat that multiple people can sit on."]
7165    pub const SOFA: SemanticLabelBD = Self(8i32);
7166    #[doc = "Semantic label of chair, usually refers to a seat that for one person."]
7167    pub const CHAIR: SemanticLabelBD = Self(9i32);
7168    #[doc = "Semantic label of human."]
7169    pub const HUMAN: SemanticLabelBD = Self(10i32);
7170    #[doc = "Semantic label of beam, which usually supports weight in a building or other structure."]
7171    pub const BEAM: SemanticLabelBD = Self(11i32);
7172    #[doc = "Semantic label of column, which is vertical and used as a support for the roof of a building."]
7173    pub const COLUMN: SemanticLabelBD = Self(12i32);
7174    #[doc = "Semantic label of curtain."]
7175    pub const CURTAIN: SemanticLabelBD = Self(13i32);
7176    #[doc = "Semantic label of cabinet."]
7177    pub const CABINET: SemanticLabelBD = Self(14i32);
7178    #[doc = "Semantic label of bed."]
7179    pub const BED: SemanticLabelBD = Self(15i32);
7180    #[doc = "Semantic label of plant."]
7181    pub const PLANT: SemanticLabelBD = Self(16i32);
7182    #[doc = "Semantic label of screen."]
7183    pub const SCREEN: SemanticLabelBD = Self(17i32);
7184    #[doc = "Semantic label of virtual wall, which is generated by the system scene capture app in order to create a closed space for users."]
7185    pub const VIRTUAL_WALL: SemanticLabelBD = Self(18i32);
7186    #[doc = "Semantic label of refrigerator."]
7187    pub const REFRIGERATOR: SemanticLabelBD = Self(19i32);
7188    #[doc = "Semantic label of washing machine."]
7189    pub const WASHING_MACHINE: SemanticLabelBD = Self(20i32);
7190    #[doc = "Semantic label of air conditioner."]
7191    pub const AIR_CONDITIONER: SemanticLabelBD = Self(21i32);
7192    #[doc = "Semantic label of lamp."]
7193    pub const LAMP: SemanticLabelBD = Self(22i32);
7194    #[doc = "Semantic label of wall art, like a painting or a photo frame."]
7195    pub const WALL_ART: SemanticLabelBD = Self(23i32);
7196    #[doc = "Semantic label of stairway."]
7197    pub const STAIRWAY: SemanticLabelBD = Self(24i32);
7198    pub fn from_raw(x: i32) -> Self {
7199        Self(x)
7200    }
7201    pub fn into_raw(self) -> i32 {
7202        self.0
7203    }
7204}
7205impl fmt::Debug for SemanticLabelBD {
7206    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7207        let name = match *self {
7208            Self::UNKNOWN => Some("UNKNOWN"),
7209            Self::FLOOR => Some("FLOOR"),
7210            Self::CEILING => Some("CEILING"),
7211            Self::WALL => Some("WALL"),
7212            Self::DOOR => Some("DOOR"),
7213            Self::WINDOW => Some("WINDOW"),
7214            Self::OPENING => Some("OPENING"),
7215            Self::TABLE => Some("TABLE"),
7216            Self::SOFA => Some("SOFA"),
7217            Self::CHAIR => Some("CHAIR"),
7218            Self::HUMAN => Some("HUMAN"),
7219            Self::BEAM => Some("BEAM"),
7220            Self::COLUMN => Some("COLUMN"),
7221            Self::CURTAIN => Some("CURTAIN"),
7222            Self::CABINET => Some("CABINET"),
7223            Self::BED => Some("BED"),
7224            Self::PLANT => Some("PLANT"),
7225            Self::SCREEN => Some("SCREEN"),
7226            Self::VIRTUAL_WALL => Some("VIRTUAL_WALL"),
7227            Self::REFRIGERATOR => Some("REFRIGERATOR"),
7228            Self::WASHING_MACHINE => Some("WASHING_MACHINE"),
7229            Self::AIR_CONDITIONER => Some("AIR_CONDITIONER"),
7230            Self::LAMP => Some("LAMP"),
7231            Self::WALL_ART => Some("WALL_ART"),
7232            Self::STAIRWAY => Some("STAIRWAY"),
7233            _ => None,
7234        };
7235        fmt_enum(fmt, self.0, name)
7236    }
7237}
7238#[doc = "See [XrSpatialEntityComponentTypeBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentTypeBD)"]
7239#[repr(transparent)]
7240#[derive(Copy, Clone, Eq, PartialEq, Default)]
7241pub struct SpatialEntityComponentTypeBD(i32);
7242impl SpatialEntityComponentTypeBD {
7243    #[doc = "The location including position and rotation. Corresponds to component data structure XrSpatialEntityComponentDataLocationBD."]
7244    pub const LOCATION: SpatialEntityComponentTypeBD = Self(0i32);
7245    #[doc = "The semantic label. Corresponds to component data structure XrSpatialEntityComponentDataSemanticBD."]
7246    pub const SEMANTIC: SpatialEntityComponentTypeBD = Self(1i32);
7247    #[doc = "The two-dimensional bounding box. Corresponds to component data structure XrSpatialEntityComponentDataBoundingBox2DBD."]
7248    pub const BOUNDING_BOX_2D: SpatialEntityComponentTypeBD = Self(2i32);
7249    #[doc = "The two-dimensional polygon. Corresponds to component data structure XrSpatialEntityComponentDataPolygonBD."]
7250    pub const POLYGON: SpatialEntityComponentTypeBD = Self(3i32);
7251    #[doc = "The three-dimensional bounding box. Corresponds to component data structure XrSpatialEntityComponentDataBoundingBox3DBD."]
7252    pub const BOUNDING_BOX_3D: SpatialEntityComponentTypeBD = Self(4i32);
7253    #[doc = "The triangle mesh. Corresponds to component data structure XrSpatialEntityComponentDataTriangleMeshBD."]
7254    pub const TRIANGLE_MESH: SpatialEntityComponentTypeBD = Self(5i32);
7255    #[doc = "The plane orientation. Corresponds to component data structure XrSpatialEntityComponentDataPlaneOrientationBD."]
7256    pub const PLANE_ORIENTATION: SpatialEntityComponentTypeBD = Self(1000396000i32);
7257    pub fn from_raw(x: i32) -> Self {
7258        Self(x)
7259    }
7260    pub fn into_raw(self) -> i32 {
7261        self.0
7262    }
7263}
7264impl fmt::Debug for SpatialEntityComponentTypeBD {
7265    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7266        let name = match *self {
7267            Self::LOCATION => Some("LOCATION"),
7268            Self::SEMANTIC => Some("SEMANTIC"),
7269            Self::BOUNDING_BOX_2D => Some("BOUNDING_BOX_2D"),
7270            Self::POLYGON => Some("POLYGON"),
7271            Self::BOUNDING_BOX_3D => Some("BOUNDING_BOX_3D"),
7272            Self::TRIANGLE_MESH => Some("TRIANGLE_MESH"),
7273            Self::PLANE_ORIENTATION => Some("PLANE_ORIENTATION"),
7274            _ => None,
7275        };
7276        fmt_enum(fmt, self.0, name)
7277    }
7278}
7279#[doc = "See [XrSenseDataProviderStateBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataProviderStateBD)"]
7280#[repr(transparent)]
7281#[derive(Copy, Clone, Eq, PartialEq, Default)]
7282pub struct SenseDataProviderStateBD(i32);
7283impl SenseDataProviderStateBD {
7284    #[doc = "The state after the provider is successfully created, which means the provider is ready to start."]
7285    pub const INITIALIZED: SenseDataProviderStateBD = Self(0i32);
7286    #[doc = "The state when the provider is running normally."]
7287    pub const RUNNING: SenseDataProviderStateBD = Self(1i32);
7288    #[doc = "The state after the provider is successfully stopped, or when an unexpected error occurs."]
7289    pub const STOPPED: SenseDataProviderStateBD = Self(2i32);
7290    pub fn from_raw(x: i32) -> Self {
7291        Self(x)
7292    }
7293    pub fn into_raw(self) -> i32 {
7294        self.0
7295    }
7296}
7297impl fmt::Debug for SenseDataProviderStateBD {
7298    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7299        let name = match *self {
7300            Self::INITIALIZED => Some("INITIALIZED"),
7301            Self::RUNNING => Some("RUNNING"),
7302            Self::STOPPED => Some("STOPPED"),
7303            _ => None,
7304        };
7305        fmt_enum(fmt, self.0, name)
7306    }
7307}
7308#[doc = "See [XrPersistenceLocationBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPersistenceLocationBD)"]
7309#[repr(transparent)]
7310#[derive(Copy, Clone, Eq, PartialEq, Default)]
7311pub struct PersistenceLocationBD(i32);
7312impl PersistenceLocationBD {
7313    #[doc = "The persistence storage location is local to the device."]
7314    pub const LOCAL: PersistenceLocationBD = Self(0i32);
7315    pub fn from_raw(x: i32) -> Self {
7316        Self(x)
7317    }
7318    pub fn into_raw(self) -> i32 {
7319        self.0
7320    }
7321}
7322impl fmt::Debug for PersistenceLocationBD {
7323    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7324        let name = match *self {
7325            Self::LOCAL => Some("LOCAL"),
7326            _ => None,
7327        };
7328        fmt_enum(fmt, self.0, name)
7329    }
7330}
7331#[doc = "See [XrSpatialMeshLodBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialMeshLodBD)"]
7332#[repr(transparent)]
7333#[derive(Copy, Clone, Eq, PartialEq, Default)]
7334pub struct SpatialMeshLodBD(i32);
7335impl SpatialMeshLodBD {
7336    #[doc = "Coarse level for the mesh with less details."]
7337    pub const COARSE: SpatialMeshLodBD = Self(0i32);
7338    #[doc = "Medium level for the mesh."]
7339    pub const MEDIUM: SpatialMeshLodBD = Self(1i32);
7340    #[doc = "Fine level for the mesh with more details."]
7341    pub const FINE: SpatialMeshLodBD = Self(2i32);
7342    pub fn from_raw(x: i32) -> Self {
7343        Self(x)
7344    }
7345    pub fn into_raw(self) -> i32 {
7346        self.0
7347    }
7348}
7349impl fmt::Debug for SpatialMeshLodBD {
7350    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7351        let name = match *self {
7352            Self::COARSE => Some("COARSE"),
7353            Self::MEDIUM => Some("MEDIUM"),
7354            Self::FINE => Some("FINE"),
7355            _ => None,
7356        };
7357        fmt_enum(fmt, self.0, name)
7358    }
7359}
7360#[doc = "See [XrPlaneOrientationBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneOrientationBD)"]
7361#[repr(transparent)]
7362#[derive(Copy, Clone, Eq, PartialEq, Default)]
7363pub struct PlaneOrientationBD(i32);
7364impl PlaneOrientationBD {
7365    #[doc = "The detected plane is horizontal and faces upward (e.g. floor)."]
7366    pub const HORIZONTAL_UPWARD: PlaneOrientationBD = Self(0i32);
7367    #[doc = "The detected plane is horizontal and faces downward (e.g. ceiling)."]
7368    pub const HORIZONTAL_DOWNWARD: PlaneOrientationBD = Self(1i32);
7369    #[doc = "The detected plane is vertical (e.g. wall)."]
7370    pub const VERTICAL: PlaneOrientationBD = Self(2i32);
7371    #[doc = "The detected plane has an arbitrary, non-vertical and non-horizontal orientation."]
7372    pub const ARBITRARY: PlaneOrientationBD = Self(3i32);
7373    pub fn from_raw(x: i32) -> Self {
7374        Self(x)
7375    }
7376    pub fn into_raw(self) -> i32 {
7377        self.0
7378    }
7379}
7380impl fmt::Debug for PlaneOrientationBD {
7381    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7382        let name = match *self {
7383            Self::HORIZONTAL_UPWARD => Some("HORIZONTAL_UPWARD"),
7384            Self::HORIZONTAL_DOWNWARD => Some("HORIZONTAL_DOWNWARD"),
7385            Self::VERTICAL => Some("VERTICAL"),
7386            Self::ARBITRARY => Some("ARBITRARY"),
7387            _ => None,
7388        };
7389        fmt_enum(fmt, self.0, name)
7390    }
7391}
7392#[doc = "See [XrSpatialMarkerArucoDictEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialMarkerArucoDictEXT)"]
7393#[repr(transparent)]
7394#[derive(Copy, Clone, Eq, PartialEq)]
7395pub struct SpatialMarkerArucoDictEXT(i32);
7396impl SpatialMarkerArucoDictEXT {
7397    #[doc = "4 by 4 pixel Aruco marker dictionary with 50 IDs."]
7398    pub const DICT_4X4_50: SpatialMarkerArucoDictEXT = Self(1i32);
7399    #[doc = "4 by 4 pixel Aruco marker dictionary with 100 IDs."]
7400    pub const DICT_4X4_100: SpatialMarkerArucoDictEXT = Self(2i32);
7401    #[doc = "4 by 4 pixel Aruco marker dictionary with 250 IDs."]
7402    pub const DICT_4X4_250: SpatialMarkerArucoDictEXT = Self(3i32);
7403    #[doc = "4 by 4 pixel Aruco marker dictionary with 1000 IDs."]
7404    pub const DICT_4X4_1000: SpatialMarkerArucoDictEXT = Self(4i32);
7405    #[doc = "5 by 5 pixel Aruco marker dictionary with 50 IDs."]
7406    pub const DICT_5X5_50: SpatialMarkerArucoDictEXT = Self(5i32);
7407    #[doc = "5 by 5 pixel Aruco marker dictionary with 100 IDs."]
7408    pub const DICT_5X5_100: SpatialMarkerArucoDictEXT = Self(6i32);
7409    #[doc = "5 by 5 pixel Aruco marker dictionary with 250 IDs."]
7410    pub const DICT_5X5_250: SpatialMarkerArucoDictEXT = Self(7i32);
7411    #[doc = "5 by 5 pixel Aruco marker dictionary with 1000 IDs."]
7412    pub const DICT_5X5_1000: SpatialMarkerArucoDictEXT = Self(8i32);
7413    #[doc = "6 by 6 pixel Aruco marker dictionary with 50 IDs."]
7414    pub const DICT_6X6_50: SpatialMarkerArucoDictEXT = Self(9i32);
7415    #[doc = "6 by 6 pixel Aruco marker dictionary with 100 IDs."]
7416    pub const DICT_6X6_100: SpatialMarkerArucoDictEXT = Self(10i32);
7417    #[doc = "6 by 6 pixel Aruco marker dictionary with 250 IDs."]
7418    pub const DICT_6X6_250: SpatialMarkerArucoDictEXT = Self(11i32);
7419    #[doc = "6 by 6 pixel Aruco marker dictionary with 1000 IDs."]
7420    pub const DICT_6X6_1000: SpatialMarkerArucoDictEXT = Self(12i32);
7421    #[doc = "7 by 7 pixel Aruco marker dictionary with 50 IDs."]
7422    pub const DICT_7X7_50: SpatialMarkerArucoDictEXT = Self(13i32);
7423    #[doc = "7 by 7 pixel Aruco marker dictionary with 100 IDs."]
7424    pub const DICT_7X7_100: SpatialMarkerArucoDictEXT = Self(14i32);
7425    #[doc = "7 by 7 pixel Aruco marker dictionary with 250 IDs."]
7426    pub const DICT_7X7_250: SpatialMarkerArucoDictEXT = Self(15i32);
7427    #[doc = "7 by 7 pixel Aruco marker dictionary with 1000 IDs."]
7428    pub const DICT_7X7_1000: SpatialMarkerArucoDictEXT = Self(16i32);
7429    pub fn from_raw(x: i32) -> Self {
7430        Self(x)
7431    }
7432    pub fn into_raw(self) -> i32 {
7433        self.0
7434    }
7435}
7436impl fmt::Debug for SpatialMarkerArucoDictEXT {
7437    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7438        let name = match *self {
7439            Self::DICT_4X4_50 => Some("DICT_4X4_50"),
7440            Self::DICT_4X4_100 => Some("DICT_4X4_100"),
7441            Self::DICT_4X4_250 => Some("DICT_4X4_250"),
7442            Self::DICT_4X4_1000 => Some("DICT_4X4_1000"),
7443            Self::DICT_5X5_50 => Some("DICT_5X5_50"),
7444            Self::DICT_5X5_100 => Some("DICT_5X5_100"),
7445            Self::DICT_5X5_250 => Some("DICT_5X5_250"),
7446            Self::DICT_5X5_1000 => Some("DICT_5X5_1000"),
7447            Self::DICT_6X6_50 => Some("DICT_6X6_50"),
7448            Self::DICT_6X6_100 => Some("DICT_6X6_100"),
7449            Self::DICT_6X6_250 => Some("DICT_6X6_250"),
7450            Self::DICT_6X6_1000 => Some("DICT_6X6_1000"),
7451            Self::DICT_7X7_50 => Some("DICT_7X7_50"),
7452            Self::DICT_7X7_100 => Some("DICT_7X7_100"),
7453            Self::DICT_7X7_250 => Some("DICT_7X7_250"),
7454            Self::DICT_7X7_1000 => Some("DICT_7X7_1000"),
7455            _ => None,
7456        };
7457        fmt_enum(fmt, self.0, name)
7458    }
7459}
7460#[doc = "See [XrSpatialMarkerAprilTagDictEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialMarkerAprilTagDictEXT)"]
7461#[repr(transparent)]
7462#[derive(Copy, Clone, Eq, PartialEq)]
7463pub struct SpatialMarkerAprilTagDictEXT(i32);
7464impl SpatialMarkerAprilTagDictEXT {
7465    #[doc = "4 by 4 bits, minimum Hamming distance between any two codes = 5, 30 codes."]
7466    pub const DICT_16H5: SpatialMarkerAprilTagDictEXT = Self(1i32);
7467    #[doc = "5 by 5 bits, minimum Hamming distance between any two codes = 9, 35 codes."]
7468    pub const DICT_25H9: SpatialMarkerAprilTagDictEXT = Self(2i32);
7469    #[doc = "6 by 6 bits, minimum Hamming distance between any two codes = 10, 2320 codes."]
7470    pub const DICT_36H10: SpatialMarkerAprilTagDictEXT = Self(3i32);
7471    #[doc = "6 by 6 bits, minimum Hamming distance between any two codes = 11, 587 codes."]
7472    pub const DICT_36H11: SpatialMarkerAprilTagDictEXT = Self(4i32);
7473    pub fn from_raw(x: i32) -> Self {
7474        Self(x)
7475    }
7476    pub fn into_raw(self) -> i32 {
7477        self.0
7478    }
7479}
7480impl fmt::Debug for SpatialMarkerAprilTagDictEXT {
7481    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7482        let name = match *self {
7483            Self::DICT_16H5 => Some("DICT_16H5"),
7484            Self::DICT_25H9 => Some("DICT_25H9"),
7485            Self::DICT_36H10 => Some("DICT_36H10"),
7486            Self::DICT_36H11 => Some("DICT_36H11"),
7487            _ => None,
7488        };
7489        fmt_enum(fmt, self.0, name)
7490    }
7491}
7492#[doc = "See [XrFacialSimulationModeBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialSimulationModeBD)"]
7493#[repr(transparent)]
7494#[derive(Copy, Clone, Eq, PartialEq, Default)]
7495pub struct FacialSimulationModeBD(i32);
7496impl FacialSimulationModeBD {
7497    #[doc = "When calling xrGetFacialSimulationDataBD, the output contains the XrFacialSimulationDataBD only."]
7498    pub const DEFAULT: FacialSimulationModeBD = Self(0i32);
7499    #[doc = "Results in the same output as the `Default` mode, furthermore, runtime can provide a precise result by using the audio input."]
7500    pub const COMBINED_AUDIO: FacialSimulationModeBD = Self(1i32);
7501    #[doc = "Separates the result into two parts, one is XrFacialSimulationDataBD, the other is XrLipExpressionDataBD."]
7502    pub const COMBINED_AUDIO_WITH_LIP: FacialSimulationModeBD = Self(2i32);
7503    #[doc = "Uses only audio input to produce the output result as XrLipExpressionDataBD."]
7504    pub const ONLY_AUDIO_WITH_LIP: FacialSimulationModeBD = Self(3i32);
7505    pub fn from_raw(x: i32) -> Self {
7506        Self(x)
7507    }
7508    pub fn into_raw(self) -> i32 {
7509        self.0
7510    }
7511}
7512impl fmt::Debug for FacialSimulationModeBD {
7513    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7514        let name = match *self {
7515            Self::DEFAULT => Some("DEFAULT"),
7516            Self::COMBINED_AUDIO => Some("COMBINED_AUDIO"),
7517            Self::COMBINED_AUDIO_WITH_LIP => Some("COMBINED_AUDIO_WITH_LIP"),
7518            Self::ONLY_AUDIO_WITH_LIP => Some("ONLY_AUDIO_WITH_LIP"),
7519            _ => None,
7520        };
7521        fmt_enum(fmt, self.0, name)
7522    }
7523}
7524#[doc = "See [XrFaceExpressionBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionBD)"]
7525#[repr(transparent)]
7526#[derive(Copy, Clone, Eq, PartialEq, Default)]
7527pub struct FaceExpressionBD(i32);
7528impl FaceExpressionBD {
7529    pub const BROW_DROP_L: FaceExpressionBD = Self(0i32);
7530    pub const BROW_DROP_R: FaceExpressionBD = Self(1i32);
7531    pub const BROW_INNER_UPWARDS: FaceExpressionBD = Self(2i32);
7532    pub const BROW_OUTER_UPWARDS_L: FaceExpressionBD = Self(3i32);
7533    pub const BROW_OUTER_UPWARDS_R: FaceExpressionBD = Self(4i32);
7534    pub const EYE_BLINK_L: FaceExpressionBD = Self(5i32);
7535    pub const EYE_LOOK_DROP_L: FaceExpressionBD = Self(6i32);
7536    pub const EYE_LOOK_IN_L: FaceExpressionBD = Self(7i32);
7537    pub const EYE_LOOK_OUT_L: FaceExpressionBD = Self(8i32);
7538    pub const EYE_LOOK_UPWARDS_L: FaceExpressionBD = Self(9i32);
7539    pub const EYE_LOOK_SQUINT_L: FaceExpressionBD = Self(10i32);
7540    pub const EYE_LOOK_WIDE_L: FaceExpressionBD = Self(11i32);
7541    pub const EYE_BLINK_R: FaceExpressionBD = Self(12i32);
7542    pub const EYE_LOOK_DROP_R: FaceExpressionBD = Self(13i32);
7543    pub const EYE_LOOK_IN_R: FaceExpressionBD = Self(14i32);
7544    pub const EYE_LOOK_OUT_R: FaceExpressionBD = Self(15i32);
7545    pub const EYE_LOOK_UPWARDS_R: FaceExpressionBD = Self(16i32);
7546    pub const EYE_LOOK_SQUINT_R: FaceExpressionBD = Self(17i32);
7547    pub const EYE_LOOK_WIDE_R: FaceExpressionBD = Self(18i32);
7548    pub const NOSE_SNEER_L: FaceExpressionBD = Self(19i32);
7549    pub const NOSE_SNEER_R: FaceExpressionBD = Self(20i32);
7550    pub const CHEEK_PUFF: FaceExpressionBD = Self(21i32);
7551    pub const CHEEK_SQUINT_L: FaceExpressionBD = Self(22i32);
7552    pub const CHEEK_SQUINT_R: FaceExpressionBD = Self(23i32);
7553    pub const MOUTH_CLOSE: FaceExpressionBD = Self(24i32);
7554    pub const MOUTH_FUNNEL: FaceExpressionBD = Self(25i32);
7555    pub const MOUTH_PUCKER: FaceExpressionBD = Self(26i32);
7556    pub const MOUTH_L: FaceExpressionBD = Self(27i32);
7557    pub const MOUTH_R: FaceExpressionBD = Self(28i32);
7558    pub const MOUTH_SMILE_L: FaceExpressionBD = Self(29i32);
7559    pub const MOUTH_SMILE_R: FaceExpressionBD = Self(30i32);
7560    pub const MOUTH_FROWN_L: FaceExpressionBD = Self(31i32);
7561    pub const MOUTH_FROWN_R: FaceExpressionBD = Self(32i32);
7562    pub const MOUTH_DIMPLE_L: FaceExpressionBD = Self(33i32);
7563    pub const MOUTH_DIMPLE_R: FaceExpressionBD = Self(34i32);
7564    pub const MOUTH_STRETCH_L: FaceExpressionBD = Self(35i32);
7565    pub const MOUTH_STRETCH_R: FaceExpressionBD = Self(36i32);
7566    pub const MOUTH_ROLL_LOWER: FaceExpressionBD = Self(37i32);
7567    pub const MOUTH_ROLL_UPPER: FaceExpressionBD = Self(38i32);
7568    pub const MOUTH_SHRUG_LOWER: FaceExpressionBD = Self(39i32);
7569    pub const MOUTH_SHRUG_UPPER: FaceExpressionBD = Self(40i32);
7570    pub const MOUTH_PRESS_L: FaceExpressionBD = Self(41i32);
7571    pub const MOUTH_PRESS_R: FaceExpressionBD = Self(42i32);
7572    pub const MOUTH_LOWER_DROP_L: FaceExpressionBD = Self(43i32);
7573    pub const MOUTH_LOWER_DROP_R: FaceExpressionBD = Self(44i32);
7574    pub const MOUTH_UPPER_UPWARDS_L: FaceExpressionBD = Self(45i32);
7575    pub const MOUTH_UPPER_UPWARDS_R: FaceExpressionBD = Self(46i32);
7576    pub const JAW_FORWARD: FaceExpressionBD = Self(47i32);
7577    pub const JAW_L: FaceExpressionBD = Self(48i32);
7578    pub const JAW_R: FaceExpressionBD = Self(49i32);
7579    pub const JAW_OPEN: FaceExpressionBD = Self(50i32);
7580    pub const TONGUE_OUT: FaceExpressionBD = Self(51i32);
7581    pub fn from_raw(x: i32) -> Self {
7582        Self(x)
7583    }
7584    pub fn into_raw(self) -> i32 {
7585        self.0
7586    }
7587}
7588impl fmt::Debug for FaceExpressionBD {
7589    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7590        let name = match *self {
7591            Self::BROW_DROP_L => Some("BROW_DROP_L"),
7592            Self::BROW_DROP_R => Some("BROW_DROP_R"),
7593            Self::BROW_INNER_UPWARDS => Some("BROW_INNER_UPWARDS"),
7594            Self::BROW_OUTER_UPWARDS_L => Some("BROW_OUTER_UPWARDS_L"),
7595            Self::BROW_OUTER_UPWARDS_R => Some("BROW_OUTER_UPWARDS_R"),
7596            Self::EYE_BLINK_L => Some("EYE_BLINK_L"),
7597            Self::EYE_LOOK_DROP_L => Some("EYE_LOOK_DROP_L"),
7598            Self::EYE_LOOK_IN_L => Some("EYE_LOOK_IN_L"),
7599            Self::EYE_LOOK_OUT_L => Some("EYE_LOOK_OUT_L"),
7600            Self::EYE_LOOK_UPWARDS_L => Some("EYE_LOOK_UPWARDS_L"),
7601            Self::EYE_LOOK_SQUINT_L => Some("EYE_LOOK_SQUINT_L"),
7602            Self::EYE_LOOK_WIDE_L => Some("EYE_LOOK_WIDE_L"),
7603            Self::EYE_BLINK_R => Some("EYE_BLINK_R"),
7604            Self::EYE_LOOK_DROP_R => Some("EYE_LOOK_DROP_R"),
7605            Self::EYE_LOOK_IN_R => Some("EYE_LOOK_IN_R"),
7606            Self::EYE_LOOK_OUT_R => Some("EYE_LOOK_OUT_R"),
7607            Self::EYE_LOOK_UPWARDS_R => Some("EYE_LOOK_UPWARDS_R"),
7608            Self::EYE_LOOK_SQUINT_R => Some("EYE_LOOK_SQUINT_R"),
7609            Self::EYE_LOOK_WIDE_R => Some("EYE_LOOK_WIDE_R"),
7610            Self::NOSE_SNEER_L => Some("NOSE_SNEER_L"),
7611            Self::NOSE_SNEER_R => Some("NOSE_SNEER_R"),
7612            Self::CHEEK_PUFF => Some("CHEEK_PUFF"),
7613            Self::CHEEK_SQUINT_L => Some("CHEEK_SQUINT_L"),
7614            Self::CHEEK_SQUINT_R => Some("CHEEK_SQUINT_R"),
7615            Self::MOUTH_CLOSE => Some("MOUTH_CLOSE"),
7616            Self::MOUTH_FUNNEL => Some("MOUTH_FUNNEL"),
7617            Self::MOUTH_PUCKER => Some("MOUTH_PUCKER"),
7618            Self::MOUTH_L => Some("MOUTH_L"),
7619            Self::MOUTH_R => Some("MOUTH_R"),
7620            Self::MOUTH_SMILE_L => Some("MOUTH_SMILE_L"),
7621            Self::MOUTH_SMILE_R => Some("MOUTH_SMILE_R"),
7622            Self::MOUTH_FROWN_L => Some("MOUTH_FROWN_L"),
7623            Self::MOUTH_FROWN_R => Some("MOUTH_FROWN_R"),
7624            Self::MOUTH_DIMPLE_L => Some("MOUTH_DIMPLE_L"),
7625            Self::MOUTH_DIMPLE_R => Some("MOUTH_DIMPLE_R"),
7626            Self::MOUTH_STRETCH_L => Some("MOUTH_STRETCH_L"),
7627            Self::MOUTH_STRETCH_R => Some("MOUTH_STRETCH_R"),
7628            Self::MOUTH_ROLL_LOWER => Some("MOUTH_ROLL_LOWER"),
7629            Self::MOUTH_ROLL_UPPER => Some("MOUTH_ROLL_UPPER"),
7630            Self::MOUTH_SHRUG_LOWER => Some("MOUTH_SHRUG_LOWER"),
7631            Self::MOUTH_SHRUG_UPPER => Some("MOUTH_SHRUG_UPPER"),
7632            Self::MOUTH_PRESS_L => Some("MOUTH_PRESS_L"),
7633            Self::MOUTH_PRESS_R => Some("MOUTH_PRESS_R"),
7634            Self::MOUTH_LOWER_DROP_L => Some("MOUTH_LOWER_DROP_L"),
7635            Self::MOUTH_LOWER_DROP_R => Some("MOUTH_LOWER_DROP_R"),
7636            Self::MOUTH_UPPER_UPWARDS_L => Some("MOUTH_UPPER_UPWARDS_L"),
7637            Self::MOUTH_UPPER_UPWARDS_R => Some("MOUTH_UPPER_UPWARDS_R"),
7638            Self::JAW_FORWARD => Some("JAW_FORWARD"),
7639            Self::JAW_L => Some("JAW_L"),
7640            Self::JAW_R => Some("JAW_R"),
7641            Self::JAW_OPEN => Some("JAW_OPEN"),
7642            Self::TONGUE_OUT => Some("TONGUE_OUT"),
7643            _ => None,
7644        };
7645        fmt_enum(fmt, self.0, name)
7646    }
7647}
7648#[doc = "See [XrLipExpressionBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLipExpressionBD)"]
7649#[repr(transparent)]
7650#[derive(Copy, Clone, Eq, PartialEq, Default)]
7651pub struct LipExpressionBD(i32);
7652impl LipExpressionBD {
7653    pub const PP: LipExpressionBD = Self(0i32);
7654    pub const CH: LipExpressionBD = Self(1i32);
7655    pub const LO: LipExpressionBD = Self(2i32);
7656    pub const O: LipExpressionBD = Self(3i32);
7657    pub const I: LipExpressionBD = Self(4i32);
7658    pub const LU: LipExpressionBD = Self(5i32);
7659    pub const RR: LipExpressionBD = Self(6i32);
7660    pub const XX: LipExpressionBD = Self(7i32);
7661    pub const LAA: LipExpressionBD = Self(8i32);
7662    pub const LI: LipExpressionBD = Self(9i32);
7663    pub const FF: LipExpressionBD = Self(10i32);
7664    pub const U: LipExpressionBD = Self(11i32);
7665    pub const TH: LipExpressionBD = Self(12i32);
7666    pub const LKK: LipExpressionBD = Self(13i32);
7667    pub const SS: LipExpressionBD = Self(14i32);
7668    pub const LE: LipExpressionBD = Self(15i32);
7669    pub const DD: LipExpressionBD = Self(16i32);
7670    pub const E: LipExpressionBD = Self(17i32);
7671    pub const LNN: LipExpressionBD = Self(18i32);
7672    pub const SIL: LipExpressionBD = Self(19i32);
7673    pub fn from_raw(x: i32) -> Self {
7674        Self(x)
7675    }
7676    pub fn into_raw(self) -> i32 {
7677        self.0
7678    }
7679}
7680impl fmt::Debug for LipExpressionBD {
7681    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7682        let name = match *self {
7683            Self::PP => Some("PP"),
7684            Self::CH => Some("CH"),
7685            Self::LO => Some("LO"),
7686            Self::O => Some("O"),
7687            Self::I => Some("I"),
7688            Self::LU => Some("LU"),
7689            Self::RR => Some("RR"),
7690            Self::XX => Some("XX"),
7691            Self::LAA => Some("LAA"),
7692            Self::LI => Some("LI"),
7693            Self::FF => Some("FF"),
7694            Self::U => Some("U"),
7695            Self::TH => Some("TH"),
7696            Self::LKK => Some("LKK"),
7697            Self::SS => Some("SS"),
7698            Self::LE => Some("LE"),
7699            Self::DD => Some("DD"),
7700            Self::E => Some("E"),
7701            Self::LNN => Some("LNN"),
7702            Self::SIL => Some("SIL"),
7703            _ => None,
7704        };
7705        fmt_enum(fmt, self.0, name)
7706    }
7707}
7708#[doc = "See [XrHandEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandEXT)"]
7709#[repr(transparent)]
7710#[derive(Copy, Clone, Eq, PartialEq)]
7711pub struct HandEXT(i32);
7712impl HandEXT {
7713    pub const LEFT: HandEXT = Self(1i32);
7714    pub const RIGHT: HandEXT = Self(2i32);
7715    pub fn from_raw(x: i32) -> Self {
7716        Self(x)
7717    }
7718    pub fn into_raw(self) -> i32 {
7719        self.0
7720    }
7721}
7722impl fmt::Debug for HandEXT {
7723    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7724        let name = match *self {
7725            Self::LEFT => Some("LEFT"),
7726            Self::RIGHT => Some("RIGHT"),
7727            _ => None,
7728        };
7729        fmt_enum(fmt, self.0, name)
7730    }
7731}
7732#[doc = "See [XrHandJointEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointEXT)"]
7733#[repr(transparent)]
7734#[derive(Copy, Clone, Eq, PartialEq, Default)]
7735pub struct HandJointEXT(i32);
7736impl HandJointEXT {
7737    pub const PALM: HandJointEXT = Self(0i32);
7738    pub const WRIST: HandJointEXT = Self(1i32);
7739    pub const THUMB_METACARPAL: HandJointEXT = Self(2i32);
7740    pub const THUMB_PROXIMAL: HandJointEXT = Self(3i32);
7741    pub const THUMB_DISTAL: HandJointEXT = Self(4i32);
7742    pub const THUMB_TIP: HandJointEXT = Self(5i32);
7743    pub const INDEX_METACARPAL: HandJointEXT = Self(6i32);
7744    pub const INDEX_PROXIMAL: HandJointEXT = Self(7i32);
7745    pub const INDEX_INTERMEDIATE: HandJointEXT = Self(8i32);
7746    pub const INDEX_DISTAL: HandJointEXT = Self(9i32);
7747    pub const INDEX_TIP: HandJointEXT = Self(10i32);
7748    pub const MIDDLE_METACARPAL: HandJointEXT = Self(11i32);
7749    pub const MIDDLE_PROXIMAL: HandJointEXT = Self(12i32);
7750    pub const MIDDLE_INTERMEDIATE: HandJointEXT = Self(13i32);
7751    pub const MIDDLE_DISTAL: HandJointEXT = Self(14i32);
7752    pub const MIDDLE_TIP: HandJointEXT = Self(15i32);
7753    pub const RING_METACARPAL: HandJointEXT = Self(16i32);
7754    pub const RING_PROXIMAL: HandJointEXT = Self(17i32);
7755    pub const RING_INTERMEDIATE: HandJointEXT = Self(18i32);
7756    pub const RING_DISTAL: HandJointEXT = Self(19i32);
7757    pub const RING_TIP: HandJointEXT = Self(20i32);
7758    pub const LITTLE_METACARPAL: HandJointEXT = Self(21i32);
7759    pub const LITTLE_PROXIMAL: HandJointEXT = Self(22i32);
7760    pub const LITTLE_INTERMEDIATE: HandJointEXT = Self(23i32);
7761    pub const LITTLE_DISTAL: HandJointEXT = Self(24i32);
7762    pub const LITTLE_TIP: HandJointEXT = Self(25i32);
7763    pub fn from_raw(x: i32) -> Self {
7764        Self(x)
7765    }
7766    pub fn into_raw(self) -> i32 {
7767        self.0
7768    }
7769}
7770impl fmt::Debug for HandJointEXT {
7771    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7772        let name = match *self {
7773            Self::PALM => Some("PALM"),
7774            Self::WRIST => Some("WRIST"),
7775            Self::THUMB_METACARPAL => Some("THUMB_METACARPAL"),
7776            Self::THUMB_PROXIMAL => Some("THUMB_PROXIMAL"),
7777            Self::THUMB_DISTAL => Some("THUMB_DISTAL"),
7778            Self::THUMB_TIP => Some("THUMB_TIP"),
7779            Self::INDEX_METACARPAL => Some("INDEX_METACARPAL"),
7780            Self::INDEX_PROXIMAL => Some("INDEX_PROXIMAL"),
7781            Self::INDEX_INTERMEDIATE => Some("INDEX_INTERMEDIATE"),
7782            Self::INDEX_DISTAL => Some("INDEX_DISTAL"),
7783            Self::INDEX_TIP => Some("INDEX_TIP"),
7784            Self::MIDDLE_METACARPAL => Some("MIDDLE_METACARPAL"),
7785            Self::MIDDLE_PROXIMAL => Some("MIDDLE_PROXIMAL"),
7786            Self::MIDDLE_INTERMEDIATE => Some("MIDDLE_INTERMEDIATE"),
7787            Self::MIDDLE_DISTAL => Some("MIDDLE_DISTAL"),
7788            Self::MIDDLE_TIP => Some("MIDDLE_TIP"),
7789            Self::RING_METACARPAL => Some("RING_METACARPAL"),
7790            Self::RING_PROXIMAL => Some("RING_PROXIMAL"),
7791            Self::RING_INTERMEDIATE => Some("RING_INTERMEDIATE"),
7792            Self::RING_DISTAL => Some("RING_DISTAL"),
7793            Self::RING_TIP => Some("RING_TIP"),
7794            Self::LITTLE_METACARPAL => Some("LITTLE_METACARPAL"),
7795            Self::LITTLE_PROXIMAL => Some("LITTLE_PROXIMAL"),
7796            Self::LITTLE_INTERMEDIATE => Some("LITTLE_INTERMEDIATE"),
7797            Self::LITTLE_DISTAL => Some("LITTLE_DISTAL"),
7798            Self::LITTLE_TIP => Some("LITTLE_TIP"),
7799            _ => None,
7800        };
7801        fmt_enum(fmt, self.0, name)
7802    }
7803}
7804#[doc = "See [XrHandJointSetEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointSetEXT)"]
7805#[repr(transparent)]
7806#[derive(Copy, Clone, Eq, PartialEq, Default)]
7807pub struct HandJointSetEXT(i32);
7808impl HandJointSetEXT {
7809    pub const DEFAULT: HandJointSetEXT = Self(0i32);
7810    pub const HAND_WITH_FOREARM_ULTRA: HandJointSetEXT = Self(1000149000i32);
7811    pub fn from_raw(x: i32) -> Self {
7812        Self(x)
7813    }
7814    pub fn into_raw(self) -> i32 {
7815        self.0
7816    }
7817}
7818impl fmt::Debug for HandJointSetEXT {
7819    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7820        let name = match *self {
7821            Self::DEFAULT => Some("DEFAULT"),
7822            Self::HAND_WITH_FOREARM_ULTRA => Some("HAND_WITH_FOREARM_ULTRA"),
7823            _ => None,
7824        };
7825        fmt_enum(fmt, self.0, name)
7826    }
7827}
7828#[doc = "See [XrHandJointsMotionRangeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointsMotionRangeEXT)"]
7829#[repr(transparent)]
7830#[derive(Copy, Clone, Eq, PartialEq)]
7831pub struct HandJointsMotionRangeEXT(i32);
7832impl HandJointsMotionRangeEXT {
7833    pub const UNOBSTRUCTED: HandJointsMotionRangeEXT = Self(1i32);
7834    pub const CONFORMING_TO_CONTROLLER: HandJointsMotionRangeEXT = Self(2i32);
7835    pub fn from_raw(x: i32) -> Self {
7836        Self(x)
7837    }
7838    pub fn into_raw(self) -> i32 {
7839        self.0
7840    }
7841}
7842impl fmt::Debug for HandJointsMotionRangeEXT {
7843    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7844        let name = match *self {
7845            Self::UNOBSTRUCTED => Some("UNOBSTRUCTED"),
7846            Self::CONFORMING_TO_CONTROLLER => Some("CONFORMING_TO_CONTROLLER"),
7847            _ => None,
7848        };
7849        fmt_enum(fmt, self.0, name)
7850    }
7851}
7852#[doc = "See [XrHandTrackingDataSourceEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackingDataSourceEXT)"]
7853#[repr(transparent)]
7854#[derive(Copy, Clone, Eq, PartialEq)]
7855pub struct HandTrackingDataSourceEXT(i32);
7856impl HandTrackingDataSourceEXT {
7857    #[doc = "This data source value indicates individual fingers and joints are tracked from unobstructed data source such as optical hand tracking, data gloves, or motion capture devices."]
7858    pub const UNOBSTRUCTED: HandTrackingDataSourceEXT = Self(1i32);
7859    #[doc = "This data source value indicates hand joints are inferred based on motion controller state."]
7860    pub const CONTROLLER: HandTrackingDataSourceEXT = Self(2i32);
7861    pub fn from_raw(x: i32) -> Self {
7862        Self(x)
7863    }
7864    pub fn into_raw(self) -> i32 {
7865        self.0
7866    }
7867}
7868impl fmt::Debug for HandTrackingDataSourceEXT {
7869    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7870        let name = match *self {
7871            Self::UNOBSTRUCTED => Some("UNOBSTRUCTED"),
7872            Self::CONTROLLER => Some("CONTROLLER"),
7873            _ => None,
7874        };
7875        fmt_enum(fmt, self.0, name)
7876    }
7877}
7878#[doc = "See [XrHandPoseTypeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandPoseTypeMSFT)"]
7879#[repr(transparent)]
7880#[derive(Copy, Clone, Eq, PartialEq, Default)]
7881pub struct HandPoseTypeMSFT(i32);
7882impl HandPoseTypeMSFT {
7883    pub const TRACKED: HandPoseTypeMSFT = Self(0i32);
7884    pub const REFERENCE_OPEN_PALM: HandPoseTypeMSFT = Self(1i32);
7885    pub fn from_raw(x: i32) -> Self {
7886        Self(x)
7887    }
7888    pub fn into_raw(self) -> i32 {
7889        self.0
7890    }
7891}
7892impl fmt::Debug for HandPoseTypeMSFT {
7893    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7894        let name = match *self {
7895            Self::TRACKED => Some("TRACKED"),
7896            Self::REFERENCE_OPEN_PALM => Some("REFERENCE_OPEN_PALM"),
7897            _ => None,
7898        };
7899        fmt_enum(fmt, self.0, name)
7900    }
7901}
7902#[doc = "See [XrSceneObjectTypeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneObjectTypeMSFT)"]
7903#[repr(transparent)]
7904#[derive(Copy, Clone, Eq, PartialEq)]
7905pub struct SceneObjectTypeMSFT(i32);
7906impl SceneObjectTypeMSFT {
7907    pub const UNCATEGORIZED: SceneObjectTypeMSFT = Self(-1i32);
7908    pub const BACKGROUND: SceneObjectTypeMSFT = Self(1i32);
7909    pub const WALL: SceneObjectTypeMSFT = Self(2i32);
7910    pub const FLOOR: SceneObjectTypeMSFT = Self(3i32);
7911    pub const CEILING: SceneObjectTypeMSFT = Self(4i32);
7912    pub const PLATFORM: SceneObjectTypeMSFT = Self(5i32);
7913    pub const INFERRED: SceneObjectTypeMSFT = Self(6i32);
7914    pub fn from_raw(x: i32) -> Self {
7915        Self(x)
7916    }
7917    pub fn into_raw(self) -> i32 {
7918        self.0
7919    }
7920}
7921impl fmt::Debug for SceneObjectTypeMSFT {
7922    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7923        let name = match *self {
7924            Self::UNCATEGORIZED => Some("UNCATEGORIZED"),
7925            Self::BACKGROUND => Some("BACKGROUND"),
7926            Self::WALL => Some("WALL"),
7927            Self::FLOOR => Some("FLOOR"),
7928            Self::CEILING => Some("CEILING"),
7929            Self::PLATFORM => Some("PLATFORM"),
7930            Self::INFERRED => Some("INFERRED"),
7931            _ => None,
7932        };
7933        fmt_enum(fmt, self.0, name)
7934    }
7935}
7936#[doc = "See [XrScenePlaneAlignmentTypeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrScenePlaneAlignmentTypeMSFT)"]
7937#[repr(transparent)]
7938#[derive(Copy, Clone, Eq, PartialEq, Default)]
7939pub struct ScenePlaneAlignmentTypeMSFT(i32);
7940impl ScenePlaneAlignmentTypeMSFT {
7941    pub const NON_ORTHOGONAL: ScenePlaneAlignmentTypeMSFT = Self(0i32);
7942    pub const HORIZONTAL: ScenePlaneAlignmentTypeMSFT = Self(1i32);
7943    pub const VERTICAL: ScenePlaneAlignmentTypeMSFT = Self(2i32);
7944    pub fn from_raw(x: i32) -> Self {
7945        Self(x)
7946    }
7947    pub fn into_raw(self) -> i32 {
7948        self.0
7949    }
7950}
7951impl fmt::Debug for ScenePlaneAlignmentTypeMSFT {
7952    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7953        let name = match *self {
7954            Self::NON_ORTHOGONAL => Some("NON_ORTHOGONAL"),
7955            Self::HORIZONTAL => Some("HORIZONTAL"),
7956            Self::VERTICAL => Some("VERTICAL"),
7957            _ => None,
7958        };
7959        fmt_enum(fmt, self.0, name)
7960    }
7961}
7962#[doc = "See [XrSceneComputeStateMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneComputeStateMSFT)"]
7963#[repr(transparent)]
7964#[derive(Copy, Clone, Eq, PartialEq, Default)]
7965pub struct SceneComputeStateMSFT(i32);
7966impl SceneComputeStateMSFT {
7967    pub const NONE: SceneComputeStateMSFT = Self(0i32);
7968    pub const UPDATING: SceneComputeStateMSFT = Self(1i32);
7969    pub const COMPLETED: SceneComputeStateMSFT = Self(2i32);
7970    pub const COMPLETED_WITH_ERROR: SceneComputeStateMSFT = Self(3i32);
7971    pub fn from_raw(x: i32) -> Self {
7972        Self(x)
7973    }
7974    pub fn into_raw(self) -> i32 {
7975        self.0
7976    }
7977}
7978impl fmt::Debug for SceneComputeStateMSFT {
7979    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7980        let name = match *self {
7981            Self::NONE => Some("NONE"),
7982            Self::UPDATING => Some("UPDATING"),
7983            Self::COMPLETED => Some("COMPLETED"),
7984            Self::COMPLETED_WITH_ERROR => Some("COMPLETED_WITH_ERROR"),
7985            _ => None,
7986        };
7987        fmt_enum(fmt, self.0, name)
7988    }
7989}
7990#[doc = "See [XrSceneComputeFeatureMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneComputeFeatureMSFT)"]
7991#[repr(transparent)]
7992#[derive(Copy, Clone, Eq, PartialEq)]
7993pub struct SceneComputeFeatureMSFT(i32);
7994impl SceneComputeFeatureMSFT {
7995    pub const PLANE: SceneComputeFeatureMSFT = Self(1i32);
7996    pub const PLANE_MESH: SceneComputeFeatureMSFT = Self(2i32);
7997    pub const VISUAL_MESH: SceneComputeFeatureMSFT = Self(3i32);
7998    pub const COLLIDER_MESH: SceneComputeFeatureMSFT = Self(4i32);
7999    pub const SERIALIZE_SCENE: SceneComputeFeatureMSFT = Self(1000098000i32);
8000    pub const MARKER: SceneComputeFeatureMSFT = Self(1000147000i32);
8001    pub fn from_raw(x: i32) -> Self {
8002        Self(x)
8003    }
8004    pub fn into_raw(self) -> i32 {
8005        self.0
8006    }
8007}
8008impl fmt::Debug for SceneComputeFeatureMSFT {
8009    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8010        let name = match *self {
8011            Self::PLANE => Some("PLANE"),
8012            Self::PLANE_MESH => Some("PLANE_MESH"),
8013            Self::VISUAL_MESH => Some("VISUAL_MESH"),
8014            Self::COLLIDER_MESH => Some("COLLIDER_MESH"),
8015            Self::SERIALIZE_SCENE => Some("SERIALIZE_SCENE"),
8016            Self::MARKER => Some("MARKER"),
8017            _ => None,
8018        };
8019        fmt_enum(fmt, self.0, name)
8020    }
8021}
8022#[doc = "See [XrSceneComputeConsistencyMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneComputeConsistencyMSFT)"]
8023#[repr(transparent)]
8024#[derive(Copy, Clone, Eq, PartialEq)]
8025pub struct SceneComputeConsistencyMSFT(i32);
8026impl SceneComputeConsistencyMSFT {
8027    pub const SNAPSHOT_COMPLETE: SceneComputeConsistencyMSFT = Self(1i32);
8028    pub const SNAPSHOT_INCOMPLETE_FAST: SceneComputeConsistencyMSFT = Self(2i32);
8029    pub const OCCLUSION_OPTIMIZED: SceneComputeConsistencyMSFT = Self(3i32);
8030    pub fn from_raw(x: i32) -> Self {
8031        Self(x)
8032    }
8033    pub fn into_raw(self) -> i32 {
8034        self.0
8035    }
8036}
8037impl fmt::Debug for SceneComputeConsistencyMSFT {
8038    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8039        let name = match *self {
8040            Self::SNAPSHOT_COMPLETE => Some("SNAPSHOT_COMPLETE"),
8041            Self::SNAPSHOT_INCOMPLETE_FAST => Some("SNAPSHOT_INCOMPLETE_FAST"),
8042            Self::OCCLUSION_OPTIMIZED => Some("OCCLUSION_OPTIMIZED"),
8043            _ => None,
8044        };
8045        fmt_enum(fmt, self.0, name)
8046    }
8047}
8048#[doc = "See [XrSceneComponentTypeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneComponentTypeMSFT)"]
8049#[repr(transparent)]
8050#[derive(Copy, Clone, Eq, PartialEq)]
8051pub struct SceneComponentTypeMSFT(i32);
8052impl SceneComponentTypeMSFT {
8053    pub const INVALID: SceneComponentTypeMSFT = Self(-1i32);
8054    pub const OBJECT: SceneComponentTypeMSFT = Self(1i32);
8055    pub const PLANE: SceneComponentTypeMSFT = Self(2i32);
8056    pub const VISUAL_MESH: SceneComponentTypeMSFT = Self(3i32);
8057    pub const COLLIDER_MESH: SceneComponentTypeMSFT = Self(4i32);
8058    pub const SERIALIZED_SCENE_FRAGMENT: SceneComponentTypeMSFT = Self(1000098000i32);
8059    pub const MARKER: SceneComponentTypeMSFT = Self(1000147000i32);
8060    pub fn from_raw(x: i32) -> Self {
8061        Self(x)
8062    }
8063    pub fn into_raw(self) -> i32 {
8064        self.0
8065    }
8066}
8067impl fmt::Debug for SceneComponentTypeMSFT {
8068    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8069        let name = match *self {
8070            Self::INVALID => Some("INVALID"),
8071            Self::OBJECT => Some("OBJECT"),
8072            Self::PLANE => Some("PLANE"),
8073            Self::VISUAL_MESH => Some("VISUAL_MESH"),
8074            Self::COLLIDER_MESH => Some("COLLIDER_MESH"),
8075            Self::SERIALIZED_SCENE_FRAGMENT => Some("SERIALIZED_SCENE_FRAGMENT"),
8076            Self::MARKER => Some("MARKER"),
8077            _ => None,
8078        };
8079        fmt_enum(fmt, self.0, name)
8080    }
8081}
8082#[doc = "See [XrMeshComputeLodMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMeshComputeLodMSFT)"]
8083#[repr(transparent)]
8084#[derive(Copy, Clone, Eq, PartialEq)]
8085pub struct MeshComputeLodMSFT(i32);
8086impl MeshComputeLodMSFT {
8087    pub const COARSE: MeshComputeLodMSFT = Self(1i32);
8088    pub const MEDIUM: MeshComputeLodMSFT = Self(2i32);
8089    pub const FINE: MeshComputeLodMSFT = Self(3i32);
8090    pub const UNLIMITED: MeshComputeLodMSFT = Self(4i32);
8091    pub fn from_raw(x: i32) -> Self {
8092        Self(x)
8093    }
8094    pub fn into_raw(self) -> i32 {
8095        self.0
8096    }
8097}
8098impl fmt::Debug for MeshComputeLodMSFT {
8099    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8100        let name = match *self {
8101            Self::COARSE => Some("COARSE"),
8102            Self::MEDIUM => Some("MEDIUM"),
8103            Self::FINE => Some("FINE"),
8104            Self::UNLIMITED => Some("UNLIMITED"),
8105            _ => None,
8106        };
8107        fmt_enum(fmt, self.0, name)
8108    }
8109}
8110#[doc = "See [XrSceneMarkerTypeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneMarkerTypeMSFT)"]
8111#[repr(transparent)]
8112#[derive(Copy, Clone, Eq, PartialEq)]
8113pub struct SceneMarkerTypeMSFT(i32);
8114impl SceneMarkerTypeMSFT {
8115    pub const QR_CODE: SceneMarkerTypeMSFT = Self(1i32);
8116    pub fn from_raw(x: i32) -> Self {
8117        Self(x)
8118    }
8119    pub fn into_raw(self) -> i32 {
8120        self.0
8121    }
8122}
8123impl fmt::Debug for SceneMarkerTypeMSFT {
8124    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8125        let name = match *self {
8126            Self::QR_CODE => Some("QR_CODE"),
8127            _ => None,
8128        };
8129        fmt_enum(fmt, self.0, name)
8130    }
8131}
8132#[doc = "See [XrSceneMarkerQRCodeSymbolTypeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneMarkerQRCodeSymbolTypeMSFT)"]
8133#[repr(transparent)]
8134#[derive(Copy, Clone, Eq, PartialEq)]
8135pub struct SceneMarkerQRCodeSymbolTypeMSFT(i32);
8136impl SceneMarkerQRCodeSymbolTypeMSFT {
8137    pub const QR_CODE: SceneMarkerQRCodeSymbolTypeMSFT = Self(1i32);
8138    pub const MICRO_QR_CODE: SceneMarkerQRCodeSymbolTypeMSFT = Self(2i32);
8139    pub fn from_raw(x: i32) -> Self {
8140        Self(x)
8141    }
8142    pub fn into_raw(self) -> i32 {
8143        self.0
8144    }
8145}
8146impl fmt::Debug for SceneMarkerQRCodeSymbolTypeMSFT {
8147    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8148        let name = match *self {
8149            Self::QR_CODE => Some("QR_CODE"),
8150            Self::MICRO_QR_CODE => Some("MICRO_QR_CODE"),
8151            _ => None,
8152        };
8153        fmt_enum(fmt, self.0, name)
8154    }
8155}
8156#[doc = "See [XrColorSpaceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrColorSpaceFB)"]
8157#[repr(transparent)]
8158#[derive(Copy, Clone, Eq, PartialEq, Default)]
8159pub struct ColorSpaceFB(i32);
8160impl ColorSpaceFB {
8161    pub const UNMANAGED: ColorSpaceFB = Self(0i32);
8162    pub const REC2020: ColorSpaceFB = Self(1i32);
8163    pub const REC709: ColorSpaceFB = Self(2i32);
8164    pub const RIFT_CV1: ColorSpaceFB = Self(3i32);
8165    pub const RIFT_S: ColorSpaceFB = Self(4i32);
8166    pub const QUEST: ColorSpaceFB = Self(5i32);
8167    pub const P3: ColorSpaceFB = Self(6i32);
8168    pub const ADOBE_RGB: ColorSpaceFB = Self(7i32);
8169    pub fn from_raw(x: i32) -> Self {
8170        Self(x)
8171    }
8172    pub fn into_raw(self) -> i32 {
8173        self.0
8174    }
8175}
8176impl fmt::Debug for ColorSpaceFB {
8177    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8178        let name = match *self {
8179            Self::UNMANAGED => Some("UNMANAGED"),
8180            Self::REC2020 => Some("REC2020"),
8181            Self::REC709 => Some("REC709"),
8182            Self::RIFT_CV1 => Some("RIFT_CV1"),
8183            Self::RIFT_S => Some("RIFT_S"),
8184            Self::QUEST => Some("QUEST"),
8185            Self::P3 => Some("P3"),
8186            Self::ADOBE_RGB => Some("ADOBE_RGB"),
8187            _ => None,
8188        };
8189        fmt_enum(fmt, self.0, name)
8190    }
8191}
8192#[doc = "See [XrFoveationLevelFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationLevelFB)"]
8193#[repr(transparent)]
8194#[derive(Copy, Clone, Eq, PartialEq, Default)]
8195pub struct FoveationLevelFB(i32);
8196impl FoveationLevelFB {
8197    #[doc = "No foveation"]
8198    pub const NONE: FoveationLevelFB = Self(0i32);
8199    #[doc = "Less foveation (higher periphery visual fidelity, lower performance)"]
8200    pub const LOW: FoveationLevelFB = Self(1i32);
8201    #[doc = "Medium foveation (medium periphery visual fidelity, medium performance)"]
8202    pub const MEDIUM: FoveationLevelFB = Self(2i32);
8203    #[doc = "High foveation (lower periphery visual fidelity, higher performance)"]
8204    pub const HIGH: FoveationLevelFB = Self(3i32);
8205    pub fn from_raw(x: i32) -> Self {
8206        Self(x)
8207    }
8208    pub fn into_raw(self) -> i32 {
8209        self.0
8210    }
8211}
8212impl fmt::Debug for FoveationLevelFB {
8213    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8214        let name = match *self {
8215            Self::NONE => Some("NONE"),
8216            Self::LOW => Some("LOW"),
8217            Self::MEDIUM => Some("MEDIUM"),
8218            Self::HIGH => Some("HIGH"),
8219            _ => None,
8220        };
8221        fmt_enum(fmt, self.0, name)
8222    }
8223}
8224#[doc = "See [XrFoveationDynamicFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationDynamicFB)"]
8225#[repr(transparent)]
8226#[derive(Copy, Clone, Eq, PartialEq, Default)]
8227pub struct FoveationDynamicFB(i32);
8228impl FoveationDynamicFB {
8229    #[doc = "Static foveation at the maximum desired level"]
8230    pub const DISABLED: FoveationDynamicFB = Self(0i32);
8231    #[doc = "Dynamic changing foveation based on performance headroom available up to the maximum desired level"]
8232    pub const LEVEL_ENABLED: FoveationDynamicFB = Self(1i32);
8233    pub fn from_raw(x: i32) -> Self {
8234        Self(x)
8235    }
8236    pub fn into_raw(self) -> i32 {
8237        self.0
8238    }
8239}
8240impl fmt::Debug for FoveationDynamicFB {
8241    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8242        let name = match *self {
8243            Self::DISABLED => Some("DISABLED"),
8244            Self::LEVEL_ENABLED => Some("LEVEL_ENABLED"),
8245            _ => None,
8246        };
8247        fmt_enum(fmt, self.0, name)
8248    }
8249}
8250#[doc = "See [XrReprojectionModeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrReprojectionModeMSFT)"]
8251#[repr(transparent)]
8252#[derive(Copy, Clone, Eq, PartialEq)]
8253pub struct ReprojectionModeMSFT(i32);
8254impl ReprojectionModeMSFT {
8255    pub const DEPTH: ReprojectionModeMSFT = Self(1i32);
8256    pub const PLANAR_FROM_DEPTH: ReprojectionModeMSFT = Self(2i32);
8257    pub const PLANAR_MANUAL: ReprojectionModeMSFT = Self(3i32);
8258    pub const ORIENTATION_ONLY: ReprojectionModeMSFT = Self(4i32);
8259    pub fn from_raw(x: i32) -> Self {
8260        Self(x)
8261    }
8262    pub fn into_raw(self) -> i32 {
8263        self.0
8264    }
8265}
8266impl fmt::Debug for ReprojectionModeMSFT {
8267    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8268        let name = match *self {
8269            Self::DEPTH => Some("DEPTH"),
8270            Self::PLANAR_FROM_DEPTH => Some("PLANAR_FROM_DEPTH"),
8271            Self::PLANAR_MANUAL => Some("PLANAR_MANUAL"),
8272            Self::ORIENTATION_ONLY => Some("ORIENTATION_ONLY"),
8273            _ => None,
8274        };
8275        fmt_enum(fmt, self.0, name)
8276    }
8277}
8278#[doc = "See [XrHandForearmJointULTRALEAP](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandForearmJointULTRALEAP)"]
8279#[repr(transparent)]
8280#[derive(Copy, Clone, Eq, PartialEq, Default)]
8281pub struct HandForearmJointULTRALEAP(i32);
8282impl HandForearmJointULTRALEAP {
8283    pub const PALM: HandForearmJointULTRALEAP = Self(0i32);
8284    pub const WRIST: HandForearmJointULTRALEAP = Self(1i32);
8285    pub const THUMB_METACARPAL: HandForearmJointULTRALEAP = Self(2i32);
8286    pub const THUMB_PROXIMAL: HandForearmJointULTRALEAP = Self(3i32);
8287    pub const THUMB_DISTAL: HandForearmJointULTRALEAP = Self(4i32);
8288    pub const THUMB_TIP: HandForearmJointULTRALEAP = Self(5i32);
8289    pub const INDEX_METACARPAL: HandForearmJointULTRALEAP = Self(6i32);
8290    pub const INDEX_PROXIMAL: HandForearmJointULTRALEAP = Self(7i32);
8291    pub const INDEX_INTERMEDIATE: HandForearmJointULTRALEAP = Self(8i32);
8292    pub const INDEX_DISTAL: HandForearmJointULTRALEAP = Self(9i32);
8293    pub const INDEX_TIP: HandForearmJointULTRALEAP = Self(10i32);
8294    pub const MIDDLE_METACARPAL: HandForearmJointULTRALEAP = Self(11i32);
8295    pub const MIDDLE_PROXIMAL: HandForearmJointULTRALEAP = Self(12i32);
8296    pub const MIDDLE_INTERMEDIATE: HandForearmJointULTRALEAP = Self(13i32);
8297    pub const MIDDLE_DISTAL: HandForearmJointULTRALEAP = Self(14i32);
8298    pub const MIDDLE_TIP: HandForearmJointULTRALEAP = Self(15i32);
8299    pub const RING_METACARPAL: HandForearmJointULTRALEAP = Self(16i32);
8300    pub const RING_PROXIMAL: HandForearmJointULTRALEAP = Self(17i32);
8301    pub const RING_INTERMEDIATE: HandForearmJointULTRALEAP = Self(18i32);
8302    pub const RING_DISTAL: HandForearmJointULTRALEAP = Self(19i32);
8303    pub const RING_TIP: HandForearmJointULTRALEAP = Self(20i32);
8304    pub const LITTLE_METACARPAL: HandForearmJointULTRALEAP = Self(21i32);
8305    pub const LITTLE_PROXIMAL: HandForearmJointULTRALEAP = Self(22i32);
8306    pub const LITTLE_INTERMEDIATE: HandForearmJointULTRALEAP = Self(23i32);
8307    pub const LITTLE_DISTAL: HandForearmJointULTRALEAP = Self(24i32);
8308    pub const LITTLE_TIP: HandForearmJointULTRALEAP = Self(25i32);
8309    pub const ELBOW: HandForearmJointULTRALEAP = Self(26i32);
8310    pub fn from_raw(x: i32) -> Self {
8311        Self(x)
8312    }
8313    pub fn into_raw(self) -> i32 {
8314        self.0
8315    }
8316}
8317impl fmt::Debug for HandForearmJointULTRALEAP {
8318    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8319        let name = match *self {
8320            Self::PALM => Some("PALM"),
8321            Self::WRIST => Some("WRIST"),
8322            Self::THUMB_METACARPAL => Some("THUMB_METACARPAL"),
8323            Self::THUMB_PROXIMAL => Some("THUMB_PROXIMAL"),
8324            Self::THUMB_DISTAL => Some("THUMB_DISTAL"),
8325            Self::THUMB_TIP => Some("THUMB_TIP"),
8326            Self::INDEX_METACARPAL => Some("INDEX_METACARPAL"),
8327            Self::INDEX_PROXIMAL => Some("INDEX_PROXIMAL"),
8328            Self::INDEX_INTERMEDIATE => Some("INDEX_INTERMEDIATE"),
8329            Self::INDEX_DISTAL => Some("INDEX_DISTAL"),
8330            Self::INDEX_TIP => Some("INDEX_TIP"),
8331            Self::MIDDLE_METACARPAL => Some("MIDDLE_METACARPAL"),
8332            Self::MIDDLE_PROXIMAL => Some("MIDDLE_PROXIMAL"),
8333            Self::MIDDLE_INTERMEDIATE => Some("MIDDLE_INTERMEDIATE"),
8334            Self::MIDDLE_DISTAL => Some("MIDDLE_DISTAL"),
8335            Self::MIDDLE_TIP => Some("MIDDLE_TIP"),
8336            Self::RING_METACARPAL => Some("RING_METACARPAL"),
8337            Self::RING_PROXIMAL => Some("RING_PROXIMAL"),
8338            Self::RING_INTERMEDIATE => Some("RING_INTERMEDIATE"),
8339            Self::RING_DISTAL => Some("RING_DISTAL"),
8340            Self::RING_TIP => Some("RING_TIP"),
8341            Self::LITTLE_METACARPAL => Some("LITTLE_METACARPAL"),
8342            Self::LITTLE_PROXIMAL => Some("LITTLE_PROXIMAL"),
8343            Self::LITTLE_INTERMEDIATE => Some("LITTLE_INTERMEDIATE"),
8344            Self::LITTLE_DISTAL => Some("LITTLE_DISTAL"),
8345            Self::LITTLE_TIP => Some("LITTLE_TIP"),
8346            Self::ELBOW => Some("ELBOW"),
8347            _ => None,
8348        };
8349        fmt_enum(fmt, self.0, name)
8350    }
8351}
8352#[doc = "See [XrCompareOpFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompareOpFB)"]
8353#[repr(transparent)]
8354#[derive(Copy, Clone, Eq, PartialEq, Default)]
8355pub struct CompareOpFB(i32);
8356impl CompareOpFB {
8357    #[doc = "Comparison is never true."]
8358    pub const NEVER: CompareOpFB = Self(0i32);
8359    #[doc = "Comparison is true if source less than is destination."]
8360    pub const LESS: CompareOpFB = Self(1i32);
8361    #[doc = "Comparison is true if source is equal to destination."]
8362    pub const EQUAL: CompareOpFB = Self(2i32);
8363    #[doc = "Comparison is true if source is less than or equal to destination."]
8364    pub const LESS_OR_EQUAL: CompareOpFB = Self(3i32);
8365    #[doc = "Comparison is true if source is greater than destination."]
8366    pub const GREATER: CompareOpFB = Self(4i32);
8367    #[doc = "Comparison is true if source is not equal to destination."]
8368    pub const NOT_EQUAL: CompareOpFB = Self(5i32);
8369    #[doc = "Comparison is true if source is greater than or equal to destination."]
8370    pub const GREATER_OR_EQUAL: CompareOpFB = Self(6i32);
8371    #[doc = "Comparison is always true."]
8372    pub const ALWAYS: CompareOpFB = Self(7i32);
8373    pub fn from_raw(x: i32) -> Self {
8374        Self(x)
8375    }
8376    pub fn into_raw(self) -> i32 {
8377        self.0
8378    }
8379}
8380impl fmt::Debug for CompareOpFB {
8381    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8382        let name = match *self {
8383            Self::NEVER => Some("NEVER"),
8384            Self::LESS => Some("LESS"),
8385            Self::EQUAL => Some("EQUAL"),
8386            Self::LESS_OR_EQUAL => Some("LESS_OR_EQUAL"),
8387            Self::GREATER => Some("GREATER"),
8388            Self::NOT_EQUAL => Some("NOT_EQUAL"),
8389            Self::GREATER_OR_EQUAL => Some("GREATER_OR_EQUAL"),
8390            Self::ALWAYS => Some("ALWAYS"),
8391            _ => None,
8392        };
8393        fmt_enum(fmt, self.0, name)
8394    }
8395}
8396#[doc = "See [XrInstanceCreateFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInstanceCreateFlagBits)"]
8397#[repr(transparent)]
8398#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8399pub struct InstanceCreateFlags(u64);
8400impl InstanceCreateFlags {}
8401bitmask!(InstanceCreateFlags);
8402#[doc = "See [XrSessionCreateFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSessionCreateFlagBits)"]
8403#[repr(transparent)]
8404#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8405pub struct SessionCreateFlags(u64);
8406impl SessionCreateFlags {}
8407bitmask!(SessionCreateFlags);
8408#[doc = "See [XrSwapchainCreateFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainCreateFlagBits)"]
8409#[repr(transparent)]
8410#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8411pub struct SwapchainCreateFlags(u64);
8412impl SwapchainCreateFlags {
8413    #[doc = "Content will be protected from CPU access"]
8414    pub const PROTECTED_CONTENT: SwapchainCreateFlags = Self(1 << 0u64);
8415    #[doc = "Only one image will be acquired from this swapchain over its lifetime"]
8416    pub const STATIC_IMAGE: SwapchainCreateFlags = Self(1 << 1u64);
8417}
8418bitmask!(SwapchainCreateFlags);
8419#[doc = "See [XrSwapchainUsageFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainUsageFlagBits)"]
8420#[repr(transparent)]
8421#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8422pub struct SwapchainUsageFlags(u64);
8423impl SwapchainUsageFlags {
8424    #[doc = "Specifies that the image may: be a color rendering target."]
8425    pub const COLOR_ATTACHMENT: SwapchainUsageFlags = Self(1 << 0u64);
8426    #[doc = "Specifies that the image may: be a depth/stencil rendering target."]
8427    pub const DEPTH_STENCIL_ATTACHMENT: SwapchainUsageFlags = Self(1 << 1u64);
8428    #[doc = "Specifies that the image may: be accessed out of order and that access may: be via atomic operations."]
8429    pub const UNORDERED_ACCESS: SwapchainUsageFlags = Self(1 << 2u64);
8430    #[doc = "Specifies that the image may: be used as the source of a transfer operation."]
8431    pub const TRANSFER_SRC: SwapchainUsageFlags = Self(1 << 3u64);
8432    #[doc = "Specifies that the image may: be used as the destination of a transfer operation."]
8433    pub const TRANSFER_DST: SwapchainUsageFlags = Self(1 << 4u64);
8434    #[doc = "Specifies that the image may: be sampled by a shader."]
8435    pub const SAMPLED: SwapchainUsageFlags = Self(1 << 5u64);
8436    #[doc = "Specifies that the image may: be reinterpreted as another image format."]
8437    pub const MUTABLE_FORMAT: SwapchainUsageFlags = Self(1 << 6u64);
8438    #[doc = "Specifies that the image may: be used as a input attachment."]
8439    pub const INPUT_ATTACHMENT: SwapchainUsageFlags = Self(1 << 7u64);
8440}
8441bitmask!(SwapchainUsageFlags);
8442#[doc = "See [XrViewStateFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewStateFlagBits)"]
8443#[repr(transparent)]
8444#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8445pub struct ViewStateFlags(u64);
8446impl ViewStateFlags {
8447    #[doc = "Indicates validity of all XrView orientations"]
8448    pub const ORIENTATION_VALID: ViewStateFlags = Self(1 << 0u64);
8449    #[doc = "Indicates validity of all XrView positions"]
8450    pub const POSITION_VALID: ViewStateFlags = Self(1 << 1u64);
8451    #[doc = "Indicates whether all XrView orientations are actively tracked"]
8452    pub const ORIENTATION_TRACKED: ViewStateFlags = Self(1 << 2u64);
8453    #[doc = "Indicates whether all XrView positions are actively tracked"]
8454    pub const POSITION_TRACKED: ViewStateFlags = Self(1 << 3u64);
8455}
8456bitmask!(ViewStateFlags);
8457#[doc = "See [XrCompositionLayerFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerFlagBits)"]
8458#[repr(transparent)]
8459#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8460pub struct CompositionLayerFlags(u64);
8461impl CompositionLayerFlags {
8462    #[doc = "Enables chromatic aberration correction when not done by default. This flag has no effect on any known conformant runtime, and is officially deprecated in OpenXR 1.1."]
8463    pub const CORRECT_CHROMATIC_ABERRATION: CompositionLayerFlags = Self(1 << 0u64);
8464    #[doc = "Enables the layer texture alpha channel."]
8465    pub const BLEND_TEXTURE_SOURCE_ALPHA: CompositionLayerFlags = Self(1 << 1u64);
8466    #[doc = "Indicates the texture color channels have not been premultiplied by the texture alpha channel."]
8467    pub const UNPREMULTIPLIED_ALPHA: CompositionLayerFlags = Self(1 << 2u64);
8468    #[doc = "Indicates that the texture alpha channel stores transparency instead of opacity, and is to be inverted before layer blending."]
8469    pub const INVERTED_ALPHA: CompositionLayerFlags = Self(1 << 3u64);
8470}
8471bitmask!(CompositionLayerFlags);
8472#[doc = "See [XrSpaceLocationFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceLocationFlagBits)"]
8473#[repr(transparent)]
8474#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8475pub struct SpaceLocationFlags(u64);
8476impl SpaceLocationFlags {
8477    #[doc = "Indicates that the orientation member contains valid data"]
8478    pub const ORIENTATION_VALID: SpaceLocationFlags = Self(1 << 0u64);
8479    #[doc = "Indicates that the position member contains valid data"]
8480    pub const POSITION_VALID: SpaceLocationFlags = Self(1 << 1u64);
8481    #[doc = "Indicates whether pose member contains an actively tracked orientation"]
8482    pub const ORIENTATION_TRACKED: SpaceLocationFlags = Self(1 << 2u64);
8483    #[doc = "Indicates whether pose member contains an actively tracked position"]
8484    pub const POSITION_TRACKED: SpaceLocationFlags = Self(1 << 3u64);
8485}
8486bitmask!(SpaceLocationFlags);
8487#[doc = "See [XrSpaceVelocityFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceVelocityFlagBits)"]
8488#[repr(transparent)]
8489#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8490pub struct SpaceVelocityFlags(u64);
8491impl SpaceVelocityFlags {
8492    #[doc = "Indicates that the linearVelocity member contains valid data. Applications must: not read the linearVelocity field if this flag is unset."]
8493    pub const LINEAR_VALID: SpaceVelocityFlags = Self(1 << 0u64);
8494    #[doc = "Indicates that the angularVelocity member contains valid data. Applications must: not read the angularVelocity field if this flag is unset."]
8495    pub const ANGULAR_VALID: SpaceVelocityFlags = Self(1 << 1u64);
8496}
8497bitmask!(SpaceVelocityFlags);
8498#[doc = "See [XrInputSourceLocalizedNameFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInputSourceLocalizedNameFlagBits)"]
8499#[repr(transparent)]
8500#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8501pub struct InputSourceLocalizedNameFlags(u64);
8502impl InputSourceLocalizedNameFlags {
8503    #[doc = "Asks for the part of the string which indicates the top level user path the source represents"]
8504    pub const USER_PATH: InputSourceLocalizedNameFlags = Self(1 << 0u64);
8505    #[doc = "Asks for the part of the string which represents the interaction profile of the source"]
8506    pub const INTERACTION_PROFILE: InputSourceLocalizedNameFlags = Self(1 << 1u64);
8507    #[doc = "Asks for the part of the string which represents the component on the device which needs to be interacted with"]
8508    pub const COMPONENT: InputSourceLocalizedNameFlags = Self(1 << 2u64);
8509}
8510bitmask!(InputSourceLocalizedNameFlags);
8511#[doc = "See [XrVulkanInstanceCreateFlagsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVulkanInstanceCreateFlagsKHR)"]
8512#[repr(transparent)]
8513#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8514pub struct VulkanInstanceCreateFlagsKHR(u64);
8515impl VulkanInstanceCreateFlagsKHR {}
8516bitmask!(VulkanInstanceCreateFlagsKHR);
8517#[doc = "See [XrVulkanDeviceCreateFlagsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVulkanDeviceCreateFlagsKHR)"]
8518#[repr(transparent)]
8519#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8520pub struct VulkanDeviceCreateFlagsKHR(u64);
8521impl VulkanDeviceCreateFlagsKHR {}
8522bitmask!(VulkanDeviceCreateFlagsKHR);
8523#[doc = "See [XrDebugUtilsMessageSeverityFlagsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDebugUtilsMessageSeverityFlagsEXT)"]
8524#[repr(transparent)]
8525#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8526pub struct DebugUtilsMessageSeverityFlagsEXT(u64);
8527impl DebugUtilsMessageSeverityFlagsEXT {
8528    #[doc = "Most verbose output severity, typically used for debugging."]
8529    pub const VERBOSE: DebugUtilsMessageSeverityFlagsEXT = Self(1 << 0u64);
8530    #[doc = "General info message"]
8531    pub const INFO: DebugUtilsMessageSeverityFlagsEXT = Self(1 << 4u64);
8532    #[doc = "Indicates the item may be the cause of issues."]
8533    pub const WARNING: DebugUtilsMessageSeverityFlagsEXT = Self(1 << 8u64);
8534    #[doc = "Indicates that the item is definitely related to erroneous behavior."]
8535    pub const ERROR: DebugUtilsMessageSeverityFlagsEXT = Self(1 << 12u64);
8536}
8537bitmask!(DebugUtilsMessageSeverityFlagsEXT);
8538#[doc = "See [XrDebugUtilsMessageTypeFlagsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDebugUtilsMessageTypeFlagsEXT)"]
8539#[repr(transparent)]
8540#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8541pub struct DebugUtilsMessageTypeFlagsEXT(u64);
8542impl DebugUtilsMessageTypeFlagsEXT {
8543    #[doc = "Indicates this is a general message"]
8544    pub const GENERAL: DebugUtilsMessageTypeFlagsEXT = Self(1 << 0u64);
8545    #[doc = "Indicates the message is related to a validation message"]
8546    pub const VALIDATION: DebugUtilsMessageTypeFlagsEXT = Self(1 << 1u64);
8547    #[doc = "Indicates the message is related to a potential performance situation"]
8548    pub const PERFORMANCE: DebugUtilsMessageTypeFlagsEXT = Self(1 << 2u64);
8549    #[doc = "Indicates the message is related to a non-conformant runtime result"]
8550    pub const CONFORMANCE: DebugUtilsMessageTypeFlagsEXT = Self(1 << 3u64);
8551}
8552bitmask!(DebugUtilsMessageTypeFlagsEXT);
8553#[doc = "See [XrFrameSynthesisInfoFlagsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameSynthesisInfoFlagsEXT)"]
8554#[repr(transparent)]
8555#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8556pub struct FrameSynthesisInfoFlagsEXT(u64);
8557impl FrameSynthesisInfoFlagsEXT {
8558    #[doc = "2D motion vector will be used"]
8559    pub const USE_2D_MOTION_VECTOR: FrameSynthesisInfoFlagsEXT = Self(1 << 0u64);
8560    #[doc = "Request the runtime to relax the application's frame interval to allow additional render time"]
8561    pub const REQUEST_RELAXED_FRAME_INTERVAL: FrameSynthesisInfoFlagsEXT = Self(1 << 1u64);
8562}
8563bitmask!(FrameSynthesisInfoFlagsEXT);
8564#[doc = "See [XrOverlayMainSessionFlagsEXTX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrOverlayMainSessionFlagsEXTX)"]
8565#[repr(transparent)]
8566#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8567pub struct OverlayMainSessionFlagsEXTX(u64);
8568impl OverlayMainSessionFlagsEXTX {
8569    #[doc = "Indicates the main session enabled `XR_KHR_composition_layer_depth`"]
8570    pub const ENABLED_COMPOSITION_LAYER_INFO_DEPTH: OverlayMainSessionFlagsEXTX = Self(1 << 0u64);
8571}
8572bitmask!(OverlayMainSessionFlagsEXTX);
8573#[doc = "See [XrOverlaySessionCreateFlagsEXTX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrOverlaySessionCreateFlagsEXTX)"]
8574#[repr(transparent)]
8575#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8576pub struct OverlaySessionCreateFlagsEXTX(u64);
8577impl OverlaySessionCreateFlagsEXTX {}
8578bitmask!(OverlaySessionCreateFlagsEXTX);
8579#[doc = "See [XrAndroidSurfaceSwapchainFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAndroidSurfaceSwapchainFlagsFB)"]
8580#[repr(transparent)]
8581#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8582pub struct AndroidSurfaceSwapchainFlagsFB(u64);
8583impl AndroidSurfaceSwapchainFlagsFB {
8584    #[doc = "Create the underlying BufferQueue in synchronous mode"]
8585    pub const SYNCHRONOUS: AndroidSurfaceSwapchainFlagsFB = Self(1 << 0u64);
8586    #[doc = "Acquire most recent buffer whose presentation timestamp is not greater than display time of final composited frame"]
8587    pub const USE_TIMESTAMPS: AndroidSurfaceSwapchainFlagsFB = Self(1 << 1u64);
8588}
8589bitmask!(AndroidSurfaceSwapchainFlagsFB);
8590#[doc = "See [XrCompositionLayerImageLayoutFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerImageLayoutFlagsFB)"]
8591#[repr(transparent)]
8592#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8593pub struct CompositionLayerImageLayoutFlagsFB(u64);
8594impl CompositionLayerImageLayoutFlagsFB {
8595    #[doc = "The coordinate origin of the swapchain image must be considered to be flipped vertically."]
8596    pub const VERTICAL_FLIP: CompositionLayerImageLayoutFlagsFB = Self(1 << 0u64);
8597}
8598bitmask!(CompositionLayerImageLayoutFlagsFB);
8599#[doc = "See [XrCompositionLayerSecureContentFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerSecureContentFlagsFB)"]
8600#[repr(transparent)]
8601#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8602pub struct CompositionLayerSecureContentFlagsFB(u64);
8603impl CompositionLayerSecureContentFlagsFB {
8604    #[doc = "Indicates the layer will only be visible inside the HMD, and not visible to external sources"]
8605    pub const EXCLUDE_LAYER: CompositionLayerSecureContentFlagsFB = Self(1 << 0u64);
8606    #[doc = "Indicates the layer will be displayed inside the HMD, but replaced by proxy content when written to external sources"]
8607    pub const REPLACE_LAYER: CompositionLayerSecureContentFlagsFB = Self(1 << 1u64);
8608}
8609bitmask!(CompositionLayerSecureContentFlagsFB);
8610#[doc = "See [XrSwapchainCreateFoveationFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainCreateFoveationFlagsFB)"]
8611#[repr(transparent)]
8612#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8613pub struct SwapchainCreateFoveationFlagsFB(u64);
8614impl SwapchainCreateFoveationFlagsFB {
8615    #[doc = "Explicitly create the swapchain with scaled bin foveation support. The application must ensure that the swapchain is using the OpenGL graphics API and that the QCOM_texture_foveated extension is supported and enabled."]
8616    pub const SCALED_BIN: SwapchainCreateFoveationFlagsFB = Self(1 << 0u64);
8617    #[doc = "Explicitly create the swapchain with fragment density map foveation support. The application must ensure that the swapchain is using the Vulkan graphics API and that the VK_EXT_fragment_density_map extension is supported and enabled."]
8618    pub const FRAGMENT_DENSITY_MAP: SwapchainCreateFoveationFlagsFB = Self(1 << 1u64);
8619}
8620bitmask!(SwapchainCreateFoveationFlagsFB);
8621#[doc = "See [XrSwapchainStateFoveationFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainStateFoveationFlagsFB)"]
8622#[repr(transparent)]
8623#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8624pub struct SwapchainStateFoveationFlagsFB(u64);
8625impl SwapchainStateFoveationFlagsFB {}
8626bitmask!(SwapchainStateFoveationFlagsFB);
8627#[doc = "See [XrFoveationEyeTrackedProfileCreateFlagsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationEyeTrackedProfileCreateFlagsMETA)"]
8628#[repr(transparent)]
8629#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8630pub struct FoveationEyeTrackedProfileCreateFlagsMETA(u64);
8631impl FoveationEyeTrackedProfileCreateFlagsMETA {}
8632bitmask!(FoveationEyeTrackedProfileCreateFlagsMETA);
8633#[doc = "See [XrFoveationEyeTrackedStateFlagsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationEyeTrackedStateFlagsMETA)"]
8634#[repr(transparent)]
8635#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8636pub struct FoveationEyeTrackedStateFlagsMETA(u64);
8637impl FoveationEyeTrackedStateFlagsMETA {
8638    #[doc = "Indicates whether or not foveation data is valid. This can happen if the eye tracker is obscured, the camera has dirt, or eye lid is closed, etc."]
8639    pub const VALID: FoveationEyeTrackedStateFlagsMETA = Self(1 << 0u64);
8640}
8641bitmask!(FoveationEyeTrackedStateFlagsMETA);
8642#[doc = "See [XrTriangleMeshFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTriangleMeshFlagsFB)"]
8643#[repr(transparent)]
8644#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8645pub struct TriangleMeshFlagsFB(u64);
8646impl TriangleMeshFlagsFB {
8647    #[doc = "The triangle mesh is mutable (can be modified after it is created)."]
8648    pub const MUTABLE: TriangleMeshFlagsFB = Self(1 << 0u64);
8649}
8650bitmask!(TriangleMeshFlagsFB);
8651#[doc = "See [XrPassthroughFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughFlagsFB)"]
8652#[repr(transparent)]
8653#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8654pub struct PassthroughFlagsFB(u64);
8655impl PassthroughFlagsFB {
8656    #[doc = "The object (passthrough, layer) is running at creation."]
8657    pub const IS_RUNNING_AT_CREATION: PassthroughFlagsFB = Self(1 << 0u64);
8658    #[doc = "The passthrough system sends depth information to the compositor. Only applicable to layer objects."]
8659    pub const LAYER_DEPTH: PassthroughFlagsFB = Self(1 << 1u64);
8660}
8661bitmask!(PassthroughFlagsFB);
8662#[doc = "See [XrPassthroughStateChangedFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughStateChangedFlagsFB)"]
8663#[repr(transparent)]
8664#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8665pub struct PassthroughStateChangedFlagsFB(u64);
8666impl PassthroughStateChangedFlagsFB {
8667    #[doc = "Passthrough system requires reinitialization."]
8668    pub const REINIT_REQUIRED: PassthroughStateChangedFlagsFB = Self(1 << 0u64);
8669    #[doc = "Non-recoverable error has occurred. A device reboot or a firmware update may be required."]
8670    pub const NON_RECOVERABLE_ERROR: PassthroughStateChangedFlagsFB = Self(1 << 1u64);
8671    #[doc = "A recoverable error has occurred. The runtime will attempt to recover, but some functionality may be temporarily unavailable."]
8672    pub const RECOVERABLE_ERROR: PassthroughStateChangedFlagsFB = Self(1 << 2u64);
8673    #[doc = "The runtime has recovered from a previous error and is functioning normally."]
8674    pub const RESTORED_ERROR: PassthroughStateChangedFlagsFB = Self(1 << 3u64);
8675}
8676bitmask!(PassthroughStateChangedFlagsFB);
8677#[doc = "See [XrPassthroughCapabilityFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughCapabilityFlagsFB)"]
8678#[repr(transparent)]
8679#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8680pub struct PassthroughCapabilityFlagsFB(u64);
8681impl PassthroughCapabilityFlagsFB {
8682    #[doc = "The system supports passthrough."]
8683    pub const PASSTHROUGH_CAPABILITY: PassthroughCapabilityFlagsFB = Self(1 << 0u64);
8684    #[doc = "The system can show passthrough with realistic colors. XR_PASSTHROUGH_CAPABILITY_BIT_FB must: be set if XR_PASSTHROUGH_CAPABILITY_COLOR_BIT_FB is set."]
8685    pub const COLOR: PassthroughCapabilityFlagsFB = Self(1 << 1u64);
8686    #[doc = "The system supports passthrough layers composited using depth testing. XR_PASSTHROUGH_CAPABILITY_BIT_FB must: be set if XR_PASSTHROUGH_CAPABILITY_LAYER_DEPTH_BIT_FB is set."]
8687    pub const LAYER_DEPTH: PassthroughCapabilityFlagsFB = Self(1 << 2u64);
8688}
8689bitmask!(PassthroughCapabilityFlagsFB);
8690#[doc = "See [XrSemanticLabelsSupportFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSemanticLabelsSupportFlagsFB)"]
8691#[repr(transparent)]
8692#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8693pub struct SemanticLabelsSupportFlagsFB(u64);
8694impl SemanticLabelsSupportFlagsFB {
8695    #[doc = "If set, and the runtime reports the extensionVersion as 2 or greater, the runtime may: return multiple semantic labels separated by a comma without spaces. Otherwise, the runtime must: return a single semantic label."]
8696    pub const MULTIPLE_SEMANTIC_LABELS: SemanticLabelsSupportFlagsFB = Self(1 << 0u64);
8697    #[doc = "If set, and the runtime reports the extensionVersion as 3 or greater, the runtime must: return \"TABLE\" instead of \"DESK\" as a semantic label to the application. Otherwise, the runtime must: return \"DESK\" instead of \"TABLE\" as a semantic label to the application, when applicable."]
8698    pub const ACCEPT_DESK_TO_TABLE_MIGRATION: SemanticLabelsSupportFlagsFB = Self(1 << 1u64);
8699    #[doc = "If set, and the runtime reports the extensionVersion as 4 or greater, the runtime may: return \"INVISIBLE_WALL_FACE\" instead of \"WALL_FACE\" as a semantic label to the application in order to represent an invisible wall used to conceptually separate a space (e.g., separate a living space from a kitchen space in an open floor plan house even though there is no real wall between the two spaces) instead of a real wall. Otherwise, the runtime must: return \"WALL_FACE\" as a semantic label to the application in order to represent both an invisible and real wall, when applicable."]
8700    pub const ACCEPT_INVISIBLE_WALL_FACE: SemanticLabelsSupportFlagsFB = Self(1 << 2u64);
8701}
8702bitmask!(SemanticLabelsSupportFlagsFB);
8703#[doc = "See [XrHandTrackingAimFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackingAimFlagsFB)"]
8704#[repr(transparent)]
8705#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8706pub struct HandTrackingAimFlagsFB(u64);
8707impl HandTrackingAimFlagsFB {
8708    #[doc = "Aiming data is computed from additional sources beyond the hand data in the base structure"]
8709    pub const COMPUTED: HandTrackingAimFlagsFB = Self(1 << 0u64);
8710    #[doc = "Aiming data is valid"]
8711    pub const VALID: HandTrackingAimFlagsFB = Self(1 << 1u64);
8712    #[doc = "Index finger pinch discrete signal"]
8713    pub const INDEX_PINCHING: HandTrackingAimFlagsFB = Self(1 << 2u64);
8714    #[doc = "Middle finger pinch discrete signal"]
8715    pub const MIDDLE_PINCHING: HandTrackingAimFlagsFB = Self(1 << 3u64);
8716    #[doc = "Ring finger pinch discrete signal"]
8717    pub const RING_PINCHING: HandTrackingAimFlagsFB = Self(1 << 4u64);
8718    #[doc = "Little finger pinch discrete signal"]
8719    pub const LITTLE_PINCHING: HandTrackingAimFlagsFB = Self(1 << 5u64);
8720    #[doc = "System gesture is active"]
8721    pub const SYSTEM_GESTURE: HandTrackingAimFlagsFB = Self(1 << 6u64);
8722    #[doc = "Hand is currently marked as dominant for the system"]
8723    pub const DOMINANT_HAND: HandTrackingAimFlagsFB = Self(1 << 7u64);
8724    #[doc = "System menu gesture is active"]
8725    pub const MENU_PRESSED: HandTrackingAimFlagsFB = Self(1 << 8u64);
8726}
8727bitmask!(HandTrackingAimFlagsFB);
8728#[doc = "See [XrKeyboardTrackingFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrKeyboardTrackingFlagsFB)"]
8729#[repr(transparent)]
8730#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8731pub struct KeyboardTrackingFlagsFB(u64);
8732impl KeyboardTrackingFlagsFB {
8733    #[doc = "indicates that the system has a physically tracked keyboard to report.  If not set then no other bits should be considered to be valid or meaningful.  If set either XR_KEYBOARD_TRACKING_LOCAL_BIT_FB or XR_KEYBOARD_TRACKING_REMOTE_BIT_FB must also be set."]
8734    pub const EXISTS: KeyboardTrackingFlagsFB = Self(1 << 0u64);
8735    #[doc = "indicates that the physically tracked keyboard is intended to be used in a local pairing with the system.  Mutually exclusive with XR_KEYBOARD_TRACKING_REMOTE_BIT_FB."]
8736    pub const LOCAL: KeyboardTrackingFlagsFB = Self(1 << 1u64);
8737    #[doc = "indicates that the physically tracked keyboard is intended to be used while paired to a separate remote computing device. Mutually exclusive with XR_KEYBOARD_TRACKING_LOCAL_BIT_FB."]
8738    pub const REMOTE: KeyboardTrackingFlagsFB = Self(1 << 2u64);
8739    #[doc = "indicates that the physically tracked keyboard is actively connected to the headset and capable of sending key data"]
8740    pub const CONNECTED: KeyboardTrackingFlagsFB = Self(1 << 3u64);
8741}
8742bitmask!(KeyboardTrackingFlagsFB);
8743#[doc = "See [XrKeyboardTrackingQueryFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrKeyboardTrackingQueryFlagsFB)"]
8744#[repr(transparent)]
8745#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8746pub struct KeyboardTrackingQueryFlagsFB(u64);
8747impl KeyboardTrackingQueryFlagsFB {
8748    #[doc = "indicates the query is for the physically tracked keyboard that is intended to be used in a local pairing with the System. Mutually exclusive with XR_KEYBOARD_TRACKING_QUERY_REMOTE_BIT_FB."]
8749    pub const LOCAL: KeyboardTrackingQueryFlagsFB = Self(1 << 1u64);
8750    #[doc = "indicates the query is for the physically tracked keyboard that may be connected to a separate remote computing device. Mutually exclusive with XR_KEYBOARD_TRACKING_QUERY_LOCAL_BIT_FB."]
8751    pub const REMOTE: KeyboardTrackingQueryFlagsFB = Self(1 << 2u64);
8752}
8753bitmask!(KeyboardTrackingQueryFlagsFB);
8754#[doc = "See [XrCompositionLayerSpaceWarpInfoFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerSpaceWarpInfoFlagsFB)"]
8755#[repr(transparent)]
8756#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8757pub struct CompositionLayerSpaceWarpInfoFlagsFB(u64);
8758impl CompositionLayerSpaceWarpInfoFlagsFB {
8759    #[doc = "Skip current frame's space warp extrapolation"]
8760    pub const FRAME_SKIP: CompositionLayerSpaceWarpInfoFlagsFB = Self(1 << 0u64);
8761}
8762bitmask!(CompositionLayerSpaceWarpInfoFlagsFB);
8763#[doc = "See [XrRenderModelFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelFlagsFB)"]
8764#[repr(transparent)]
8765#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8766pub struct RenderModelFlagsFB(u64);
8767impl RenderModelFlagsFB {
8768    #[doc = "Minimal level of support.  Can only contain a single mesh.  Can only contain a single texture.  Can not contain transparency.  Assumes unlit rendering.  Requires Extension KHR_texturebasisu."]
8769    pub const SUPPORTS_GLTF_2_0_SUBSET_1: RenderModelFlagsFB = Self(1 << 0u64);
8770    #[doc = "All of XR_RENDER_MODEL_SUPPORTS_GLTF_2_0_SUBSET_1_BIT_FB support plus: Multiple meshes. Multiple Textures. Texture Transparency."]
8771    pub const SUPPORTS_GLTF_2_0_SUBSET_2: RenderModelFlagsFB = Self(1 << 1u64);
8772}
8773bitmask!(RenderModelFlagsFB);
8774#[doc = "See [XrDigitalLensControlFlagsALMALENCE](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDigitalLensControlFlagsALMALENCE)"]
8775#[repr(transparent)]
8776#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8777pub struct DigitalLensControlFlagsALMALENCE(u64);
8778impl DigitalLensControlFlagsALMALENCE {
8779    #[doc = "disables Digital Lens processing of render textures"]
8780    pub const PROCESSING_DISABLE: DigitalLensControlFlagsALMALENCE = Self(1 << 0u64);
8781}
8782bitmask!(DigitalLensControlFlagsALMALENCE);
8783#[doc = "See [XrCompositionLayerSettingsFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerSettingsFlagsFB)"]
8784#[repr(transparent)]
8785#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8786pub struct CompositionLayerSettingsFlagsFB(u64);
8787impl CompositionLayerSettingsFlagsFB {
8788    #[doc = "Indicates compositor may: use layer texture supersampling."]
8789    pub const NORMAL_SUPER_SAMPLING: CompositionLayerSettingsFlagsFB = Self(1 << 0u64);
8790    #[doc = "Indicates compositor may: use high quality layer texture supersampling."]
8791    pub const QUALITY_SUPER_SAMPLING: CompositionLayerSettingsFlagsFB = Self(1 << 1u64);
8792    #[doc = "Indicates compositor may: use layer texture sharpening."]
8793    pub const NORMAL_SHARPENING: CompositionLayerSettingsFlagsFB = Self(1 << 2u64);
8794    #[doc = "Indicates compositor may: use high quality layer texture sharpening."]
8795    pub const QUALITY_SHARPENING: CompositionLayerSettingsFlagsFB = Self(1 << 3u64);
8796    #[doc = "Indicates compositor may: automatically toggle a texture filtering mechanism to improve visual quality of layer. This must: not be the only bit set. (Added by XR_META_automatic_layer_filter)"]
8797    pub const AUTO_LAYER_FILTER: CompositionLayerSettingsFlagsFB = Self(1 << 5u64);
8798}
8799bitmask!(CompositionLayerSettingsFlagsFB);
8800#[doc = "See [XrExternalCameraStatusFlagsOCULUS](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExternalCameraStatusFlagsOCULUS)"]
8801#[repr(transparent)]
8802#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8803pub struct ExternalCameraStatusFlagsOCULUS(u64);
8804impl ExternalCameraStatusFlagsOCULUS {
8805    #[doc = "External camera is connected"]
8806    pub const CONNECTED: ExternalCameraStatusFlagsOCULUS = Self(1 << 0u64);
8807    #[doc = "External camera is undergoing calibration"]
8808    pub const CALIBRATING: ExternalCameraStatusFlagsOCULUS = Self(1 << 1u64);
8809    #[doc = "External camera has tried and failed calibration"]
8810    pub const CALIBRATION_FAILED: ExternalCameraStatusFlagsOCULUS = Self(1 << 2u64);
8811    #[doc = "External camera has tried and passed calibration"]
8812    pub const CALIBRATED: ExternalCameraStatusFlagsOCULUS = Self(1 << 3u64);
8813    #[doc = "External camera is capturing"]
8814    pub const CAPTURING: ExternalCameraStatusFlagsOCULUS = Self(1 << 4u64);
8815}
8816bitmask!(ExternalCameraStatusFlagsOCULUS);
8817#[doc = "See [XrPerformanceMetricsCounterFlagsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerformanceMetricsCounterFlagsMETA)"]
8818#[repr(transparent)]
8819#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8820pub struct PerformanceMetricsCounterFlagsMETA(u64);
8821impl PerformanceMetricsCounterFlagsMETA {
8822    #[doc = "Indicates any of the values in XrPerformanceMetricsCounterMETA is valid."]
8823    pub const ANY_VALUE_VALID: PerformanceMetricsCounterFlagsMETA = Self(1 << 0u64);
8824    #[doc = "Indicates the uintValue in XrPerformanceMetricsCounterMETA is valid."]
8825    pub const UINT_VALUE_VALID: PerformanceMetricsCounterFlagsMETA = Self(1 << 1u64);
8826    #[doc = "Indicates the floatValue in XrPerformanceMetricsCounterMETA is valid."]
8827    pub const FLOAT_VALUE_VALID: PerformanceMetricsCounterFlagsMETA = Self(1 << 2u64);
8828}
8829bitmask!(PerformanceMetricsCounterFlagsMETA);
8830#[doc = "See [XrPassthroughPreferenceFlagsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughPreferenceFlagsMETA)"]
8831#[repr(transparent)]
8832#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8833pub struct PassthroughPreferenceFlagsMETA(u64);
8834impl PassthroughPreferenceFlagsMETA {
8835    #[doc = "Indicates that the runtime recommends apps to default to a mixed reality experience with passthrough (if supported)."]
8836    pub const DEFAULT_TO_ACTIVE: PassthroughPreferenceFlagsMETA = Self(1 << 0u64);
8837}
8838bitmask!(PassthroughPreferenceFlagsMETA);
8839#[doc = "See [XrFoveationDynamicFlagsHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationDynamicFlagsHTC)"]
8840#[repr(transparent)]
8841#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8842pub struct FoveationDynamicFlagsHTC(u64);
8843impl FoveationDynamicFlagsHTC {
8844    #[doc = "Allow system to set periphery pixel density dynamically."]
8845    pub const LEVEL_ENABLED: FoveationDynamicFlagsHTC = Self(1 << 0u64);
8846    #[doc = "Allow system to set clear FOV degree dynamically."]
8847    pub const CLEAR_FOV_ENABLED: FoveationDynamicFlagsHTC = Self(1 << 1u64);
8848    #[doc = "Allow system to set focal center offset dynamically."]
8849    pub const FOCAL_CENTER_OFFSET_ENABLED: FoveationDynamicFlagsHTC = Self(1 << 2u64);
8850}
8851bitmask!(FoveationDynamicFlagsHTC);
8852#[doc = "See [XrFrameEndInfoFlagsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameEndInfoFlagsML)"]
8853#[repr(transparent)]
8854#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8855pub struct FrameEndInfoFlagsML(u64);
8856impl FrameEndInfoFlagsML {
8857    #[doc = "Indicates that the content for this frame is protected and should not be recorded or captured outside the graphics system."]
8858    pub const PROTECTED: FrameEndInfoFlagsML = Self(1 << 0u64);
8859    #[doc = "Indicates that a soft fade to transparent should be added to the frame in the compositor to blend any hard edges at the FOV limits."]
8860    pub const VIGNETTE: FrameEndInfoFlagsML = Self(1 << 1u64);
8861}
8862bitmask!(FrameEndInfoFlagsML);
8863#[doc = "See [XrGlobalDimmerFrameEndInfoFlagsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGlobalDimmerFrameEndInfoFlagsML)"]
8864#[repr(transparent)]
8865#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8866pub struct GlobalDimmerFrameEndInfoFlagsML(u64);
8867impl GlobalDimmerFrameEndInfoFlagsML {
8868    #[doc = "Indicates that the global dimmer should: be enabled and controlled by dimmerValue."]
8869    pub const ENABLED: GlobalDimmerFrameEndInfoFlagsML = Self(1 << 0u64);
8870}
8871bitmask!(GlobalDimmerFrameEndInfoFlagsML);
8872#[doc = "See [XrPlaneDetectorFlagsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorFlagsEXT)"]
8873#[repr(transparent)]
8874#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8875pub struct PlaneDetectorFlagsEXT(u64);
8876impl PlaneDetectorFlagsEXT {
8877    #[doc = "populate the plane contour information"]
8878    pub const ENABLE_CONTOUR: PlaneDetectorFlagsEXT = Self(1 << 0u64);
8879}
8880bitmask!(PlaneDetectorFlagsEXT);
8881#[doc = "See [XrPlaneDetectionCapabilityFlagsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectionCapabilityFlagsEXT)"]
8882#[repr(transparent)]
8883#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8884pub struct PlaneDetectionCapabilityFlagsEXT(u64);
8885impl PlaneDetectionCapabilityFlagsEXT {
8886    #[doc = "plane detection is supported"]
8887    pub const PLANE_DETECTION: PlaneDetectionCapabilityFlagsEXT = Self(1 << 0u64);
8888    #[doc = "polygon buffers for holes in planes can be generated"]
8889    pub const PLANE_HOLES: PlaneDetectionCapabilityFlagsEXT = Self(1 << 1u64);
8890    #[doc = "plane detection supports ceiling semantic classification"]
8891    pub const SEMANTIC_CEILING: PlaneDetectionCapabilityFlagsEXT = Self(1 << 2u64);
8892    #[doc = "plane detection supports floor semantic classification"]
8893    pub const SEMANTIC_FLOOR: PlaneDetectionCapabilityFlagsEXT = Self(1 << 3u64);
8894    #[doc = "plane detection supports wall semantic classification"]
8895    pub const SEMANTIC_WALL: PlaneDetectionCapabilityFlagsEXT = Self(1 << 4u64);
8896    #[doc = "plane detection supports platform semantic classification (for example table tops)"]
8897    pub const SEMANTIC_PLATFORM: PlaneDetectionCapabilityFlagsEXT = Self(1 << 5u64);
8898    #[doc = "plane detection supports plane orientation classification. If not supported planes are always classified as ARBITRARY."]
8899    pub const ORIENTATION: PlaneDetectionCapabilityFlagsEXT = Self(1 << 6u64);
8900}
8901bitmask!(PlaneDetectionCapabilityFlagsEXT);
8902#[doc = "See [XrVirtualKeyboardInputStateFlagsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardInputStateFlagsMETA)"]
8903#[repr(transparent)]
8904#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8905pub struct VirtualKeyboardInputStateFlagsMETA(u64);
8906impl VirtualKeyboardInputStateFlagsMETA {
8907    #[doc = "If the input source is considered 'pressed' at all. Pinch for hands, Primary button for controllers."]
8908    pub const PRESSED: VirtualKeyboardInputStateFlagsMETA = Self(1 << 0u64);
8909}
8910bitmask!(VirtualKeyboardInputStateFlagsMETA);
8911#[doc = "See [XrLocalizationMapErrorFlagsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalizationMapErrorFlagsML)"]
8912#[repr(transparent)]
8913#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8914pub struct LocalizationMapErrorFlagsML(u64);
8915impl LocalizationMapErrorFlagsML {
8916    #[doc = "Localization failed for an unknown reason."]
8917    pub const UNKNOWN: LocalizationMapErrorFlagsML = Self(1 << 0u64);
8918    #[doc = "Localization failed because the user is outside of the mapped area."]
8919    pub const OUT_OF_MAPPED_AREA: LocalizationMapErrorFlagsML = Self(1 << 1u64);
8920    #[doc = "There are not enough features in the environment to successfully localize."]
8921    pub const LOW_FEATURE_COUNT: LocalizationMapErrorFlagsML = Self(1 << 2u64);
8922    #[doc = "Localization failed due to excessive motion."]
8923    pub const EXCESSIVE_MOTION: LocalizationMapErrorFlagsML = Self(1 << 3u64);
8924    #[doc = "Localization failed because the lighting levels are too low in the environment."]
8925    pub const LOW_LIGHT: LocalizationMapErrorFlagsML = Self(1 << 4u64);
8926    #[doc = "A headpose failure caused localization to be unsuccessful."]
8927    pub const HEADPOSE: LocalizationMapErrorFlagsML = Self(1 << 5u64);
8928}
8929bitmask!(LocalizationMapErrorFlagsML);
8930#[doc = "See [XrEnvironmentDepthProviderCreateFlagsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthProviderCreateFlagsMETA)"]
8931#[repr(transparent)]
8932#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8933pub struct EnvironmentDepthProviderCreateFlagsMETA(u64);
8934impl EnvironmentDepthProviderCreateFlagsMETA {}
8935bitmask!(EnvironmentDepthProviderCreateFlagsMETA);
8936#[doc = "See [XrEnvironmentDepthSwapchainCreateFlagsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthSwapchainCreateFlagsMETA)"]
8937#[repr(transparent)]
8938#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8939pub struct EnvironmentDepthSwapchainCreateFlagsMETA(u64);
8940impl EnvironmentDepthSwapchainCreateFlagsMETA {}
8941bitmask!(EnvironmentDepthSwapchainCreateFlagsMETA);
8942#[doc = "See [XrWorldMeshDetectorFlagsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshDetectorFlagsML)"]
8943#[repr(transparent)]
8944#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8945pub struct WorldMeshDetectorFlagsML(u64);
8946impl WorldMeshDetectorFlagsML {
8947    #[doc = "If set, will return a point cloud instead of a triangle mesh."]
8948    pub const POINT_CLOUD: WorldMeshDetectorFlagsML = Self(1 << 0u64);
8949    #[doc = "If set, the system will compute the normals for the triangle vertices."]
8950    pub const COMPUTE_NORMALS: WorldMeshDetectorFlagsML = Self(1 << 1u64);
8951    #[doc = "If set, the system will compute the confidence values."]
8952    pub const COMPUTE_CONFIDENCE: WorldMeshDetectorFlagsML = Self(1 << 2u64);
8953    #[doc = "If set, the system will planarize the returned mesh (planar regions will be smoothed out)."]
8954    pub const PLANARIZE: WorldMeshDetectorFlagsML = Self(1 << 3u64);
8955    #[doc = "If set, the mesh skirt (overlapping area between two mesh blocks) will be removed."]
8956    pub const REMOVE_MESH_SKIRT: WorldMeshDetectorFlagsML = Self(1 << 4u64);
8957    #[doc = "If set, winding order of indices will be be changed from counter clockwise to clockwise."]
8958    pub const INDEX_ORDER_CW: WorldMeshDetectorFlagsML = Self(1 << 5u64);
8959}
8960bitmask!(WorldMeshDetectorFlagsML);
8961#[doc = "See [XrFacialExpressionBlendShapePropertiesFlagsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialExpressionBlendShapePropertiesFlagsML)"]
8962#[repr(transparent)]
8963#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8964pub struct FacialExpressionBlendShapePropertiesFlagsML(u64);
8965impl FacialExpressionBlendShapePropertiesFlagsML {
8966    #[doc = "Indicates whether the blend shape is valid."]
8967    pub const VALID: FacialExpressionBlendShapePropertiesFlagsML = Self(1 << 0u64);
8968    #[doc = "Indicates whether the blend shape is being tracked by the runtime."]
8969    pub const TRACKED: FacialExpressionBlendShapePropertiesFlagsML = Self(1 << 1u64);
8970}
8971bitmask!(FacialExpressionBlendShapePropertiesFlagsML);
8972#[doc = "See [XrSpatialMeshConfigFlagsBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialMeshConfigFlagsBD)"]
8973#[repr(transparent)]
8974#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8975pub struct SpatialMeshConfigFlagsBD(u64);
8976impl SpatialMeshConfigFlagsBD {
8977    #[doc = "Detect and include semantic label component data in the spatial entity."]
8978    pub const SEMANTIC: SpatialMeshConfigFlagsBD = Self(1 << 0u64);
8979    #[doc = "Semantic labels are associated with each vertex, otherwise, semantic labels are associated with each triangle face by default. It only takes effect if XR_SPATIAL_MESH_CONFIG_SEMANTIC_BIT_BD is set"]
8980    pub const ALIGN_SEMANTIC_WITH_VERTEX: SpatialMeshConfigFlagsBD = Self(1 << 1u64);
8981}
8982bitmask!(SpatialMeshConfigFlagsBD);
8983#[doc = "See [XrInstance](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInstance)"]
8984#[repr(transparent)]
8985#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
8986pub struct Instance(u64);
8987handle!(Instance);
8988#[doc = "See [XrSession](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSession)"]
8989#[repr(transparent)]
8990#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
8991pub struct Session(u64);
8992handle!(Session);
8993#[doc = "See [XrActionSet](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionSet)"]
8994#[repr(transparent)]
8995#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
8996pub struct ActionSet(u64);
8997handle!(ActionSet);
8998#[doc = "See [XrAction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAction)"]
8999#[repr(transparent)]
9000#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9001pub struct Action(u64);
9002handle!(Action);
9003#[doc = "See [XrSwapchain](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchain)"]
9004#[repr(transparent)]
9005#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9006pub struct Swapchain(u64);
9007handle!(Swapchain);
9008#[doc = "See [XrSpace](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpace)"]
9009#[repr(transparent)]
9010#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9011pub struct Space(u64);
9012handle!(Space);
9013#[doc = "See [XrDebugUtilsMessengerEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDebugUtilsMessengerEXT)"]
9014#[repr(transparent)]
9015#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9016pub struct DebugUtilsMessengerEXT(u64);
9017handle!(DebugUtilsMessengerEXT);
9018#[doc = "See [XrSpatialAnchorMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorMSFT)"]
9019#[repr(transparent)]
9020#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9021pub struct SpatialAnchorMSFT(u64);
9022handle!(SpatialAnchorMSFT);
9023#[doc = "See [XrHandTrackerEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackerEXT)"]
9024#[repr(transparent)]
9025#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9026pub struct HandTrackerEXT(u64);
9027handle!(HandTrackerEXT);
9028#[doc = "See [XrFoveationProfileFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationProfileFB)"]
9029#[repr(transparent)]
9030#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9031pub struct FoveationProfileFB(u64);
9032handle!(FoveationProfileFB);
9033#[doc = "See [XrTriangleMeshFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTriangleMeshFB)"]
9034#[repr(transparent)]
9035#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9036pub struct TriangleMeshFB(u64);
9037handle!(TriangleMeshFB);
9038#[doc = "See [XrPassthroughFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughFB)"]
9039#[repr(transparent)]
9040#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9041pub struct PassthroughFB(u64);
9042handle!(PassthroughFB);
9043#[doc = "See [XrPassthroughLayerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughLayerFB)"]
9044#[repr(transparent)]
9045#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9046pub struct PassthroughLayerFB(u64);
9047handle!(PassthroughLayerFB);
9048#[doc = "See [XrGeometryInstanceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGeometryInstanceFB)"]
9049#[repr(transparent)]
9050#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9051pub struct GeometryInstanceFB(u64);
9052handle!(GeometryInstanceFB);
9053#[doc = "See [XrFacialTrackerHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialTrackerHTC)"]
9054#[repr(transparent)]
9055#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9056pub struct FacialTrackerHTC(u64);
9057handle!(FacialTrackerHTC);
9058#[doc = "See [XrPassthroughHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughHTC)"]
9059#[repr(transparent)]
9060#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9061pub struct PassthroughHTC(u64);
9062handle!(PassthroughHTC);
9063#[doc = "See [XrFaceTrackerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackerANDROID)"]
9064#[repr(transparent)]
9065#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9066pub struct FaceTrackerANDROID(u64);
9067handle!(FaceTrackerANDROID);
9068#[doc = "See [XrTrackableTrackerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableTrackerANDROID)"]
9069#[repr(transparent)]
9070#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9071pub struct TrackableTrackerANDROID(u64);
9072handle!(TrackableTrackerANDROID);
9073#[doc = "See [XrDeviceAnchorPersistenceANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDeviceAnchorPersistenceANDROID)"]
9074#[repr(transparent)]
9075#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9076pub struct DeviceAnchorPersistenceANDROID(u64);
9077handle!(DeviceAnchorPersistenceANDROID);
9078#[doc = "See [XrFaceTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackerFB)"]
9079#[repr(transparent)]
9080#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9081pub struct FaceTrackerFB(u64);
9082handle!(FaceTrackerFB);
9083#[doc = "See [XrFaceTracker2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTracker2FB)"]
9084#[repr(transparent)]
9085#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9086pub struct FaceTracker2FB(u64);
9087handle!(FaceTracker2FB);
9088#[doc = "See [XrBodyTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackerFB)"]
9089#[repr(transparent)]
9090#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9091pub struct BodyTrackerFB(u64);
9092handle!(BodyTrackerFB);
9093#[doc = "See [XrEyeTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeTrackerFB)"]
9094#[repr(transparent)]
9095#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9096pub struct EyeTrackerFB(u64);
9097handle!(EyeTrackerFB);
9098#[doc = "See [XrSpaceUserFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceUserFB)"]
9099#[repr(transparent)]
9100#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9101pub struct SpaceUserFB(u64);
9102handle!(SpaceUserFB);
9103#[doc = "See [XrPassthroughColorLutMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorLutMETA)"]
9104#[repr(transparent)]
9105#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9106pub struct PassthroughColorLutMETA(u64);
9107handle!(PassthroughColorLutMETA);
9108#[doc = "See [XrPlaneDetectorEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorEXT)"]
9109#[repr(transparent)]
9110#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9111pub struct PlaneDetectorEXT(u64);
9112handle!(PlaneDetectorEXT);
9113#[doc = "See [XrVirtualKeyboardMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardMETA)"]
9114#[repr(transparent)]
9115#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9116pub struct VirtualKeyboardMETA(u64);
9117handle!(VirtualKeyboardMETA);
9118#[doc = "See [XrSpatialAnchorsStorageML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsStorageML)"]
9119#[repr(transparent)]
9120#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9121pub struct SpatialAnchorsStorageML(u64);
9122handle!(SpatialAnchorsStorageML);
9123#[doc = "See [XrExportedLocalizationMapML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExportedLocalizationMapML)"]
9124#[repr(transparent)]
9125#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9126pub struct ExportedLocalizationMapML(u64);
9127handle!(ExportedLocalizationMapML);
9128#[doc = "See [XrMarkerDetectorML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorML)"]
9129#[repr(transparent)]
9130#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9131pub struct MarkerDetectorML(u64);
9132handle!(MarkerDetectorML);
9133#[doc = "See [XrFacialExpressionClientML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialExpressionClientML)"]
9134#[repr(transparent)]
9135#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9136pub struct FacialExpressionClientML(u64);
9137handle!(FacialExpressionClientML);
9138#[doc = "See [XrEnvironmentDepthProviderMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthProviderMETA)"]
9139#[repr(transparent)]
9140#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9141pub struct EnvironmentDepthProviderMETA(u64);
9142handle!(EnvironmentDepthProviderMETA);
9143#[doc = "See [XrEnvironmentDepthSwapchainMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthSwapchainMETA)"]
9144#[repr(transparent)]
9145#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9146pub struct EnvironmentDepthSwapchainMETA(u64);
9147handle!(EnvironmentDepthSwapchainMETA);
9148#[doc = "See [XrSpatialContextEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialContextEXT)"]
9149#[repr(transparent)]
9150#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9151pub struct SpatialContextEXT(u64);
9152handle!(SpatialContextEXT);
9153#[doc = "See [XrSpatialEntityEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityEXT)"]
9154#[repr(transparent)]
9155#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9156pub struct SpatialEntityEXT(u64);
9157handle!(SpatialEntityEXT);
9158#[doc = "See [XrSpatialSnapshotEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialSnapshotEXT)"]
9159#[repr(transparent)]
9160#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9161pub struct SpatialSnapshotEXT(u64);
9162handle!(SpatialSnapshotEXT);
9163#[doc = "See [XrSpatialPersistenceContextEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPersistenceContextEXT)"]
9164#[repr(transparent)]
9165#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9166pub struct SpatialPersistenceContextEXT(u64);
9167handle!(SpatialPersistenceContextEXT);
9168#[doc = "See [XrBodyTrackerHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackerHTC)"]
9169#[repr(transparent)]
9170#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9171pub struct BodyTrackerHTC(u64);
9172handle!(BodyTrackerHTC);
9173#[doc = "See [XrWorldMeshDetectorML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshDetectorML)"]
9174#[repr(transparent)]
9175#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9176pub struct WorldMeshDetectorML(u64);
9177handle!(WorldMeshDetectorML);
9178#[doc = "See [XrBodyTrackerBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackerBD)"]
9179#[repr(transparent)]
9180#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9181pub struct BodyTrackerBD(u64);
9182handle!(BodyTrackerBD);
9183#[doc = "See [XrRenderModelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelEXT)"]
9184#[repr(transparent)]
9185#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9186pub struct RenderModelEXT(u64);
9187handle!(RenderModelEXT);
9188#[doc = "See [XrRenderModelAssetEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelAssetEXT)"]
9189#[repr(transparent)]
9190#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9191pub struct RenderModelAssetEXT(u64);
9192handle!(RenderModelAssetEXT);
9193#[doc = "See [XrSenseDataProviderBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataProviderBD)"]
9194#[repr(transparent)]
9195#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9196pub struct SenseDataProviderBD(u64);
9197handle!(SenseDataProviderBD);
9198#[doc = "See [XrSenseDataSnapshotBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataSnapshotBD)"]
9199#[repr(transparent)]
9200#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9201pub struct SenseDataSnapshotBD(u64);
9202handle!(SenseDataSnapshotBD);
9203#[doc = "See [XrAnchorBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAnchorBD)"]
9204#[repr(transparent)]
9205#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9206pub struct AnchorBD(u64);
9207handle!(AnchorBD);
9208#[doc = "See [XrFaceTrackerBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackerBD)"]
9209#[repr(transparent)]
9210#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9211pub struct FaceTrackerBD(u64);
9212handle!(FaceTrackerBD);
9213#[doc = "See [XrSpatialGraphNodeBindingMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialGraphNodeBindingMSFT)"]
9214#[repr(transparent)]
9215#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9216pub struct SpatialGraphNodeBindingMSFT(u64);
9217handle!(SpatialGraphNodeBindingMSFT);
9218#[doc = "See [XrSceneObserverMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneObserverMSFT)"]
9219#[repr(transparent)]
9220#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9221pub struct SceneObserverMSFT(u64);
9222handle!(SceneObserverMSFT);
9223#[doc = "See [XrSceneMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneMSFT)"]
9224#[repr(transparent)]
9225#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9226pub struct SceneMSFT(u64);
9227handle!(SceneMSFT);
9228#[doc = "See [XrSpatialAnchorStoreConnectionMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorStoreConnectionMSFT)"]
9229#[repr(transparent)]
9230#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9231pub struct SpatialAnchorStoreConnectionMSFT(u64);
9232handle!(SpatialAnchorStoreConnectionMSFT);
9233#[repr(C)]
9234#[derive(Copy, Clone, Debug, Default, PartialEq)]
9235#[doc = "See [XrVector2f](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVector2f)"]
9236pub struct Vector2f {
9237    pub x: f32,
9238    pub y: f32,
9239}
9240#[repr(C)]
9241#[derive(Copy, Clone, Debug, Default, PartialEq)]
9242#[doc = "See [XrVector3f](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVector3f)"]
9243pub struct Vector3f {
9244    pub x: f32,
9245    pub y: f32,
9246    pub z: f32,
9247}
9248#[repr(C)]
9249#[derive(Copy, Clone, Debug, Default, PartialEq)]
9250#[doc = "See [XrVector4f](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVector4f)"]
9251pub struct Vector4f {
9252    pub x: f32,
9253    pub y: f32,
9254    pub z: f32,
9255    pub w: f32,
9256}
9257#[repr(C)]
9258#[derive(Copy, Clone, Debug, Default, PartialEq)]
9259#[doc = "See [XrColor4f](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrColor4f)"]
9260pub struct Color4f {
9261    pub r: f32,
9262    pub g: f32,
9263    pub b: f32,
9264    pub a: f32,
9265}
9266#[repr(C)]
9267#[derive(Copy, Clone, Debug, Default, PartialEq)]
9268#[doc = "See [XrQuaternionf](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrQuaternionf)"]
9269pub struct Quaternionf {
9270    pub x: f32,
9271    pub y: f32,
9272    pub z: f32,
9273    pub w: f32,
9274}
9275#[repr(C)]
9276#[derive(Copy, Clone, Debug, Default, PartialEq)]
9277#[doc = "See [XrPosef](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPosef)"]
9278pub struct Posef {
9279    pub orientation: Quaternionf,
9280    pub position: Vector3f,
9281}
9282#[repr(C)]
9283#[derive(Copy, Clone, Debug, Default, PartialEq)]
9284#[doc = "See [XrOffset2Df](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrOffset2Df)"]
9285pub struct Offset2Df {
9286    pub x: f32,
9287    pub y: f32,
9288}
9289#[repr(C)]
9290#[derive(Copy, Clone, Debug, Default, PartialEq)]
9291#[doc = "See [XrExtent2Df](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExtent2Df)"]
9292pub struct Extent2Df {
9293    pub width: f32,
9294    pub height: f32,
9295}
9296#[repr(C)]
9297#[derive(Copy, Clone, Debug, Default, PartialEq)]
9298#[doc = "See [XrRect2Df](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRect2Df)"]
9299pub struct Rect2Df {
9300    pub offset: Offset2Df,
9301    pub extent: Extent2Df,
9302}
9303#[repr(C)]
9304#[derive(Copy, Clone, Debug, Default, PartialEq)]
9305#[doc = "See [XrOffset2Di](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrOffset2Di)"]
9306pub struct Offset2Di {
9307    pub x: i32,
9308    pub y: i32,
9309}
9310#[repr(C)]
9311#[derive(Copy, Clone, Debug, Default, PartialEq)]
9312#[doc = "See [XrExtent2Di](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExtent2Di)"]
9313pub struct Extent2Di {
9314    pub width: i32,
9315    pub height: i32,
9316}
9317#[repr(C)]
9318#[derive(Copy, Clone, Debug, Default, PartialEq)]
9319#[doc = "See [XrRect2Di](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRect2Di)"]
9320pub struct Rect2Di {
9321    pub offset: Offset2Di,
9322    pub extent: Extent2Di,
9323}
9324#[repr(C)]
9325#[derive(Copy, Clone, Debug, Default, PartialEq)]
9326#[doc = "See [XrNegotiateLoaderInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrNegotiateLoaderInfo)"]
9327pub struct NegotiateLoaderInfo {
9328    pub struct_type: LoaderInterfaceStructs,
9329    pub struct_version: u32,
9330    pub struct_size: usize,
9331    pub min_interface_version: u32,
9332    pub max_interface_version: u32,
9333    pub min_api_version: Version,
9334    pub max_api_version: Version,
9335}
9336#[repr(C)]
9337#[derive(Copy, Clone)]
9338#[doc = "See [XrNegotiateApiLayerRequest](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrNegotiateApiLayerRequest)"]
9339pub struct NegotiateApiLayerRequest {
9340    pub struct_type: LoaderInterfaceStructs,
9341    pub struct_version: u32,
9342    pub struct_size: usize,
9343    pub layer_interface_version: u32,
9344    pub layer_api_version: Version,
9345    pub get_instance_proc_addr: Option<pfn::GetInstanceProcAddr>,
9346    pub create_api_layer_instance: Option<pfn::CreateApiLayerInstance>,
9347}
9348#[repr(C)]
9349#[derive(Copy, Clone)]
9350#[doc = "See [XrNegotiateRuntimeRequest](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrNegotiateRuntimeRequest)"]
9351pub struct NegotiateRuntimeRequest {
9352    pub struct_type: LoaderInterfaceStructs,
9353    pub struct_version: u32,
9354    pub struct_size: usize,
9355    pub runtime_interface_version: u32,
9356    pub runtime_api_version: Version,
9357    pub get_instance_proc_addr: Option<pfn::GetInstanceProcAddr>,
9358}
9359#[repr(C)]
9360#[derive(Copy, Clone)]
9361#[doc = "See [XrApiLayerNextInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrApiLayerNextInfo)"]
9362pub struct ApiLayerNextInfo {
9363    pub struct_type: LoaderInterfaceStructs,
9364    pub struct_version: u32,
9365    pub struct_size: usize,
9366    pub layer_name: [c_char; MAX_API_LAYER_NAME_SIZE],
9367    pub next_get_instance_proc_addr: Option<pfn::GetInstanceProcAddr>,
9368    pub next_create_api_layer_instance: Option<pfn::CreateApiLayerInstance>,
9369    pub next: *mut ApiLayerNextInfo,
9370}
9371#[repr(C)]
9372#[derive(Copy, Clone)]
9373#[doc = "See [XrApiLayerCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrApiLayerCreateInfo)"]
9374pub struct ApiLayerCreateInfo {
9375    pub struct_type: LoaderInterfaceStructs,
9376    pub struct_version: u32,
9377    pub struct_size: usize,
9378    pub loader_instance: *mut c_void,
9379    pub settings_file_location: [c_char; API_LAYER_MAX_SETTINGS_PATH_SIZE],
9380    pub next_info: *mut ApiLayerNextInfo,
9381}
9382#[repr(C)]
9383#[derive(Copy, Clone, Debug)]
9384#[doc = "See [XrBaseInStructure](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBaseInStructure)"]
9385pub struct BaseInStructure {
9386    pub ty: StructureType,
9387    pub next: *const BaseInStructure,
9388}
9389#[repr(C)]
9390#[derive(Copy, Clone, Debug)]
9391#[doc = "See [XrBaseOutStructure](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBaseOutStructure)"]
9392pub struct BaseOutStructure {
9393    pub ty: StructureType,
9394    pub next: *mut BaseOutStructure,
9395}
9396#[repr(C)]
9397#[derive(Copy, Clone, Debug)]
9398#[doc = "See [XrApiLayerProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrApiLayerProperties)"]
9399pub struct ApiLayerProperties {
9400    pub ty: StructureType,
9401    pub next: *mut c_void,
9402    pub layer_name: [c_char; MAX_API_LAYER_NAME_SIZE],
9403    pub spec_version: Version,
9404    pub layer_version: u32,
9405    pub description: [c_char; MAX_API_LAYER_DESCRIPTION_SIZE],
9406}
9407impl ApiLayerProperties {
9408    pub const TYPE: StructureType = StructureType::API_LAYER_PROPERTIES;
9409    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
9410    #[inline]
9411    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
9412        let mut x = MaybeUninit::<Self>::uninit();
9413        unsafe {
9414            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
9415                ty: Self::TYPE,
9416                next,
9417            });
9418        }
9419        x
9420    }
9421}
9422#[repr(C)]
9423#[derive(Copy, Clone, Debug)]
9424#[doc = "See [XrExtensionProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExtensionProperties)"]
9425pub struct ExtensionProperties {
9426    pub ty: StructureType,
9427    pub next: *mut c_void,
9428    pub extension_name: [c_char; MAX_EXTENSION_NAME_SIZE],
9429    pub extension_version: u32,
9430}
9431impl ExtensionProperties {
9432    pub const TYPE: StructureType = StructureType::EXTENSION_PROPERTIES;
9433    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
9434    #[inline]
9435    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
9436        let mut x = MaybeUninit::<Self>::uninit();
9437        unsafe {
9438            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
9439                ty: Self::TYPE,
9440                next,
9441            });
9442        }
9443        x
9444    }
9445}
9446#[repr(C)]
9447#[derive(Copy, Clone, Debug)]
9448#[doc = "See [XrApplicationInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrApplicationInfo)"]
9449pub struct ApplicationInfo {
9450    pub application_name: [c_char; MAX_APPLICATION_NAME_SIZE],
9451    pub application_version: u32,
9452    pub engine_name: [c_char; MAX_ENGINE_NAME_SIZE],
9453    pub engine_version: u32,
9454    pub api_version: Version,
9455}
9456#[repr(C)]
9457#[derive(Copy, Clone, Debug)]
9458#[doc = "See [XrInstanceCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInstanceCreateInfo)"]
9459pub struct InstanceCreateInfo {
9460    pub ty: StructureType,
9461    pub next: *const c_void,
9462    pub create_flags: InstanceCreateFlags,
9463    pub application_info: ApplicationInfo,
9464    pub enabled_api_layer_count: u32,
9465    pub enabled_api_layer_names: *const *const c_char,
9466    pub enabled_extension_count: u32,
9467    pub enabled_extension_names: *const *const c_char,
9468}
9469impl InstanceCreateInfo {
9470    pub const TYPE: StructureType = StructureType::INSTANCE_CREATE_INFO;
9471}
9472#[repr(C)]
9473#[derive(Copy, Clone, Debug)]
9474#[doc = "See [XrInstanceProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInstanceProperties)"]
9475pub struct InstanceProperties {
9476    pub ty: StructureType,
9477    pub next: *mut c_void,
9478    pub runtime_version: Version,
9479    pub runtime_name: [c_char; MAX_RUNTIME_NAME_SIZE],
9480}
9481impl InstanceProperties {
9482    pub const TYPE: StructureType = StructureType::INSTANCE_PROPERTIES;
9483    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
9484    #[inline]
9485    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
9486        let mut x = MaybeUninit::<Self>::uninit();
9487        unsafe {
9488            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
9489                ty: Self::TYPE,
9490                next,
9491            });
9492        }
9493        x
9494    }
9495}
9496#[repr(C)]
9497#[derive(Copy, Clone, Debug)]
9498#[doc = "See [XrSystemGetInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemGetInfo)"]
9499pub struct SystemGetInfo {
9500    pub ty: StructureType,
9501    pub next: *const c_void,
9502    pub form_factor: FormFactor,
9503}
9504impl SystemGetInfo {
9505    pub const TYPE: StructureType = StructureType::SYSTEM_GET_INFO;
9506}
9507#[repr(C)]
9508#[derive(Copy, Clone, Debug)]
9509#[doc = "See [XrSystemProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemProperties)"]
9510pub struct SystemProperties {
9511    pub ty: StructureType,
9512    pub next: *mut c_void,
9513    pub system_id: SystemId,
9514    pub vendor_id: u32,
9515    pub system_name: [c_char; MAX_SYSTEM_NAME_SIZE],
9516    pub graphics_properties: SystemGraphicsProperties,
9517    pub tracking_properties: SystemTrackingProperties,
9518}
9519impl SystemProperties {
9520    pub const TYPE: StructureType = StructureType::SYSTEM_PROPERTIES;
9521    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
9522    #[inline]
9523    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
9524        let mut x = MaybeUninit::<Self>::uninit();
9525        unsafe {
9526            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
9527                ty: Self::TYPE,
9528                next,
9529            });
9530        }
9531        x
9532    }
9533}
9534#[repr(C)]
9535#[derive(Copy, Clone, Debug, Default, PartialEq)]
9536#[doc = "See [XrSystemGraphicsProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemGraphicsProperties)"]
9537pub struct SystemGraphicsProperties {
9538    pub max_swapchain_image_height: u32,
9539    pub max_swapchain_image_width: u32,
9540    pub max_layer_count: u32,
9541}
9542#[repr(C)]
9543#[derive(Copy, Clone, Debug, Default, PartialEq)]
9544#[doc = "See [XrSystemTrackingProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemTrackingProperties)"]
9545pub struct SystemTrackingProperties {
9546    pub orientation_tracking: Bool32,
9547    pub position_tracking: Bool32,
9548}
9549#[repr(C)]
9550#[derive(Copy, Clone, Debug)]
9551#[doc = "See [XrGraphicsBindingOpenGLWin32KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingOpenGLWin32KHR) - defined by [XR_KHR_opengl_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_enable)"]
9552#[cfg(windows)]
9553pub struct GraphicsBindingOpenGLWin32KHR {
9554    pub ty: StructureType,
9555    pub next: *const c_void,
9556    pub h_dc: HDC,
9557    pub h_glrc: HGLRC,
9558}
9559#[cfg(windows)]
9560impl GraphicsBindingOpenGLWin32KHR {
9561    pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_OPENGL_WIN32_KHR;
9562}
9563#[repr(C)]
9564#[derive(Copy, Clone, Debug)]
9565#[doc = "See [XrGraphicsBindingOpenGLXlibKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingOpenGLXlibKHR) - defined by [XR_KHR_opengl_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_enable)"]
9566pub struct GraphicsBindingOpenGLXlibKHR {
9567    pub ty: StructureType,
9568    pub next: *const c_void,
9569    pub x_display: *mut Display,
9570    pub visualid: u32,
9571    pub glx_fb_config: GLXFBConfig,
9572    pub glx_drawable: GLXDrawable,
9573    pub glx_context: GLXContext,
9574}
9575impl GraphicsBindingOpenGLXlibKHR {
9576    pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_OPENGL_XLIB_KHR;
9577}
9578#[repr(C)]
9579#[derive(Copy, Clone, Debug)]
9580#[doc = "See [XrGraphicsBindingOpenGLXcbKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingOpenGLXcbKHR) - defined by [XR_KHR_opengl_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_enable)"]
9581pub struct GraphicsBindingOpenGLXcbKHR {
9582    pub ty: StructureType,
9583    pub next: *const c_void,
9584    pub connection: *mut xcb_connection_t,
9585    pub screen_number: u32,
9586    pub fbconfigid: xcb_glx_fbconfig_t,
9587    pub visualid: xcb_visualid_t,
9588    pub glx_drawable: xcb_glx_drawable_t,
9589    pub glx_context: xcb_glx_context_t,
9590}
9591impl GraphicsBindingOpenGLXcbKHR {
9592    pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_OPENGL_XCB_KHR;
9593}
9594#[repr(C)]
9595#[derive(Copy, Clone, Debug)]
9596#[doc = "See [XrGraphicsBindingOpenGLWaylandKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingOpenGLWaylandKHR) - defined by [XR_KHR_opengl_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_enable)"]
9597pub struct GraphicsBindingOpenGLWaylandKHR {
9598    pub ty: StructureType,
9599    pub next: *const c_void,
9600    pub display: *mut wl_display,
9601}
9602impl GraphicsBindingOpenGLWaylandKHR {
9603    pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_OPENGL_WAYLAND_KHR;
9604}
9605#[repr(C)]
9606#[derive(Copy, Clone, Debug)]
9607#[doc = "See [XrGraphicsBindingD3D11KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingD3D11KHR) - defined by [XR_KHR_D3D11_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_D3D11_enable)"]
9608#[cfg(windows)]
9609pub struct GraphicsBindingD3D11KHR {
9610    pub ty: StructureType,
9611    pub next: *const c_void,
9612    pub device: *mut ID3D11Device,
9613}
9614#[cfg(windows)]
9615impl GraphicsBindingD3D11KHR {
9616    pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_D3D11_KHR;
9617}
9618#[repr(C)]
9619#[derive(Copy, Clone, Debug)]
9620#[doc = "See [XrGraphicsBindingD3D12KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingD3D12KHR) - defined by [XR_KHR_D3D12_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_D3D12_enable)"]
9621#[cfg(windows)]
9622pub struct GraphicsBindingD3D12KHR {
9623    pub ty: StructureType,
9624    pub next: *const c_void,
9625    pub device: *mut ID3D12Device,
9626    pub queue: *mut ID3D12CommandQueue,
9627}
9628#[cfg(windows)]
9629impl GraphicsBindingD3D12KHR {
9630    pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_D3D12_KHR;
9631}
9632#[repr(C)]
9633#[derive(Copy, Clone, Debug)]
9634#[doc = "See [XrGraphicsBindingOpenGLESAndroidKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingOpenGLESAndroidKHR) - defined by [XR_KHR_opengl_es_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_es_enable)"]
9635#[cfg(target_os = "android")]
9636pub struct GraphicsBindingOpenGLESAndroidKHR {
9637    pub ty: StructureType,
9638    pub next: *const c_void,
9639    pub display: EGLDisplay,
9640    pub config: EGLConfig,
9641    pub context: EGLContext,
9642}
9643#[cfg(target_os = "android")]
9644impl GraphicsBindingOpenGLESAndroidKHR {
9645    pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_OPENGL_ES_ANDROID_KHR;
9646}
9647#[repr(C)]
9648#[derive(Copy, Clone, Debug)]
9649#[doc = "See [XrGraphicsBindingVulkanKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingVulkanKHR) - defined by [XR_KHR_vulkan_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable)"]
9650pub struct GraphicsBindingVulkanKHR {
9651    pub ty: StructureType,
9652    pub next: *const c_void,
9653    pub instance: VkInstance,
9654    pub physical_device: VkPhysicalDevice,
9655    pub device: VkDevice,
9656    pub queue_family_index: u32,
9657    pub queue_index: u32,
9658}
9659impl GraphicsBindingVulkanKHR {
9660    pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_VULKAN_KHR;
9661}
9662pub type GraphicsBindingVulkan2KHR = GraphicsBindingVulkanKHR;
9663#[repr(C)]
9664#[derive(Copy, Clone, Debug)]
9665#[doc = "See [XrGraphicsBindingMetalKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingMetalKHR) - defined by [XR_KHR_metal_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_metal_enable)"]
9666#[cfg(target_vendor = "apple")]
9667pub struct GraphicsBindingMetalKHR {
9668    pub ty: StructureType,
9669    pub next: *const c_void,
9670    pub command_queue: *mut c_void,
9671}
9672#[cfg(target_vendor = "apple")]
9673impl GraphicsBindingMetalKHR {
9674    pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_METAL_KHR;
9675}
9676#[repr(C)]
9677#[derive(Copy, Clone, Debug)]
9678#[doc = "See [XrSessionCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSessionCreateInfo)"]
9679pub struct SessionCreateInfo {
9680    pub ty: StructureType,
9681    pub next: *const c_void,
9682    pub create_flags: SessionCreateFlags,
9683    pub system_id: SystemId,
9684}
9685impl SessionCreateInfo {
9686    pub const TYPE: StructureType = StructureType::SESSION_CREATE_INFO;
9687}
9688#[repr(C)]
9689#[derive(Copy, Clone, Debug)]
9690#[doc = "See [XrSessionBeginInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSessionBeginInfo)"]
9691pub struct SessionBeginInfo {
9692    pub ty: StructureType,
9693    pub next: *const c_void,
9694    pub primary_view_configuration_type: ViewConfigurationType,
9695}
9696impl SessionBeginInfo {
9697    pub const TYPE: StructureType = StructureType::SESSION_BEGIN_INFO;
9698}
9699#[repr(C)]
9700#[derive(Copy, Clone, Debug)]
9701#[doc = "See [XrSwapchainCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainCreateInfo)"]
9702pub struct SwapchainCreateInfo {
9703    pub ty: StructureType,
9704    pub next: *const c_void,
9705    pub create_flags: SwapchainCreateFlags,
9706    pub usage_flags: SwapchainUsageFlags,
9707    pub format: i64,
9708    pub sample_count: u32,
9709    pub width: u32,
9710    pub height: u32,
9711    pub face_count: u32,
9712    pub array_size: u32,
9713    pub mip_count: u32,
9714}
9715impl SwapchainCreateInfo {
9716    pub const TYPE: StructureType = StructureType::SWAPCHAIN_CREATE_INFO;
9717}
9718#[repr(C)]
9719#[derive(Copy, Clone, Debug)]
9720#[doc = "See [XrSwapchainImageBaseHeader](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageBaseHeader)"]
9721pub struct SwapchainImageBaseHeader {
9722    pub ty: StructureType,
9723    pub next: *mut c_void,
9724}
9725#[repr(C)]
9726#[derive(Copy, Clone, Debug)]
9727#[doc = "See [XrSwapchainImageOpenGLKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageOpenGLKHR) - defined by [XR_KHR_opengl_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_enable)"]
9728pub struct SwapchainImageOpenGLKHR {
9729    pub ty: StructureType,
9730    pub next: *mut c_void,
9731    pub image: u32,
9732}
9733impl SwapchainImageOpenGLKHR {
9734    pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_OPENGL_KHR;
9735    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
9736    #[inline]
9737    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
9738        let mut x = MaybeUninit::<Self>::uninit();
9739        unsafe {
9740            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
9741                ty: Self::TYPE,
9742                next,
9743            });
9744        }
9745        x
9746    }
9747}
9748#[repr(C)]
9749#[derive(Copy, Clone, Debug)]
9750#[doc = "See [XrSwapchainImageOpenGLESKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageOpenGLESKHR) - defined by [XR_KHR_opengl_es_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_es_enable)"]
9751pub struct SwapchainImageOpenGLESKHR {
9752    pub ty: StructureType,
9753    pub next: *mut c_void,
9754    pub image: u32,
9755}
9756impl SwapchainImageOpenGLESKHR {
9757    pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_OPENGL_ES_KHR;
9758    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
9759    #[inline]
9760    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
9761        let mut x = MaybeUninit::<Self>::uninit();
9762        unsafe {
9763            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
9764                ty: Self::TYPE,
9765                next,
9766            });
9767        }
9768        x
9769    }
9770}
9771#[repr(C)]
9772#[derive(Copy, Clone, Debug)]
9773#[doc = "See [XrSwapchainImageVulkanKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageVulkanKHR) - defined by [XR_KHR_vulkan_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable)"]
9774pub struct SwapchainImageVulkanKHR {
9775    pub ty: StructureType,
9776    pub next: *mut c_void,
9777    pub image: VkImage,
9778}
9779impl SwapchainImageVulkanKHR {
9780    pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_VULKAN_KHR;
9781    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
9782    #[inline]
9783    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
9784        let mut x = MaybeUninit::<Self>::uninit();
9785        unsafe {
9786            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
9787                ty: Self::TYPE,
9788                next,
9789            });
9790        }
9791        x
9792    }
9793}
9794pub type SwapchainImageVulkan2KHR = SwapchainImageVulkanKHR;
9795#[repr(C)]
9796#[derive(Copy, Clone, Debug)]
9797#[doc = "See [XrSwapchainImageD3D11KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageD3D11KHR) - defined by [XR_KHR_D3D11_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_D3D11_enable)"]
9798#[cfg(windows)]
9799pub struct SwapchainImageD3D11KHR {
9800    pub ty: StructureType,
9801    pub next: *mut c_void,
9802    pub texture: *mut ID3D11Texture2D,
9803}
9804#[cfg(windows)]
9805impl SwapchainImageD3D11KHR {
9806    pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_D3D11_KHR;
9807    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
9808    #[inline]
9809    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
9810        let mut x = MaybeUninit::<Self>::uninit();
9811        unsafe {
9812            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
9813                ty: Self::TYPE,
9814                next,
9815            });
9816        }
9817        x
9818    }
9819}
9820#[repr(C)]
9821#[derive(Copy, Clone, Debug)]
9822#[doc = "See [XrSwapchainImageD3D12KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageD3D12KHR) - defined by [XR_KHR_D3D12_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_D3D12_enable)"]
9823#[cfg(windows)]
9824pub struct SwapchainImageD3D12KHR {
9825    pub ty: StructureType,
9826    pub next: *mut c_void,
9827    pub texture: *mut ID3D12Resource,
9828}
9829#[cfg(windows)]
9830impl SwapchainImageD3D12KHR {
9831    pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_D3D12_KHR;
9832    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
9833    #[inline]
9834    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
9835        let mut x = MaybeUninit::<Self>::uninit();
9836        unsafe {
9837            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
9838                ty: Self::TYPE,
9839                next,
9840            });
9841        }
9842        x
9843    }
9844}
9845#[repr(C)]
9846#[derive(Copy, Clone, Debug)]
9847#[doc = "See [XrSwapchainImageMetalKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageMetalKHR) - defined by [XR_KHR_metal_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_metal_enable)"]
9848#[cfg(target_vendor = "apple")]
9849pub struct SwapchainImageMetalKHR {
9850    pub ty: StructureType,
9851    pub next: *mut c_void,
9852    pub texture: *mut c_void,
9853}
9854#[cfg(target_vendor = "apple")]
9855impl SwapchainImageMetalKHR {
9856    pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_METAL_KHR;
9857    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
9858    #[inline]
9859    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
9860        let mut x = MaybeUninit::<Self>::uninit();
9861        unsafe {
9862            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
9863                ty: Self::TYPE,
9864                next,
9865            });
9866        }
9867        x
9868    }
9869}
9870#[repr(C)]
9871#[derive(Copy, Clone, Debug)]
9872#[doc = "See [XrSwapchainImageAcquireInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageAcquireInfo)"]
9873pub struct SwapchainImageAcquireInfo {
9874    pub ty: StructureType,
9875    pub next: *const c_void,
9876}
9877impl SwapchainImageAcquireInfo {
9878    pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_ACQUIRE_INFO;
9879}
9880#[repr(C)]
9881#[derive(Copy, Clone, Debug)]
9882#[doc = "See [XrSwapchainImageWaitInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageWaitInfo)"]
9883pub struct SwapchainImageWaitInfo {
9884    pub ty: StructureType,
9885    pub next: *const c_void,
9886    pub timeout: Duration,
9887}
9888impl SwapchainImageWaitInfo {
9889    pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_WAIT_INFO;
9890}
9891#[repr(C)]
9892#[derive(Copy, Clone, Debug)]
9893#[doc = "See [XrSwapchainImageReleaseInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageReleaseInfo)"]
9894pub struct SwapchainImageReleaseInfo {
9895    pub ty: StructureType,
9896    pub next: *const c_void,
9897}
9898impl SwapchainImageReleaseInfo {
9899    pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_RELEASE_INFO;
9900}
9901#[repr(C)]
9902#[derive(Copy, Clone, Debug)]
9903#[doc = "See [XrReferenceSpaceCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrReferenceSpaceCreateInfo)"]
9904pub struct ReferenceSpaceCreateInfo {
9905    pub ty: StructureType,
9906    pub next: *const c_void,
9907    pub reference_space_type: ReferenceSpaceType,
9908    pub pose_in_reference_space: Posef,
9909}
9910impl ReferenceSpaceCreateInfo {
9911    pub const TYPE: StructureType = StructureType::REFERENCE_SPACE_CREATE_INFO;
9912}
9913#[repr(C)]
9914#[derive(Copy, Clone, Debug)]
9915#[doc = "See [XrActionSpaceCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionSpaceCreateInfo)"]
9916pub struct ActionSpaceCreateInfo {
9917    pub ty: StructureType,
9918    pub next: *const c_void,
9919    pub action: Action,
9920    pub subaction_path: Path,
9921    pub pose_in_action_space: Posef,
9922}
9923impl ActionSpaceCreateInfo {
9924    pub const TYPE: StructureType = StructureType::ACTION_SPACE_CREATE_INFO;
9925}
9926#[repr(C)]
9927#[derive(Copy, Clone, Debug)]
9928#[doc = "See [XrSpaceLocation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceLocation)"]
9929pub struct SpaceLocation {
9930    pub ty: StructureType,
9931    pub next: *mut c_void,
9932    pub location_flags: SpaceLocationFlags,
9933    pub pose: Posef,
9934}
9935impl SpaceLocation {
9936    pub const TYPE: StructureType = StructureType::SPACE_LOCATION;
9937    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
9938    #[inline]
9939    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
9940        let mut x = MaybeUninit::<Self>::uninit();
9941        unsafe {
9942            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
9943                ty: Self::TYPE,
9944                next,
9945            });
9946        }
9947        x
9948    }
9949}
9950#[repr(C)]
9951#[derive(Copy, Clone, Debug)]
9952#[doc = "See [XrSpaceVelocity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceVelocity)"]
9953pub struct SpaceVelocity {
9954    pub ty: StructureType,
9955    pub next: *mut c_void,
9956    pub velocity_flags: SpaceVelocityFlags,
9957    pub linear_velocity: Vector3f,
9958    pub angular_velocity: Vector3f,
9959}
9960impl SpaceVelocity {
9961    pub const TYPE: StructureType = StructureType::SPACE_VELOCITY;
9962    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
9963    #[inline]
9964    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
9965        let mut x = MaybeUninit::<Self>::uninit();
9966        unsafe {
9967            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
9968                ty: Self::TYPE,
9969                next,
9970            });
9971        }
9972        x
9973    }
9974}
9975#[repr(C)]
9976#[derive(Copy, Clone, Debug, Default, PartialEq)]
9977#[doc = "See [XrFovf](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFovf)"]
9978pub struct Fovf {
9979    pub angle_left: f32,
9980    pub angle_right: f32,
9981    pub angle_up: f32,
9982    pub angle_down: f32,
9983}
9984#[repr(C)]
9985#[derive(Copy, Clone, Debug)]
9986#[doc = "See [XrView](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrView)"]
9987pub struct View {
9988    pub ty: StructureType,
9989    pub next: *mut c_void,
9990    pub pose: Posef,
9991    pub fov: Fovf,
9992}
9993impl View {
9994    pub const TYPE: StructureType = StructureType::VIEW;
9995    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
9996    #[inline]
9997    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
9998        let mut x = MaybeUninit::<Self>::uninit();
9999        unsafe {
10000            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10001                ty: Self::TYPE,
10002                next,
10003            });
10004        }
10005        x
10006    }
10007}
10008#[repr(C)]
10009#[derive(Copy, Clone, Debug)]
10010#[doc = "See [XrViewLocateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewLocateInfo)"]
10011pub struct ViewLocateInfo {
10012    pub ty: StructureType,
10013    pub next: *const c_void,
10014    pub view_configuration_type: ViewConfigurationType,
10015    pub display_time: Time,
10016    pub space: Space,
10017}
10018impl ViewLocateInfo {
10019    pub const TYPE: StructureType = StructureType::VIEW_LOCATE_INFO;
10020}
10021#[repr(C)]
10022#[derive(Copy, Clone, Debug)]
10023#[doc = "See [XrViewState](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewState)"]
10024pub struct ViewState {
10025    pub ty: StructureType,
10026    pub next: *mut c_void,
10027    pub view_state_flags: ViewStateFlags,
10028}
10029impl ViewState {
10030    pub const TYPE: StructureType = StructureType::VIEW_STATE;
10031    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10032    #[inline]
10033    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10034        let mut x = MaybeUninit::<Self>::uninit();
10035        unsafe {
10036            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10037                ty: Self::TYPE,
10038                next,
10039            });
10040        }
10041        x
10042    }
10043}
10044#[repr(C)]
10045#[derive(Copy, Clone, Debug)]
10046#[doc = "See [XrViewConfigurationView](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewConfigurationView)"]
10047pub struct ViewConfigurationView {
10048    pub ty: StructureType,
10049    pub next: *mut c_void,
10050    pub recommended_image_rect_width: u32,
10051    pub max_image_rect_width: u32,
10052    pub recommended_image_rect_height: u32,
10053    pub max_image_rect_height: u32,
10054    pub recommended_swapchain_sample_count: u32,
10055    pub max_swapchain_sample_count: u32,
10056}
10057impl ViewConfigurationView {
10058    pub const TYPE: StructureType = StructureType::VIEW_CONFIGURATION_VIEW;
10059    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10060    #[inline]
10061    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10062        let mut x = MaybeUninit::<Self>::uninit();
10063        unsafe {
10064            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10065                ty: Self::TYPE,
10066                next,
10067            });
10068        }
10069        x
10070    }
10071}
10072#[repr(C)]
10073#[derive(Copy, Clone, Debug)]
10074#[doc = "See [XrSwapchainSubImage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainSubImage)"]
10075pub struct SwapchainSubImage {
10076    pub swapchain: Swapchain,
10077    pub image_rect: Rect2Di,
10078    pub image_array_index: u32,
10079}
10080#[repr(C)]
10081#[derive(Copy, Clone, Debug)]
10082#[doc = "See [XrCompositionLayerBaseHeader](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerBaseHeader)"]
10083pub struct CompositionLayerBaseHeader {
10084    pub ty: StructureType,
10085    pub next: *const c_void,
10086    pub layer_flags: CompositionLayerFlags,
10087    pub space: Space,
10088}
10089#[repr(C)]
10090#[derive(Copy, Clone, Debug)]
10091#[doc = "See [XrCompositionLayerProjectionView](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerProjectionView)"]
10092pub struct CompositionLayerProjectionView {
10093    pub ty: StructureType,
10094    pub next: *const c_void,
10095    pub pose: Posef,
10096    pub fov: Fovf,
10097    pub sub_image: SwapchainSubImage,
10098}
10099impl CompositionLayerProjectionView {
10100    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_PROJECTION_VIEW;
10101}
10102#[repr(C)]
10103#[derive(Copy, Clone, Debug)]
10104#[doc = "See [XrCompositionLayerProjection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerProjection)"]
10105pub struct CompositionLayerProjection {
10106    pub ty: StructureType,
10107    pub next: *const c_void,
10108    pub layer_flags: CompositionLayerFlags,
10109    pub space: Space,
10110    pub view_count: u32,
10111    pub views: *const CompositionLayerProjectionView,
10112}
10113impl CompositionLayerProjection {
10114    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_PROJECTION;
10115}
10116#[repr(C)]
10117#[derive(Copy, Clone, Debug)]
10118#[doc = "See [XrCompositionLayerQuad](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerQuad)"]
10119pub struct CompositionLayerQuad {
10120    pub ty: StructureType,
10121    pub next: *const c_void,
10122    pub layer_flags: CompositionLayerFlags,
10123    pub space: Space,
10124    pub eye_visibility: EyeVisibility,
10125    pub sub_image: SwapchainSubImage,
10126    pub pose: Posef,
10127    pub size: Extent2Df,
10128}
10129impl CompositionLayerQuad {
10130    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_QUAD;
10131}
10132#[repr(C)]
10133#[derive(Copy, Clone, Debug)]
10134#[doc = "See [XrCompositionLayerCylinderKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerCylinderKHR) - defined by [XR_KHR_composition_layer_cylinder](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_composition_layer_cylinder)"]
10135pub struct CompositionLayerCylinderKHR {
10136    pub ty: StructureType,
10137    pub next: *const c_void,
10138    pub layer_flags: CompositionLayerFlags,
10139    pub space: Space,
10140    pub eye_visibility: EyeVisibility,
10141    pub sub_image: SwapchainSubImage,
10142    pub pose: Posef,
10143    pub radius: f32,
10144    pub central_angle: f32,
10145    pub aspect_ratio: f32,
10146}
10147impl CompositionLayerCylinderKHR {
10148    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_CYLINDER_KHR;
10149}
10150#[repr(C)]
10151#[derive(Copy, Clone, Debug)]
10152#[doc = "See [XrCompositionLayerCubeKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerCubeKHR) - defined by [XR_KHR_composition_layer_cube](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_composition_layer_cube)"]
10153pub struct CompositionLayerCubeKHR {
10154    pub ty: StructureType,
10155    pub next: *const c_void,
10156    pub layer_flags: CompositionLayerFlags,
10157    pub space: Space,
10158    pub eye_visibility: EyeVisibility,
10159    pub swapchain: Swapchain,
10160    pub image_array_index: u32,
10161    pub orientation: Quaternionf,
10162}
10163impl CompositionLayerCubeKHR {
10164    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_CUBE_KHR;
10165}
10166#[repr(C)]
10167#[derive(Copy, Clone, Debug)]
10168#[doc = "See [XrCompositionLayerEquirectKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerEquirectKHR) - defined by [XR_KHR_composition_layer_equirect](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_composition_layer_equirect)"]
10169pub struct CompositionLayerEquirectKHR {
10170    pub ty: StructureType,
10171    pub next: *const c_void,
10172    pub layer_flags: CompositionLayerFlags,
10173    pub space: Space,
10174    pub eye_visibility: EyeVisibility,
10175    pub sub_image: SwapchainSubImage,
10176    pub pose: Posef,
10177    pub radius: f32,
10178    pub scale: Vector2f,
10179    pub bias: Vector2f,
10180}
10181impl CompositionLayerEquirectKHR {
10182    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_EQUIRECT_KHR;
10183}
10184#[repr(C)]
10185#[derive(Copy, Clone, Debug)]
10186#[doc = "See [XrCompositionLayerDepthInfoKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerDepthInfoKHR) - defined by [XR_KHR_composition_layer_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_composition_layer_depth)"]
10187pub struct CompositionLayerDepthInfoKHR {
10188    pub ty: StructureType,
10189    pub next: *const c_void,
10190    pub sub_image: SwapchainSubImage,
10191    pub min_depth: f32,
10192    pub max_depth: f32,
10193    pub near_z: f32,
10194    pub far_z: f32,
10195}
10196impl CompositionLayerDepthInfoKHR {
10197    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_DEPTH_INFO_KHR;
10198}
10199#[repr(C)]
10200#[derive(Copy, Clone, Debug)]
10201#[doc = "See [XrFrameBeginInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameBeginInfo)"]
10202pub struct FrameBeginInfo {
10203    pub ty: StructureType,
10204    pub next: *const c_void,
10205}
10206impl FrameBeginInfo {
10207    pub const TYPE: StructureType = StructureType::FRAME_BEGIN_INFO;
10208}
10209#[repr(C)]
10210#[derive(Copy, Clone, Debug)]
10211#[doc = "See [XrFrameEndInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameEndInfo)"]
10212pub struct FrameEndInfo {
10213    pub ty: StructureType,
10214    pub next: *const c_void,
10215    pub display_time: Time,
10216    pub environment_blend_mode: EnvironmentBlendMode,
10217    pub layer_count: u32,
10218    pub layers: *const *const CompositionLayerBaseHeader,
10219}
10220impl FrameEndInfo {
10221    pub const TYPE: StructureType = StructureType::FRAME_END_INFO;
10222}
10223#[repr(C)]
10224#[derive(Copy, Clone, Debug)]
10225#[doc = "See [XrFrameWaitInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameWaitInfo)"]
10226pub struct FrameWaitInfo {
10227    pub ty: StructureType,
10228    pub next: *const c_void,
10229}
10230impl FrameWaitInfo {
10231    pub const TYPE: StructureType = StructureType::FRAME_WAIT_INFO;
10232}
10233#[repr(C)]
10234#[derive(Copy, Clone, Debug)]
10235#[doc = "See [XrFrameState](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameState)"]
10236pub struct FrameState {
10237    pub ty: StructureType,
10238    pub next: *mut c_void,
10239    pub predicted_display_time: Time,
10240    pub predicted_display_period: Duration,
10241    pub should_render: Bool32,
10242}
10243impl FrameState {
10244    pub const TYPE: StructureType = StructureType::FRAME_STATE;
10245    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10246    #[inline]
10247    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10248        let mut x = MaybeUninit::<Self>::uninit();
10249        unsafe {
10250            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10251                ty: Self::TYPE,
10252                next,
10253            });
10254        }
10255        x
10256    }
10257}
10258#[repr(C)]
10259#[derive(Copy, Clone, Debug)]
10260#[doc = "See [XrHapticBaseHeader](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHapticBaseHeader)"]
10261pub struct HapticBaseHeader {
10262    pub ty: StructureType,
10263    pub next: *const c_void,
10264}
10265#[repr(C)]
10266#[derive(Copy, Clone, Debug)]
10267#[doc = "See [XrHapticVibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHapticVibration)"]
10268pub struct HapticVibration {
10269    pub ty: StructureType,
10270    pub next: *const c_void,
10271    pub duration: Duration,
10272    pub frequency: f32,
10273    pub amplitude: f32,
10274}
10275impl HapticVibration {
10276    pub const TYPE: StructureType = StructureType::HAPTIC_VIBRATION;
10277}
10278#[repr(C)]
10279#[derive(Copy, Clone, Debug)]
10280#[doc = "See [XrEventDataBaseHeader](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataBaseHeader)"]
10281pub struct EventDataBaseHeader {
10282    pub ty: StructureType,
10283    pub next: *const c_void,
10284}
10285#[repr(C)]
10286#[derive(Copy, Clone, Debug)]
10287#[doc = "See [XrEventDataBuffer](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataBuffer)"]
10288pub struct EventDataBuffer {
10289    pub ty: StructureType,
10290    pub next: *const c_void,
10291    pub varying: [u8; 4000usize],
10292}
10293impl EventDataBuffer {
10294    pub const TYPE: StructureType = StructureType::EVENT_DATA_BUFFER;
10295}
10296#[repr(C)]
10297#[derive(Copy, Clone, Debug)]
10298#[doc = "See [XrEventDataEventsLost](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataEventsLost)"]
10299pub struct EventDataEventsLost {
10300    pub ty: StructureType,
10301    pub next: *const c_void,
10302    pub lost_event_count: u32,
10303}
10304impl EventDataEventsLost {
10305    pub const TYPE: StructureType = StructureType::EVENT_DATA_EVENTS_LOST;
10306}
10307#[repr(C)]
10308#[derive(Copy, Clone, Debug)]
10309#[doc = "See [XrEventDataInstanceLossPending](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataInstanceLossPending)"]
10310pub struct EventDataInstanceLossPending {
10311    pub ty: StructureType,
10312    pub next: *const c_void,
10313    pub loss_time: Time,
10314}
10315impl EventDataInstanceLossPending {
10316    pub const TYPE: StructureType = StructureType::EVENT_DATA_INSTANCE_LOSS_PENDING;
10317}
10318#[repr(C)]
10319#[derive(Copy, Clone, Debug)]
10320#[doc = "See [XrEventDataSessionStateChanged](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSessionStateChanged)"]
10321pub struct EventDataSessionStateChanged {
10322    pub ty: StructureType,
10323    pub next: *const c_void,
10324    pub session: Session,
10325    pub state: SessionState,
10326    pub time: Time,
10327}
10328impl EventDataSessionStateChanged {
10329    pub const TYPE: StructureType = StructureType::EVENT_DATA_SESSION_STATE_CHANGED;
10330}
10331#[repr(C)]
10332#[derive(Copy, Clone, Debug)]
10333#[doc = "See [XrEventDataReferenceSpaceChangePending](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataReferenceSpaceChangePending)"]
10334pub struct EventDataReferenceSpaceChangePending {
10335    pub ty: StructureType,
10336    pub next: *const c_void,
10337    pub session: Session,
10338    pub reference_space_type: ReferenceSpaceType,
10339    pub change_time: Time,
10340    pub pose_valid: Bool32,
10341    pub pose_in_previous_space: Posef,
10342}
10343impl EventDataReferenceSpaceChangePending {
10344    pub const TYPE: StructureType = StructureType::EVENT_DATA_REFERENCE_SPACE_CHANGE_PENDING;
10345}
10346#[repr(C)]
10347#[derive(Copy, Clone, Debug)]
10348#[doc = "See [XrEventDataPerfSettingsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataPerfSettingsEXT) - defined by [XR_EXT_performance_settings](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_performance_settings)"]
10349pub struct EventDataPerfSettingsEXT {
10350    pub ty: StructureType,
10351    pub next: *const c_void,
10352    pub domain: PerfSettingsDomainEXT,
10353    pub sub_domain: PerfSettingsSubDomainEXT,
10354    pub from_level: PerfSettingsNotificationLevelEXT,
10355    pub to_level: PerfSettingsNotificationLevelEXT,
10356}
10357impl EventDataPerfSettingsEXT {
10358    pub const TYPE: StructureType = StructureType::EVENT_DATA_PERF_SETTINGS_EXT;
10359}
10360#[repr(C)]
10361#[derive(Copy, Clone, Debug)]
10362#[doc = "See [XrEventDataVisibilityMaskChangedKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataVisibilityMaskChangedKHR) - defined by [XR_KHR_visibility_mask](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_visibility_mask)"]
10363pub struct EventDataVisibilityMaskChangedKHR {
10364    pub ty: StructureType,
10365    pub next: *const c_void,
10366    pub session: Session,
10367    pub view_configuration_type: ViewConfigurationType,
10368    pub view_index: u32,
10369}
10370impl EventDataVisibilityMaskChangedKHR {
10371    pub const TYPE: StructureType = StructureType::EVENT_DATA_VISIBILITY_MASK_CHANGED_KHR;
10372}
10373#[repr(C)]
10374#[derive(Copy, Clone, Debug)]
10375#[doc = "See [XrViewConfigurationProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewConfigurationProperties)"]
10376pub struct ViewConfigurationProperties {
10377    pub ty: StructureType,
10378    pub next: *mut c_void,
10379    pub view_configuration_type: ViewConfigurationType,
10380    pub fov_mutable: Bool32,
10381}
10382impl ViewConfigurationProperties {
10383    pub const TYPE: StructureType = StructureType::VIEW_CONFIGURATION_PROPERTIES;
10384    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10385    #[inline]
10386    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10387        let mut x = MaybeUninit::<Self>::uninit();
10388        unsafe {
10389            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10390                ty: Self::TYPE,
10391                next,
10392            });
10393        }
10394        x
10395    }
10396}
10397#[repr(C)]
10398#[derive(Copy, Clone, Debug)]
10399#[doc = "See [XrActionStateBoolean](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionStateBoolean)"]
10400pub struct ActionStateBoolean {
10401    pub ty: StructureType,
10402    pub next: *mut c_void,
10403    pub current_state: Bool32,
10404    pub changed_since_last_sync: Bool32,
10405    pub last_change_time: Time,
10406    pub is_active: Bool32,
10407}
10408impl ActionStateBoolean {
10409    pub const TYPE: StructureType = StructureType::ACTION_STATE_BOOLEAN;
10410    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10411    #[inline]
10412    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10413        let mut x = MaybeUninit::<Self>::uninit();
10414        unsafe {
10415            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10416                ty: Self::TYPE,
10417                next,
10418            });
10419        }
10420        x
10421    }
10422}
10423#[repr(C)]
10424#[derive(Copy, Clone, Debug)]
10425#[doc = "See [XrActionStateFloat](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionStateFloat)"]
10426pub struct ActionStateFloat {
10427    pub ty: StructureType,
10428    pub next: *mut c_void,
10429    pub current_state: f32,
10430    pub changed_since_last_sync: Bool32,
10431    pub last_change_time: Time,
10432    pub is_active: Bool32,
10433}
10434impl ActionStateFloat {
10435    pub const TYPE: StructureType = StructureType::ACTION_STATE_FLOAT;
10436    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10437    #[inline]
10438    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10439        let mut x = MaybeUninit::<Self>::uninit();
10440        unsafe {
10441            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10442                ty: Self::TYPE,
10443                next,
10444            });
10445        }
10446        x
10447    }
10448}
10449#[repr(C)]
10450#[derive(Copy, Clone, Debug)]
10451#[doc = "See [XrActionStateVector2f](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionStateVector2f)"]
10452pub struct ActionStateVector2f {
10453    pub ty: StructureType,
10454    pub next: *mut c_void,
10455    pub current_state: Vector2f,
10456    pub changed_since_last_sync: Bool32,
10457    pub last_change_time: Time,
10458    pub is_active: Bool32,
10459}
10460impl ActionStateVector2f {
10461    pub const TYPE: StructureType = StructureType::ACTION_STATE_VECTOR2F;
10462    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10463    #[inline]
10464    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10465        let mut x = MaybeUninit::<Self>::uninit();
10466        unsafe {
10467            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10468                ty: Self::TYPE,
10469                next,
10470            });
10471        }
10472        x
10473    }
10474}
10475#[repr(C)]
10476#[derive(Copy, Clone, Debug)]
10477#[doc = "See [XrActionStatePose](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionStatePose)"]
10478pub struct ActionStatePose {
10479    pub ty: StructureType,
10480    pub next: *mut c_void,
10481    pub is_active: Bool32,
10482}
10483impl ActionStatePose {
10484    pub const TYPE: StructureType = StructureType::ACTION_STATE_POSE;
10485    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10486    #[inline]
10487    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10488        let mut x = MaybeUninit::<Self>::uninit();
10489        unsafe {
10490            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10491                ty: Self::TYPE,
10492                next,
10493            });
10494        }
10495        x
10496    }
10497}
10498#[repr(C)]
10499#[derive(Copy, Clone, Debug)]
10500#[doc = "See [XrActionStateGetInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionStateGetInfo)"]
10501pub struct ActionStateGetInfo {
10502    pub ty: StructureType,
10503    pub next: *const c_void,
10504    pub action: Action,
10505    pub subaction_path: Path,
10506}
10507impl ActionStateGetInfo {
10508    pub const TYPE: StructureType = StructureType::ACTION_STATE_GET_INFO;
10509}
10510#[repr(C)]
10511#[derive(Copy, Clone, Debug)]
10512#[doc = "See [XrHapticActionInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHapticActionInfo)"]
10513pub struct HapticActionInfo {
10514    pub ty: StructureType,
10515    pub next: *const c_void,
10516    pub action: Action,
10517    pub subaction_path: Path,
10518}
10519impl HapticActionInfo {
10520    pub const TYPE: StructureType = StructureType::HAPTIC_ACTION_INFO;
10521}
10522#[repr(C)]
10523#[derive(Copy, Clone, Debug)]
10524#[doc = "See [XrActionSetCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionSetCreateInfo)"]
10525pub struct ActionSetCreateInfo {
10526    pub ty: StructureType,
10527    pub next: *const c_void,
10528    pub action_set_name: [c_char; MAX_ACTION_SET_NAME_SIZE],
10529    pub localized_action_set_name: [c_char; MAX_LOCALIZED_ACTION_SET_NAME_SIZE],
10530    pub priority: u32,
10531}
10532impl ActionSetCreateInfo {
10533    pub const TYPE: StructureType = StructureType::ACTION_SET_CREATE_INFO;
10534}
10535#[repr(C)]
10536#[derive(Copy, Clone, Debug)]
10537#[doc = "See [XrActionSuggestedBinding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionSuggestedBinding)"]
10538pub struct ActionSuggestedBinding {
10539    pub action: Action,
10540    pub binding: Path,
10541}
10542#[repr(C)]
10543#[derive(Copy, Clone, Debug)]
10544#[doc = "See [XrInteractionProfileSuggestedBinding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInteractionProfileSuggestedBinding)"]
10545pub struct InteractionProfileSuggestedBinding {
10546    pub ty: StructureType,
10547    pub next: *const c_void,
10548    pub interaction_profile: Path,
10549    pub count_suggested_bindings: u32,
10550    pub suggested_bindings: *const ActionSuggestedBinding,
10551}
10552impl InteractionProfileSuggestedBinding {
10553    pub const TYPE: StructureType = StructureType::INTERACTION_PROFILE_SUGGESTED_BINDING;
10554}
10555#[repr(C)]
10556#[derive(Copy, Clone, Debug)]
10557#[doc = "See [XrActiveActionSet](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActiveActionSet)"]
10558pub struct ActiveActionSet {
10559    pub action_set: ActionSet,
10560    pub subaction_path: Path,
10561}
10562#[repr(C)]
10563#[derive(Copy, Clone, Debug)]
10564#[doc = "See [XrSessionActionSetsAttachInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSessionActionSetsAttachInfo)"]
10565pub struct SessionActionSetsAttachInfo {
10566    pub ty: StructureType,
10567    pub next: *const c_void,
10568    pub count_action_sets: u32,
10569    pub action_sets: *const ActionSet,
10570}
10571impl SessionActionSetsAttachInfo {
10572    pub const TYPE: StructureType = StructureType::SESSION_ACTION_SETS_ATTACH_INFO;
10573}
10574#[repr(C)]
10575#[derive(Copy, Clone, Debug)]
10576#[doc = "See [XrActionsSyncInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionsSyncInfo)"]
10577pub struct ActionsSyncInfo {
10578    pub ty: StructureType,
10579    pub next: *const c_void,
10580    pub count_active_action_sets: u32,
10581    pub active_action_sets: *const ActiveActionSet,
10582}
10583impl ActionsSyncInfo {
10584    pub const TYPE: StructureType = StructureType::ACTIONS_SYNC_INFO;
10585}
10586#[repr(C)]
10587#[derive(Copy, Clone, Debug)]
10588#[doc = "See [XrBoundSourcesForActionEnumerateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBoundSourcesForActionEnumerateInfo)"]
10589pub struct BoundSourcesForActionEnumerateInfo {
10590    pub ty: StructureType,
10591    pub next: *const c_void,
10592    pub action: Action,
10593}
10594impl BoundSourcesForActionEnumerateInfo {
10595    pub const TYPE: StructureType = StructureType::BOUND_SOURCES_FOR_ACTION_ENUMERATE_INFO;
10596}
10597#[repr(C)]
10598#[derive(Copy, Clone, Debug)]
10599#[doc = "See [XrInputSourceLocalizedNameGetInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInputSourceLocalizedNameGetInfo)"]
10600pub struct InputSourceLocalizedNameGetInfo {
10601    pub ty: StructureType,
10602    pub next: *const c_void,
10603    pub source_path: Path,
10604    pub which_components: InputSourceLocalizedNameFlags,
10605}
10606impl InputSourceLocalizedNameGetInfo {
10607    pub const TYPE: StructureType = StructureType::INPUT_SOURCE_LOCALIZED_NAME_GET_INFO;
10608}
10609#[repr(C)]
10610#[derive(Copy, Clone, Debug)]
10611#[doc = "See [XrEventDataInteractionProfileChanged](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataInteractionProfileChanged)"]
10612pub struct EventDataInteractionProfileChanged {
10613    pub ty: StructureType,
10614    pub next: *const c_void,
10615    pub session: Session,
10616}
10617impl EventDataInteractionProfileChanged {
10618    pub const TYPE: StructureType = StructureType::EVENT_DATA_INTERACTION_PROFILE_CHANGED;
10619}
10620#[repr(C)]
10621#[derive(Copy, Clone, Debug)]
10622#[doc = "See [XrInteractionProfileState](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInteractionProfileState)"]
10623pub struct InteractionProfileState {
10624    pub ty: StructureType,
10625    pub next: *mut c_void,
10626    pub interaction_profile: Path,
10627}
10628impl InteractionProfileState {
10629    pub const TYPE: StructureType = StructureType::INTERACTION_PROFILE_STATE;
10630    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10631    #[inline]
10632    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10633        let mut x = MaybeUninit::<Self>::uninit();
10634        unsafe {
10635            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10636                ty: Self::TYPE,
10637                next,
10638            });
10639        }
10640        x
10641    }
10642}
10643#[repr(C)]
10644#[derive(Copy, Clone, Debug)]
10645#[doc = "See [XrActionCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionCreateInfo)"]
10646pub struct ActionCreateInfo {
10647    pub ty: StructureType,
10648    pub next: *const c_void,
10649    pub action_name: [c_char; MAX_ACTION_NAME_SIZE],
10650    pub action_type: ActionType,
10651    pub count_subaction_paths: u32,
10652    pub subaction_paths: *const Path,
10653    pub localized_action_name: [c_char; MAX_LOCALIZED_ACTION_NAME_SIZE],
10654}
10655impl ActionCreateInfo {
10656    pub const TYPE: StructureType = StructureType::ACTION_CREATE_INFO;
10657}
10658#[repr(C)]
10659#[derive(Copy, Clone, Debug)]
10660#[doc = "See [XrInstanceCreateInfoAndroidKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInstanceCreateInfoAndroidKHR) - defined by [XR_KHR_android_create_instance](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_android_create_instance)"]
10661#[cfg(target_os = "android")]
10662pub struct InstanceCreateInfoAndroidKHR {
10663    pub ty: StructureType,
10664    pub next: *const c_void,
10665    pub application_vm: *mut c_void,
10666    pub application_activity: *mut c_void,
10667}
10668#[cfg(target_os = "android")]
10669impl InstanceCreateInfoAndroidKHR {
10670    pub const TYPE: StructureType = StructureType::INSTANCE_CREATE_INFO_ANDROID_KHR;
10671}
10672#[repr(C)]
10673#[derive(Copy, Clone, Debug)]
10674#[doc = "See [XrVulkanSwapchainFormatListCreateInfoKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVulkanSwapchainFormatListCreateInfoKHR) - defined by [XR_KHR_vulkan_swapchain_format_list](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_swapchain_format_list)"]
10675pub struct VulkanSwapchainFormatListCreateInfoKHR {
10676    pub ty: StructureType,
10677    pub next: *const c_void,
10678    pub view_format_count: u32,
10679    pub view_formats: *const VkFormat,
10680}
10681impl VulkanSwapchainFormatListCreateInfoKHR {
10682    pub const TYPE: StructureType = StructureType::VULKAN_SWAPCHAIN_FORMAT_LIST_CREATE_INFO_KHR;
10683}
10684#[repr(C)]
10685#[derive(Copy, Clone, Debug)]
10686#[doc = "See [XrDebugUtilsObjectNameInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDebugUtilsObjectNameInfoEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
10687pub struct DebugUtilsObjectNameInfoEXT {
10688    pub ty: StructureType,
10689    pub next: *const c_void,
10690    pub object_type: ObjectType,
10691    pub object_handle: u64,
10692    pub object_name: *const c_char,
10693}
10694impl DebugUtilsObjectNameInfoEXT {
10695    pub const TYPE: StructureType = StructureType::DEBUG_UTILS_OBJECT_NAME_INFO_EXT;
10696}
10697#[repr(C)]
10698#[derive(Copy, Clone, Debug)]
10699#[doc = "See [XrDebugUtilsLabelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDebugUtilsLabelEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
10700pub struct DebugUtilsLabelEXT {
10701    pub ty: StructureType,
10702    pub next: *const c_void,
10703    pub label_name: *const c_char,
10704}
10705impl DebugUtilsLabelEXT {
10706    pub const TYPE: StructureType = StructureType::DEBUG_UTILS_LABEL_EXT;
10707}
10708#[repr(C)]
10709#[derive(Copy, Clone, Debug)]
10710#[doc = "See [XrDebugUtilsMessengerCallbackDataEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDebugUtilsMessengerCallbackDataEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
10711pub struct DebugUtilsMessengerCallbackDataEXT {
10712    pub ty: StructureType,
10713    pub next: *const c_void,
10714    pub message_id: *const c_char,
10715    pub function_name: *const c_char,
10716    pub message: *const c_char,
10717    pub object_count: u32,
10718    pub objects: *mut DebugUtilsObjectNameInfoEXT,
10719    pub session_label_count: u32,
10720    pub session_labels: *mut DebugUtilsLabelEXT,
10721}
10722impl DebugUtilsMessengerCallbackDataEXT {
10723    pub const TYPE: StructureType = StructureType::DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT;
10724}
10725#[repr(C)]
10726#[derive(Copy, Clone)]
10727#[doc = "See [XrDebugUtilsMessengerCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDebugUtilsMessengerCreateInfoEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
10728pub struct DebugUtilsMessengerCreateInfoEXT {
10729    pub ty: StructureType,
10730    pub next: *const c_void,
10731    pub message_severities: DebugUtilsMessageSeverityFlagsEXT,
10732    pub message_types: DebugUtilsMessageTypeFlagsEXT,
10733    pub user_callback: Option<pfn::DebugUtilsMessengerCallbackEXT>,
10734    pub user_data: *mut c_void,
10735}
10736impl DebugUtilsMessengerCreateInfoEXT {
10737    pub const TYPE: StructureType = StructureType::DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT;
10738}
10739#[repr(C)]
10740#[derive(Copy, Clone, Debug)]
10741#[doc = "See [XrVisibilityMaskKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVisibilityMaskKHR) - defined by [XR_KHR_visibility_mask](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_visibility_mask)"]
10742pub struct VisibilityMaskKHR {
10743    pub ty: StructureType,
10744    pub next: *mut c_void,
10745    pub vertex_capacity_input: u32,
10746    pub vertex_count_output: u32,
10747    pub vertices: *mut Vector2f,
10748    pub index_capacity_input: u32,
10749    pub index_count_output: u32,
10750    pub indices: *mut u32,
10751}
10752impl VisibilityMaskKHR {
10753    pub const TYPE: StructureType = StructureType::VISIBILITY_MASK_KHR;
10754    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10755    #[inline]
10756    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10757        let mut x = MaybeUninit::<Self>::uninit();
10758        unsafe {
10759            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10760                ty: Self::TYPE,
10761                next,
10762            });
10763        }
10764        x
10765    }
10766}
10767#[repr(C)]
10768#[derive(Copy, Clone, Debug)]
10769#[doc = "See [XrGraphicsRequirementsOpenGLKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsRequirementsOpenGLKHR) - defined by [XR_KHR_opengl_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_enable)"]
10770pub struct GraphicsRequirementsOpenGLKHR {
10771    pub ty: StructureType,
10772    pub next: *mut c_void,
10773    pub min_api_version_supported: Version,
10774    pub max_api_version_supported: Version,
10775}
10776impl GraphicsRequirementsOpenGLKHR {
10777    pub const TYPE: StructureType = StructureType::GRAPHICS_REQUIREMENTS_OPENGL_KHR;
10778    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10779    #[inline]
10780    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10781        let mut x = MaybeUninit::<Self>::uninit();
10782        unsafe {
10783            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10784                ty: Self::TYPE,
10785                next,
10786            });
10787        }
10788        x
10789    }
10790}
10791#[repr(C)]
10792#[derive(Copy, Clone, Debug)]
10793#[doc = "See [XrGraphicsRequirementsOpenGLESKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsRequirementsOpenGLESKHR) - defined by [XR_KHR_opengl_es_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_es_enable)"]
10794pub struct GraphicsRequirementsOpenGLESKHR {
10795    pub ty: StructureType,
10796    pub next: *mut c_void,
10797    pub min_api_version_supported: Version,
10798    pub max_api_version_supported: Version,
10799}
10800impl GraphicsRequirementsOpenGLESKHR {
10801    pub const TYPE: StructureType = StructureType::GRAPHICS_REQUIREMENTS_OPENGL_ES_KHR;
10802    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10803    #[inline]
10804    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10805        let mut x = MaybeUninit::<Self>::uninit();
10806        unsafe {
10807            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10808                ty: Self::TYPE,
10809                next,
10810            });
10811        }
10812        x
10813    }
10814}
10815#[repr(C)]
10816#[derive(Copy, Clone, Debug)]
10817#[doc = "See [XrGraphicsRequirementsVulkanKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsRequirementsVulkanKHR) - defined by [XR_KHR_vulkan_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable)"]
10818pub struct GraphicsRequirementsVulkanKHR {
10819    pub ty: StructureType,
10820    pub next: *mut c_void,
10821    pub min_api_version_supported: Version,
10822    pub max_api_version_supported: Version,
10823}
10824impl GraphicsRequirementsVulkanKHR {
10825    pub const TYPE: StructureType = StructureType::GRAPHICS_REQUIREMENTS_VULKAN_KHR;
10826    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10827    #[inline]
10828    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10829        let mut x = MaybeUninit::<Self>::uninit();
10830        unsafe {
10831            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10832                ty: Self::TYPE,
10833                next,
10834            });
10835        }
10836        x
10837    }
10838}
10839pub type GraphicsRequirementsVulkan2KHR = GraphicsRequirementsVulkanKHR;
10840#[repr(C)]
10841#[derive(Copy, Clone)]
10842#[doc = "See [XrGraphicsRequirementsD3D11KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsRequirementsD3D11KHR) - defined by [XR_KHR_D3D11_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_D3D11_enable)"]
10843#[cfg(windows)]
10844pub struct GraphicsRequirementsD3D11KHR {
10845    pub ty: StructureType,
10846    pub next: *mut c_void,
10847    pub adapter_luid: LUID,
10848    pub min_feature_level: D3D_FEATURE_LEVEL,
10849}
10850#[cfg(windows)]
10851impl GraphicsRequirementsD3D11KHR {
10852    pub const TYPE: StructureType = StructureType::GRAPHICS_REQUIREMENTS_D3D11_KHR;
10853    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10854    #[inline]
10855    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10856        let mut x = MaybeUninit::<Self>::uninit();
10857        unsafe {
10858            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10859                ty: Self::TYPE,
10860                next,
10861            });
10862        }
10863        x
10864    }
10865}
10866#[repr(C)]
10867#[derive(Copy, Clone)]
10868#[doc = "See [XrGraphicsRequirementsD3D12KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsRequirementsD3D12KHR) - defined by [XR_KHR_D3D12_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_D3D12_enable)"]
10869#[cfg(windows)]
10870pub struct GraphicsRequirementsD3D12KHR {
10871    pub ty: StructureType,
10872    pub next: *mut c_void,
10873    pub adapter_luid: LUID,
10874    pub min_feature_level: D3D_FEATURE_LEVEL,
10875}
10876#[cfg(windows)]
10877impl GraphicsRequirementsD3D12KHR {
10878    pub const TYPE: StructureType = StructureType::GRAPHICS_REQUIREMENTS_D3D12_KHR;
10879    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10880    #[inline]
10881    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10882        let mut x = MaybeUninit::<Self>::uninit();
10883        unsafe {
10884            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10885                ty: Self::TYPE,
10886                next,
10887            });
10888        }
10889        x
10890    }
10891}
10892#[repr(C)]
10893#[derive(Copy, Clone, Debug)]
10894#[doc = "See [XrGraphicsRequirementsMetalKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsRequirementsMetalKHR) - defined by [XR_KHR_metal_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_metal_enable)"]
10895#[cfg(target_vendor = "apple")]
10896pub struct GraphicsRequirementsMetalKHR {
10897    pub ty: StructureType,
10898    pub next: *mut c_void,
10899    pub metal_device: *mut c_void,
10900}
10901#[cfg(target_vendor = "apple")]
10902impl GraphicsRequirementsMetalKHR {
10903    pub const TYPE: StructureType = StructureType::GRAPHICS_REQUIREMENTS_METAL_KHR;
10904    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10905    #[inline]
10906    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10907        let mut x = MaybeUninit::<Self>::uninit();
10908        unsafe {
10909            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10910                ty: Self::TYPE,
10911                next,
10912            });
10913        }
10914        x
10915    }
10916}
10917#[repr(C)]
10918#[derive(Copy, Clone)]
10919#[doc = "See [XrVulkanInstanceCreateInfoKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVulkanInstanceCreateInfoKHR) - defined by [XR_KHR_vulkan_enable2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable2)"]
10920pub struct VulkanInstanceCreateInfoKHR {
10921    pub ty: StructureType,
10922    pub next: *const c_void,
10923    pub system_id: SystemId,
10924    pub create_flags: VulkanInstanceCreateFlagsKHR,
10925    pub pfn_get_instance_proc_addr: Option<VkGetInstanceProcAddr>,
10926    pub vulkan_create_info: *const VkInstanceCreateInfo,
10927    pub vulkan_allocator: *const VkAllocationCallbacks,
10928}
10929impl VulkanInstanceCreateInfoKHR {
10930    pub const TYPE: StructureType = StructureType::VULKAN_INSTANCE_CREATE_INFO_KHR;
10931}
10932#[repr(C)]
10933#[derive(Copy, Clone)]
10934#[doc = "See [XrVulkanDeviceCreateInfoKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVulkanDeviceCreateInfoKHR) - defined by [XR_KHR_vulkan_enable2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable2)"]
10935pub struct VulkanDeviceCreateInfoKHR {
10936    pub ty: StructureType,
10937    pub next: *const c_void,
10938    pub system_id: SystemId,
10939    pub create_flags: VulkanDeviceCreateFlagsKHR,
10940    pub pfn_get_instance_proc_addr: Option<VkGetInstanceProcAddr>,
10941    pub vulkan_physical_device: VkPhysicalDevice,
10942    pub vulkan_create_info: *const VkDeviceCreateInfo,
10943    pub vulkan_allocator: *const VkAllocationCallbacks,
10944}
10945impl VulkanDeviceCreateInfoKHR {
10946    pub const TYPE: StructureType = StructureType::VULKAN_DEVICE_CREATE_INFO_KHR;
10947}
10948#[repr(C)]
10949#[derive(Copy, Clone, Debug)]
10950#[doc = "See [XrVulkanGraphicsDeviceGetInfoKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVulkanGraphicsDeviceGetInfoKHR) - defined by [XR_KHR_vulkan_enable2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable2)"]
10951pub struct VulkanGraphicsDeviceGetInfoKHR {
10952    pub ty: StructureType,
10953    pub next: *const c_void,
10954    pub system_id: SystemId,
10955    pub vulkan_instance: VkInstance,
10956}
10957impl VulkanGraphicsDeviceGetInfoKHR {
10958    pub const TYPE: StructureType = StructureType::VULKAN_GRAPHICS_DEVICE_GET_INFO_KHR;
10959}
10960#[repr(C)]
10961#[derive(Copy, Clone, Debug)]
10962#[doc = "See [XrVulkanSwapchainCreateInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVulkanSwapchainCreateInfoMETA) - defined by [XR_META_vulkan_swapchain_create_info](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_vulkan_swapchain_create_info)"]
10963pub struct VulkanSwapchainCreateInfoMETA {
10964    pub ty: StructureType,
10965    pub next: *const c_void,
10966    pub additional_create_flags: VkImageCreateFlags,
10967    pub additional_usage_flags: VkImageUsageFlags,
10968}
10969impl VulkanSwapchainCreateInfoMETA {
10970    pub const TYPE: StructureType = StructureType::VULKAN_SWAPCHAIN_CREATE_INFO_META;
10971}
10972#[repr(C)]
10973#[derive(Copy, Clone, Debug)]
10974#[doc = "See [XrSessionCreateInfoOverlayEXTX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSessionCreateInfoOverlayEXTX) - defined by [XR_EXTX_overlay](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXTX_overlay)"]
10975pub struct SessionCreateInfoOverlayEXTX {
10976    pub ty: StructureType,
10977    pub next: *const c_void,
10978    pub create_flags: OverlaySessionCreateFlagsEXTX,
10979    pub session_layers_placement: u32,
10980}
10981impl SessionCreateInfoOverlayEXTX {
10982    pub const TYPE: StructureType = StructureType::SESSION_CREATE_INFO_OVERLAY_EXTX;
10983}
10984#[repr(C)]
10985#[derive(Copy, Clone, Debug)]
10986#[doc = "See [XrEventDataMainSessionVisibilityChangedEXTX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataMainSessionVisibilityChangedEXTX) - defined by [XR_EXTX_overlay](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXTX_overlay)"]
10987pub struct EventDataMainSessionVisibilityChangedEXTX {
10988    pub ty: StructureType,
10989    pub next: *const c_void,
10990    pub visible: Bool32,
10991    pub flags: OverlayMainSessionFlagsEXTX,
10992}
10993impl EventDataMainSessionVisibilityChangedEXTX {
10994    pub const TYPE: StructureType = StructureType::EVENT_DATA_MAIN_SESSION_VISIBILITY_CHANGED_EXTX;
10995}
10996#[repr(C)]
10997#[derive(Copy, Clone, Debug)]
10998#[doc = "See [XrEventDataDisplayRefreshRateChangedFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataDisplayRefreshRateChangedFB) - defined by [XR_FB_display_refresh_rate](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_display_refresh_rate)"]
10999pub struct EventDataDisplayRefreshRateChangedFB {
11000    pub ty: StructureType,
11001    pub next: *const c_void,
11002    pub from_display_refresh_rate: f32,
11003    pub to_display_refresh_rate: f32,
11004}
11005impl EventDataDisplayRefreshRateChangedFB {
11006    pub const TYPE: StructureType = StructureType::EVENT_DATA_DISPLAY_REFRESH_RATE_CHANGED_FB;
11007}
11008#[repr(C)]
11009#[derive(Copy, Clone, Debug)]
11010#[doc = "See [XrViewConfigurationDepthRangeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewConfigurationDepthRangeEXT) - defined by [XR_EXT_view_configuration_depth_range](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_view_configuration_depth_range)"]
11011pub struct ViewConfigurationDepthRangeEXT {
11012    pub ty: StructureType,
11013    pub next: *mut c_void,
11014    pub recommended_near_z: f32,
11015    pub min_near_z: f32,
11016    pub recommended_far_z: f32,
11017    pub max_far_z: f32,
11018}
11019impl ViewConfigurationDepthRangeEXT {
11020    pub const TYPE: StructureType = StructureType::VIEW_CONFIGURATION_DEPTH_RANGE_EXT;
11021    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11022    #[inline]
11023    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11024        let mut x = MaybeUninit::<Self>::uninit();
11025        unsafe {
11026            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11027                ty: Self::TYPE,
11028                next,
11029            });
11030        }
11031        x
11032    }
11033}
11034#[repr(C)]
11035#[derive(Copy, Clone, Debug)]
11036#[doc = "See [XrViewConfigurationViewFovEPIC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewConfigurationViewFovEPIC) - defined by [XR_EPIC_view_configuration_fov](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EPIC_view_configuration_fov)"]
11037pub struct ViewConfigurationViewFovEPIC {
11038    pub ty: StructureType,
11039    pub next: *const c_void,
11040    pub recommended_fov: Fovf,
11041    pub max_mutable_fov: Fovf,
11042}
11043impl ViewConfigurationViewFovEPIC {
11044    pub const TYPE: StructureType = StructureType::VIEW_CONFIGURATION_VIEW_FOV_EPIC;
11045}
11046#[repr(C)]
11047#[derive(Copy, Clone, Debug)]
11048#[doc = "See [XrInteractionProfileDpadBindingEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInteractionProfileDpadBindingEXT) - defined by [XR_EXT_dpad_binding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_dpad_binding)"]
11049pub struct InteractionProfileDpadBindingEXT {
11050    pub ty: StructureType,
11051    pub next: *const c_void,
11052    pub binding: Path,
11053    pub action_set: ActionSet,
11054    pub force_threshold: f32,
11055    pub force_threshold_released: f32,
11056    pub center_region: f32,
11057    pub wedge_angle: f32,
11058    pub is_sticky: Bool32,
11059    pub on_haptic: *const HapticBaseHeader,
11060    pub off_haptic: *const HapticBaseHeader,
11061}
11062impl InteractionProfileDpadBindingEXT {
11063    pub const TYPE: StructureType = StructureType::INTERACTION_PROFILE_DPAD_BINDING_EXT;
11064}
11065#[repr(C)]
11066#[derive(Copy, Clone, Debug)]
11067#[doc = "See [XrInteractionProfileAnalogThresholdVALVE](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInteractionProfileAnalogThresholdVALVE) - defined by [XR_VALVE_analog_threshold](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VALVE_analog_threshold)"]
11068pub struct InteractionProfileAnalogThresholdVALVE {
11069    pub ty: StructureType,
11070    pub next: *const c_void,
11071    pub action: Action,
11072    pub binding: Path,
11073    pub on_threshold: f32,
11074    pub off_threshold: f32,
11075    pub on_haptic: *const HapticBaseHeader,
11076    pub off_haptic: *const HapticBaseHeader,
11077}
11078impl InteractionProfileAnalogThresholdVALVE {
11079    pub const TYPE: StructureType = StructureType::INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVE;
11080}
11081#[repr(C)]
11082#[derive(Copy, Clone, Debug)]
11083#[doc = "See [XrBindingModificationsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBindingModificationsKHR) - defined by [XR_KHR_binding_modification](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_binding_modification)"]
11084pub struct BindingModificationsKHR {
11085    pub ty: StructureType,
11086    pub next: *const c_void,
11087    pub binding_modification_count: u32,
11088    pub binding_modifications: *const *const BindingModificationBaseHeaderKHR,
11089}
11090impl BindingModificationsKHR {
11091    pub const TYPE: StructureType = StructureType::BINDING_MODIFICATIONS_KHR;
11092}
11093#[repr(C)]
11094#[derive(Copy, Clone, Debug)]
11095#[doc = "See [XrBindingModificationBaseHeaderKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBindingModificationBaseHeaderKHR) - defined by [XR_KHR_binding_modification](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_binding_modification)"]
11096pub struct BindingModificationBaseHeaderKHR {
11097    pub ty: StructureType,
11098    pub next: *const c_void,
11099}
11100#[repr(C)]
11101#[derive(Copy, Clone, Debug)]
11102#[doc = "See [XrSystemEyeGazeInteractionPropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemEyeGazeInteractionPropertiesEXT) - defined by [XR_EXT_eye_gaze_interaction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_eye_gaze_interaction)"]
11103pub struct SystemEyeGazeInteractionPropertiesEXT {
11104    pub ty: StructureType,
11105    pub next: *mut c_void,
11106    pub supports_eye_gaze_interaction: Bool32,
11107}
11108impl SystemEyeGazeInteractionPropertiesEXT {
11109    pub const TYPE: StructureType = StructureType::SYSTEM_EYE_GAZE_INTERACTION_PROPERTIES_EXT;
11110    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11111    #[inline]
11112    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11113        let mut x = MaybeUninit::<Self>::uninit();
11114        unsafe {
11115            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11116                ty: Self::TYPE,
11117                next,
11118            });
11119        }
11120        x
11121    }
11122}
11123#[repr(C)]
11124#[derive(Copy, Clone, Debug)]
11125#[doc = "See [XrEyeGazeSampleTimeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeGazeSampleTimeEXT) - defined by [XR_EXT_eye_gaze_interaction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_eye_gaze_interaction)"]
11126pub struct EyeGazeSampleTimeEXT {
11127    pub ty: StructureType,
11128    pub next: *mut c_void,
11129    pub time: Time,
11130}
11131impl EyeGazeSampleTimeEXT {
11132    pub const TYPE: StructureType = StructureType::EYE_GAZE_SAMPLE_TIME_EXT;
11133    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11134    #[inline]
11135    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11136        let mut x = MaybeUninit::<Self>::uninit();
11137        unsafe {
11138            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11139                ty: Self::TYPE,
11140                next,
11141            });
11142        }
11143        x
11144    }
11145}
11146#[repr(C)]
11147#[derive(Copy, Clone, Debug)]
11148#[doc = "See [XrFrameSynthesisInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameSynthesisInfoEXT) - defined by [XR_EXT_frame_synthesis](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_frame_synthesis)"]
11149pub struct FrameSynthesisInfoEXT {
11150    pub ty: StructureType,
11151    pub next: *const c_void,
11152    pub layer_flags: FrameSynthesisInfoFlagsEXT,
11153    pub motion_vector_sub_image: SwapchainSubImage,
11154    pub motion_vector_scale: Vector4f,
11155    pub motion_vector_offset: Vector4f,
11156    pub app_space_delta_pose: Posef,
11157    pub depth_sub_image: SwapchainSubImage,
11158    pub min_depth: f32,
11159    pub max_depth: f32,
11160    pub near_z: f32,
11161    pub far_z: f32,
11162}
11163impl FrameSynthesisInfoEXT {
11164    pub const TYPE: StructureType = StructureType::FRAME_SYNTHESIS_INFO_EXT;
11165}
11166#[repr(C)]
11167#[derive(Copy, Clone, Debug)]
11168#[doc = "See [XrFrameSynthesisConfigViewEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameSynthesisConfigViewEXT) - defined by [XR_EXT_frame_synthesis](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_frame_synthesis)"]
11169pub struct FrameSynthesisConfigViewEXT {
11170    pub ty: StructureType,
11171    pub next: *mut c_void,
11172    pub recommended_motion_vector_image_rect_width: u32,
11173    pub recommended_motion_vector_image_rect_height: u32,
11174}
11175impl FrameSynthesisConfigViewEXT {
11176    pub const TYPE: StructureType = StructureType::FRAME_SYNTHESIS_CONFIG_VIEW_EXT;
11177    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11178    #[inline]
11179    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11180        let mut x = MaybeUninit::<Self>::uninit();
11181        unsafe {
11182            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11183                ty: Self::TYPE,
11184                next,
11185            });
11186        }
11187        x
11188    }
11189}
11190#[repr(C)]
11191#[derive(Copy, Clone, Debug)]
11192#[doc = "See [XrSpatialAnchorCreateInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorCreateInfoMSFT)"]
11193pub struct SpatialAnchorCreateInfoMSFT {
11194    pub ty: StructureType,
11195    pub next: *const c_void,
11196    pub space: Space,
11197    pub pose: Posef,
11198    pub time: Time,
11199}
11200impl SpatialAnchorCreateInfoMSFT {
11201    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_CREATE_INFO_MSFT;
11202}
11203#[repr(C)]
11204#[derive(Copy, Clone, Debug)]
11205#[doc = "See [XrSpatialAnchorSpaceCreateInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorSpaceCreateInfoMSFT)"]
11206pub struct SpatialAnchorSpaceCreateInfoMSFT {
11207    pub ty: StructureType,
11208    pub next: *const c_void,
11209    pub anchor: SpatialAnchorMSFT,
11210    pub pose_in_anchor_space: Posef,
11211}
11212impl SpatialAnchorSpaceCreateInfoMSFT {
11213    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_SPACE_CREATE_INFO_MSFT;
11214}
11215#[repr(C)]
11216#[derive(Copy, Clone, Debug)]
11217#[doc = "See [XrCompositionLayerImageLayoutFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerImageLayoutFB) - defined by [XR_FB_composition_layer_image_layout](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_composition_layer_image_layout)"]
11218pub struct CompositionLayerImageLayoutFB {
11219    pub ty: StructureType,
11220    pub next: *mut c_void,
11221    pub flags: CompositionLayerImageLayoutFlagsFB,
11222}
11223impl CompositionLayerImageLayoutFB {
11224    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_IMAGE_LAYOUT_FB;
11225    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11226    #[inline]
11227    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11228        let mut x = MaybeUninit::<Self>::uninit();
11229        unsafe {
11230            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11231                ty: Self::TYPE,
11232                next,
11233            });
11234        }
11235        x
11236    }
11237}
11238#[repr(C)]
11239#[derive(Copy, Clone, Debug)]
11240#[doc = "See [XrCompositionLayerAlphaBlendFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerAlphaBlendFB) - defined by [XR_FB_composition_layer_alpha_blend](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_composition_layer_alpha_blend)"]
11241pub struct CompositionLayerAlphaBlendFB {
11242    pub ty: StructureType,
11243    pub next: *mut c_void,
11244    pub src_factor_color: BlendFactorFB,
11245    pub dst_factor_color: BlendFactorFB,
11246    pub src_factor_alpha: BlendFactorFB,
11247    pub dst_factor_alpha: BlendFactorFB,
11248}
11249impl CompositionLayerAlphaBlendFB {
11250    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_ALPHA_BLEND_FB;
11251    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11252    #[inline]
11253    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11254        let mut x = MaybeUninit::<Self>::uninit();
11255        unsafe {
11256            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11257                ty: Self::TYPE,
11258                next,
11259            });
11260        }
11261        x
11262    }
11263}
11264#[repr(C)]
11265#[derive(Copy, Clone)]
11266#[doc = "See [XrGraphicsBindingEGLMNDX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingEGLMNDX) - defined by [XR_MNDX_egl_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MNDX_egl_enable)"]
11267pub struct GraphicsBindingEGLMNDX {
11268    pub ty: StructureType,
11269    pub next: *const c_void,
11270    pub get_proc_address: Option<pfn::EglGetProcAddressMNDX>,
11271    pub display: EGLDisplay,
11272    pub config: EGLConfig,
11273    pub context: EGLContext,
11274}
11275impl GraphicsBindingEGLMNDX {
11276    pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_EGL_MNDX;
11277}
11278#[repr(C)]
11279#[derive(Copy, Clone, Debug)]
11280#[doc = "See [XrSpatialGraphNodeSpaceCreateInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialGraphNodeSpaceCreateInfoMSFT) - defined by [XR_MSFT_spatial_graph_bridge](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_graph_bridge)"]
11281pub struct SpatialGraphNodeSpaceCreateInfoMSFT {
11282    pub ty: StructureType,
11283    pub next: *const c_void,
11284    pub node_type: SpatialGraphNodeTypeMSFT,
11285    pub node_id: [u8; GUID_SIZE_MSFT],
11286    pub pose: Posef,
11287}
11288impl SpatialGraphNodeSpaceCreateInfoMSFT {
11289    pub const TYPE: StructureType = StructureType::SPATIAL_GRAPH_NODE_SPACE_CREATE_INFO_MSFT;
11290}
11291#[repr(C)]
11292#[derive(Copy, Clone, Debug)]
11293#[doc = "See [XrSpatialGraphStaticNodeBindingCreateInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialGraphStaticNodeBindingCreateInfoMSFT) - defined by [XR_MSFT_spatial_graph_bridge](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_graph_bridge)"]
11294pub struct SpatialGraphStaticNodeBindingCreateInfoMSFT {
11295    pub ty: StructureType,
11296    pub next: *const c_void,
11297    pub space: Space,
11298    pub pose_in_space: Posef,
11299    pub time: Time,
11300}
11301impl SpatialGraphStaticNodeBindingCreateInfoMSFT {
11302    pub const TYPE: StructureType =
11303        StructureType::SPATIAL_GRAPH_STATIC_NODE_BINDING_CREATE_INFO_MSFT;
11304}
11305#[repr(C)]
11306#[derive(Copy, Clone, Debug)]
11307#[doc = "See [XrSpatialGraphNodeBindingPropertiesGetInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialGraphNodeBindingPropertiesGetInfoMSFT) - defined by [XR_MSFT_spatial_graph_bridge](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_graph_bridge)"]
11308pub struct SpatialGraphNodeBindingPropertiesGetInfoMSFT {
11309    pub ty: StructureType,
11310    pub next: *const c_void,
11311}
11312impl SpatialGraphNodeBindingPropertiesGetInfoMSFT {
11313    pub const TYPE: StructureType =
11314        StructureType::SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_GET_INFO_MSFT;
11315}
11316#[repr(C)]
11317#[derive(Copy, Clone, Debug)]
11318#[doc = "See [XrSpatialGraphNodeBindingPropertiesMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialGraphNodeBindingPropertiesMSFT) - defined by [XR_MSFT_spatial_graph_bridge](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_graph_bridge)"]
11319pub struct SpatialGraphNodeBindingPropertiesMSFT {
11320    pub ty: StructureType,
11321    pub next: *mut c_void,
11322    pub node_id: [u8; GUID_SIZE_MSFT],
11323    pub pose_in_node_space: Posef,
11324}
11325impl SpatialGraphNodeBindingPropertiesMSFT {
11326    pub const TYPE: StructureType = StructureType::SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_MSFT;
11327    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11328    #[inline]
11329    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11330        let mut x = MaybeUninit::<Self>::uninit();
11331        unsafe {
11332            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11333                ty: Self::TYPE,
11334                next,
11335            });
11336        }
11337        x
11338    }
11339}
11340#[repr(C)]
11341#[derive(Copy, Clone, Debug)]
11342#[doc = "See [XrSystemHandTrackingPropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemHandTrackingPropertiesEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
11343pub struct SystemHandTrackingPropertiesEXT {
11344    pub ty: StructureType,
11345    pub next: *mut c_void,
11346    pub supports_hand_tracking: Bool32,
11347}
11348impl SystemHandTrackingPropertiesEXT {
11349    pub const TYPE: StructureType = StructureType::SYSTEM_HAND_TRACKING_PROPERTIES_EXT;
11350    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11351    #[inline]
11352    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11353        let mut x = MaybeUninit::<Self>::uninit();
11354        unsafe {
11355            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11356                ty: Self::TYPE,
11357                next,
11358            });
11359        }
11360        x
11361    }
11362}
11363#[repr(C)]
11364#[derive(Copy, Clone, Debug)]
11365#[doc = "See [XrHandTrackerCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackerCreateInfoEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
11366pub struct HandTrackerCreateInfoEXT {
11367    pub ty: StructureType,
11368    pub next: *const c_void,
11369    pub hand: HandEXT,
11370    pub hand_joint_set: HandJointSetEXT,
11371}
11372impl HandTrackerCreateInfoEXT {
11373    pub const TYPE: StructureType = StructureType::HAND_TRACKER_CREATE_INFO_EXT;
11374}
11375#[repr(C)]
11376#[derive(Copy, Clone, Debug)]
11377#[doc = "See [XrHandJointsLocateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointsLocateInfoEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
11378pub struct HandJointsLocateInfoEXT {
11379    pub ty: StructureType,
11380    pub next: *const c_void,
11381    pub base_space: Space,
11382    pub time: Time,
11383}
11384impl HandJointsLocateInfoEXT {
11385    pub const TYPE: StructureType = StructureType::HAND_JOINTS_LOCATE_INFO_EXT;
11386}
11387#[repr(C)]
11388#[derive(Copy, Clone, Debug, Default, PartialEq)]
11389#[doc = "See [XrHandJointLocationEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointLocationEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
11390pub struct HandJointLocationEXT {
11391    pub location_flags: SpaceLocationFlags,
11392    pub pose: Posef,
11393    pub radius: f32,
11394}
11395#[repr(C)]
11396#[derive(Copy, Clone, Debug, Default, PartialEq)]
11397#[doc = "See [XrHandJointVelocityEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointVelocityEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
11398pub struct HandJointVelocityEXT {
11399    pub velocity_flags: SpaceVelocityFlags,
11400    pub linear_velocity: Vector3f,
11401    pub angular_velocity: Vector3f,
11402}
11403#[repr(C)]
11404#[derive(Copy, Clone, Debug)]
11405#[doc = "See [XrHandJointLocationsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointLocationsEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
11406pub struct HandJointLocationsEXT {
11407    pub ty: StructureType,
11408    pub next: *mut c_void,
11409    pub is_active: Bool32,
11410    pub joint_count: u32,
11411    pub joint_locations: *mut HandJointLocationEXT,
11412}
11413impl HandJointLocationsEXT {
11414    pub const TYPE: StructureType = StructureType::HAND_JOINT_LOCATIONS_EXT;
11415    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11416    #[inline]
11417    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11418        let mut x = MaybeUninit::<Self>::uninit();
11419        unsafe {
11420            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11421                ty: Self::TYPE,
11422                next,
11423            });
11424        }
11425        x
11426    }
11427}
11428#[repr(C)]
11429#[derive(Copy, Clone, Debug)]
11430#[doc = "See [XrHandJointVelocitiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointVelocitiesEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
11431pub struct HandJointVelocitiesEXT {
11432    pub ty: StructureType,
11433    pub next: *mut c_void,
11434    pub joint_count: u32,
11435    pub joint_velocities: *mut HandJointVelocityEXT,
11436}
11437impl HandJointVelocitiesEXT {
11438    pub const TYPE: StructureType = StructureType::HAND_JOINT_VELOCITIES_EXT;
11439    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11440    #[inline]
11441    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11442        let mut x = MaybeUninit::<Self>::uninit();
11443        unsafe {
11444            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11445                ty: Self::TYPE,
11446                next,
11447            });
11448        }
11449        x
11450    }
11451}
11452#[repr(C)]
11453#[derive(Copy, Clone, Debug)]
11454#[doc = "See [XrSystemFaceTrackingPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemFaceTrackingPropertiesFB) - defined by [XR_FB_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking)"]
11455pub struct SystemFaceTrackingPropertiesFB {
11456    pub ty: StructureType,
11457    pub next: *mut c_void,
11458    pub supports_face_tracking: Bool32,
11459}
11460impl SystemFaceTrackingPropertiesFB {
11461    pub const TYPE: StructureType = StructureType::SYSTEM_FACE_TRACKING_PROPERTIES_FB;
11462    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11463    #[inline]
11464    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11465        let mut x = MaybeUninit::<Self>::uninit();
11466        unsafe {
11467            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11468                ty: Self::TYPE,
11469                next,
11470            });
11471        }
11472        x
11473    }
11474}
11475#[repr(C)]
11476#[derive(Copy, Clone, Debug)]
11477#[doc = "See [XrFaceTrackerCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackerCreateInfoFB) - defined by [XR_FB_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking)"]
11478pub struct FaceTrackerCreateInfoFB {
11479    pub ty: StructureType,
11480    pub next: *const c_void,
11481    pub face_expression_set: FaceExpressionSetFB,
11482}
11483impl FaceTrackerCreateInfoFB {
11484    pub const TYPE: StructureType = StructureType::FACE_TRACKER_CREATE_INFO_FB;
11485}
11486#[repr(C)]
11487#[derive(Copy, Clone, Debug)]
11488#[doc = "See [XrFaceExpressionInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionInfoFB) - defined by [XR_FB_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking)"]
11489pub struct FaceExpressionInfoFB {
11490    pub ty: StructureType,
11491    pub next: *const c_void,
11492    pub time: Time,
11493}
11494impl FaceExpressionInfoFB {
11495    pub const TYPE: StructureType = StructureType::FACE_EXPRESSION_INFO_FB;
11496}
11497#[repr(C)]
11498#[derive(Copy, Clone, Debug, Default, PartialEq)]
11499#[doc = "See [XrFaceExpressionStatusFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionStatusFB) - defined by [XR_FB_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking)"]
11500pub struct FaceExpressionStatusFB {
11501    pub is_valid: Bool32,
11502    pub is_eye_following_blendshapes_valid: Bool32,
11503}
11504#[repr(C)]
11505#[derive(Copy, Clone, Debug)]
11506#[doc = "See [XrFaceExpressionWeightsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionWeightsFB) - defined by [XR_FB_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking)"]
11507pub struct FaceExpressionWeightsFB {
11508    pub ty: StructureType,
11509    pub next: *mut c_void,
11510    pub weight_count: u32,
11511    pub weights: *mut f32,
11512    pub confidence_count: u32,
11513    pub confidences: *mut f32,
11514    pub status: FaceExpressionStatusFB,
11515    pub time: Time,
11516}
11517impl FaceExpressionWeightsFB {
11518    pub const TYPE: StructureType = StructureType::FACE_EXPRESSION_WEIGHTS_FB;
11519    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11520    #[inline]
11521    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11522        let mut x = MaybeUninit::<Self>::uninit();
11523        unsafe {
11524            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11525                ty: Self::TYPE,
11526                next,
11527            });
11528        }
11529        x
11530    }
11531}
11532#[repr(C)]
11533#[derive(Copy, Clone, Debug)]
11534#[doc = "See [XrSystemFaceTrackingProperties2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemFaceTrackingProperties2FB) - defined by [XR_FB_face_tracking2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking2)"]
11535pub struct SystemFaceTrackingProperties2FB {
11536    pub ty: StructureType,
11537    pub next: *mut c_void,
11538    pub supports_visual_face_tracking: Bool32,
11539    pub supports_audio_face_tracking: Bool32,
11540}
11541impl SystemFaceTrackingProperties2FB {
11542    pub const TYPE: StructureType = StructureType::SYSTEM_FACE_TRACKING_PROPERTIES2_FB;
11543    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11544    #[inline]
11545    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11546        let mut x = MaybeUninit::<Self>::uninit();
11547        unsafe {
11548            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11549                ty: Self::TYPE,
11550                next,
11551            });
11552        }
11553        x
11554    }
11555}
11556#[repr(C)]
11557#[derive(Copy, Clone, Debug)]
11558#[doc = "See [XrFaceTrackerCreateInfo2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackerCreateInfo2FB) - defined by [XR_FB_face_tracking2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking2)"]
11559pub struct FaceTrackerCreateInfo2FB {
11560    pub ty: StructureType,
11561    pub next: *const c_void,
11562    pub face_expression_set: FaceExpressionSet2FB,
11563    pub requested_data_source_count: u32,
11564    pub requested_data_sources: *mut FaceTrackingDataSource2FB,
11565}
11566impl FaceTrackerCreateInfo2FB {
11567    pub const TYPE: StructureType = StructureType::FACE_TRACKER_CREATE_INFO2_FB;
11568}
11569#[repr(C)]
11570#[derive(Copy, Clone, Debug)]
11571#[doc = "See [XrFaceExpressionInfo2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionInfo2FB) - defined by [XR_FB_face_tracking2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking2)"]
11572pub struct FaceExpressionInfo2FB {
11573    pub ty: StructureType,
11574    pub next: *const c_void,
11575    pub time: Time,
11576}
11577impl FaceExpressionInfo2FB {
11578    pub const TYPE: StructureType = StructureType::FACE_EXPRESSION_INFO2_FB;
11579}
11580#[repr(C)]
11581#[derive(Copy, Clone, Debug)]
11582#[doc = "See [XrFaceExpressionWeights2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionWeights2FB) - defined by [XR_FB_face_tracking2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking2)"]
11583pub struct FaceExpressionWeights2FB {
11584    pub ty: StructureType,
11585    pub next: *mut c_void,
11586    pub weight_count: u32,
11587    pub weights: *mut f32,
11588    pub confidence_count: u32,
11589    pub confidences: *mut f32,
11590    pub is_valid: Bool32,
11591    pub is_eye_following_blendshapes_valid: Bool32,
11592    pub data_source: FaceTrackingDataSource2FB,
11593    pub time: Time,
11594}
11595impl FaceExpressionWeights2FB {
11596    pub const TYPE: StructureType = StructureType::FACE_EXPRESSION_WEIGHTS2_FB;
11597    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11598    #[inline]
11599    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11600        let mut x = MaybeUninit::<Self>::uninit();
11601        unsafe {
11602            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11603                ty: Self::TYPE,
11604                next,
11605            });
11606        }
11607        x
11608    }
11609}
11610#[repr(C)]
11611#[derive(Copy, Clone, Debug)]
11612#[doc = "See [XrSystemBodyTrackingPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemBodyTrackingPropertiesFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
11613pub struct SystemBodyTrackingPropertiesFB {
11614    pub ty: StructureType,
11615    pub next: *mut c_void,
11616    pub supports_body_tracking: Bool32,
11617}
11618impl SystemBodyTrackingPropertiesFB {
11619    pub const TYPE: StructureType = StructureType::SYSTEM_BODY_TRACKING_PROPERTIES_FB;
11620    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11621    #[inline]
11622    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11623        let mut x = MaybeUninit::<Self>::uninit();
11624        unsafe {
11625            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11626                ty: Self::TYPE,
11627                next,
11628            });
11629        }
11630        x
11631    }
11632}
11633#[repr(C)]
11634#[derive(Copy, Clone, Debug)]
11635#[doc = "See [XrBodyTrackerCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackerCreateInfoFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
11636pub struct BodyTrackerCreateInfoFB {
11637    pub ty: StructureType,
11638    pub next: *const c_void,
11639    pub body_joint_set: BodyJointSetFB,
11640}
11641impl BodyTrackerCreateInfoFB {
11642    pub const TYPE: StructureType = StructureType::BODY_TRACKER_CREATE_INFO_FB;
11643}
11644#[repr(C)]
11645#[derive(Copy, Clone, Debug, Default, PartialEq)]
11646#[doc = "See [XrBodySkeletonJointFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodySkeletonJointFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
11647pub struct BodySkeletonJointFB {
11648    pub joint: i32,
11649    pub parent_joint: i32,
11650    pub pose: Posef,
11651}
11652#[repr(C)]
11653#[derive(Copy, Clone, Debug)]
11654#[doc = "See [XrBodySkeletonFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodySkeletonFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
11655pub struct BodySkeletonFB {
11656    pub ty: StructureType,
11657    pub next: *mut c_void,
11658    pub joint_count: u32,
11659    pub joints: *mut BodySkeletonJointFB,
11660}
11661impl BodySkeletonFB {
11662    pub const TYPE: StructureType = StructureType::BODY_SKELETON_FB;
11663    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11664    #[inline]
11665    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11666        let mut x = MaybeUninit::<Self>::uninit();
11667        unsafe {
11668            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11669                ty: Self::TYPE,
11670                next,
11671            });
11672        }
11673        x
11674    }
11675}
11676#[repr(C)]
11677#[derive(Copy, Clone, Debug)]
11678#[doc = "See [XrBodyJointsLocateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointsLocateInfoFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
11679pub struct BodyJointsLocateInfoFB {
11680    pub ty: StructureType,
11681    pub next: *const c_void,
11682    pub base_space: Space,
11683    pub time: Time,
11684}
11685impl BodyJointsLocateInfoFB {
11686    pub const TYPE: StructureType = StructureType::BODY_JOINTS_LOCATE_INFO_FB;
11687}
11688#[repr(C)]
11689#[derive(Copy, Clone, Debug, Default, PartialEq)]
11690#[doc = "See [XrBodyJointLocationFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointLocationFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
11691pub struct BodyJointLocationFB {
11692    pub location_flags: SpaceLocationFlags,
11693    pub pose: Posef,
11694}
11695#[repr(C)]
11696#[derive(Copy, Clone, Debug)]
11697#[doc = "See [XrBodyJointLocationsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointLocationsFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
11698pub struct BodyJointLocationsFB {
11699    pub ty: StructureType,
11700    pub next: *mut c_void,
11701    pub is_active: Bool32,
11702    pub confidence: f32,
11703    pub joint_count: u32,
11704    pub joint_locations: *mut BodyJointLocationFB,
11705    pub skeleton_changed_count: u32,
11706    pub time: Time,
11707}
11708impl BodyJointLocationsFB {
11709    pub const TYPE: StructureType = StructureType::BODY_JOINT_LOCATIONS_FB;
11710    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11711    #[inline]
11712    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11713        let mut x = MaybeUninit::<Self>::uninit();
11714        unsafe {
11715            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11716                ty: Self::TYPE,
11717                next,
11718            });
11719        }
11720        x
11721    }
11722}
11723#[repr(C)]
11724#[derive(Copy, Clone, Debug)]
11725#[doc = "See [XrSystemPropertiesBodyTrackingFullBodyMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemPropertiesBodyTrackingFullBodyMETA) - defined by [XR_META_body_tracking_full_body](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_body_tracking_full_body)"]
11726pub struct SystemPropertiesBodyTrackingFullBodyMETA {
11727    pub ty: StructureType,
11728    pub next: *mut c_void,
11729    pub supports_full_body_tracking: Bool32,
11730}
11731impl SystemPropertiesBodyTrackingFullBodyMETA {
11732    pub const TYPE: StructureType = StructureType::SYSTEM_PROPERTIES_BODY_TRACKING_FULL_BODY_META;
11733    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11734    #[inline]
11735    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11736        let mut x = MaybeUninit::<Self>::uninit();
11737        unsafe {
11738            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11739                ty: Self::TYPE,
11740                next,
11741            });
11742        }
11743        x
11744    }
11745}
11746#[repr(C)]
11747#[derive(Copy, Clone, Debug)]
11748#[doc = "See [XrBodyTrackingCalibrationInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackingCalibrationInfoMETA) - defined by [XR_META_body_tracking_calibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_body_tracking_calibration)"]
11749pub struct BodyTrackingCalibrationInfoMETA {
11750    pub ty: StructureType,
11751    pub next: *const c_void,
11752    pub body_height: f32,
11753}
11754impl BodyTrackingCalibrationInfoMETA {
11755    pub const TYPE: StructureType = StructureType::BODY_TRACKING_CALIBRATION_INFO_META;
11756}
11757#[repr(C)]
11758#[derive(Copy, Clone, Debug)]
11759#[doc = "See [XrBodyTrackingCalibrationStatusMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackingCalibrationStatusMETA) - defined by [XR_META_body_tracking_calibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_body_tracking_calibration)"]
11760pub struct BodyTrackingCalibrationStatusMETA {
11761    pub ty: StructureType,
11762    pub next: *mut c_void,
11763    pub status: BodyTrackingCalibrationStateMETA,
11764}
11765impl BodyTrackingCalibrationStatusMETA {
11766    pub const TYPE: StructureType = StructureType::BODY_TRACKING_CALIBRATION_STATUS_META;
11767    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11768    #[inline]
11769    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11770        let mut x = MaybeUninit::<Self>::uninit();
11771        unsafe {
11772            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11773                ty: Self::TYPE,
11774                next,
11775            });
11776        }
11777        x
11778    }
11779}
11780#[repr(C)]
11781#[derive(Copy, Clone, Debug)]
11782#[doc = "See [XrSystemPropertiesBodyTrackingCalibrationMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemPropertiesBodyTrackingCalibrationMETA) - defined by [XR_META_body_tracking_calibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_body_tracking_calibration)"]
11783pub struct SystemPropertiesBodyTrackingCalibrationMETA {
11784    pub ty: StructureType,
11785    pub next: *mut c_void,
11786    pub supports_height_override: Bool32,
11787}
11788impl SystemPropertiesBodyTrackingCalibrationMETA {
11789    pub const TYPE: StructureType = StructureType::SYSTEM_PROPERTIES_BODY_TRACKING_CALIBRATION_META;
11790    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11791    #[inline]
11792    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11793        let mut x = MaybeUninit::<Self>::uninit();
11794        unsafe {
11795            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11796                ty: Self::TYPE,
11797                next,
11798            });
11799        }
11800        x
11801    }
11802}
11803#[repr(C)]
11804#[derive(Copy, Clone, Debug)]
11805#[doc = "See [XrSystemEyeTrackingPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemEyeTrackingPropertiesFB) - defined by [XR_FB_eye_tracking_social](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_eye_tracking_social)"]
11806pub struct SystemEyeTrackingPropertiesFB {
11807    pub ty: StructureType,
11808    pub next: *mut c_void,
11809    pub supports_eye_tracking: Bool32,
11810}
11811impl SystemEyeTrackingPropertiesFB {
11812    pub const TYPE: StructureType = StructureType::SYSTEM_EYE_TRACKING_PROPERTIES_FB;
11813    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11814    #[inline]
11815    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11816        let mut x = MaybeUninit::<Self>::uninit();
11817        unsafe {
11818            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11819                ty: Self::TYPE,
11820                next,
11821            });
11822        }
11823        x
11824    }
11825}
11826#[repr(C)]
11827#[derive(Copy, Clone, Debug)]
11828#[doc = "See [XrEyeTrackerCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeTrackerCreateInfoFB) - defined by [XR_FB_eye_tracking_social](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_eye_tracking_social)"]
11829pub struct EyeTrackerCreateInfoFB {
11830    pub ty: StructureType,
11831    pub next: *const c_void,
11832}
11833impl EyeTrackerCreateInfoFB {
11834    pub const TYPE: StructureType = StructureType::EYE_TRACKER_CREATE_INFO_FB;
11835}
11836#[repr(C)]
11837#[derive(Copy, Clone, Debug)]
11838#[doc = "See [XrEyeGazesInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeGazesInfoFB) - defined by [XR_FB_eye_tracking_social](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_eye_tracking_social)"]
11839pub struct EyeGazesInfoFB {
11840    pub ty: StructureType,
11841    pub next: *const c_void,
11842    pub base_space: Space,
11843    pub time: Time,
11844}
11845impl EyeGazesInfoFB {
11846    pub const TYPE: StructureType = StructureType::EYE_GAZES_INFO_FB;
11847}
11848#[repr(C)]
11849#[derive(Copy, Clone, Debug, Default, PartialEq)]
11850#[doc = "See [XrEyeGazeFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeGazeFB) - defined by [XR_FB_eye_tracking_social](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_eye_tracking_social)"]
11851pub struct EyeGazeFB {
11852    pub is_valid: Bool32,
11853    pub gaze_pose: Posef,
11854    pub gaze_confidence: f32,
11855}
11856#[repr(C)]
11857#[derive(Copy, Clone, Debug)]
11858#[doc = "See [XrEyeGazesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeGazesFB) - defined by [XR_FB_eye_tracking_social](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_eye_tracking_social)"]
11859pub struct EyeGazesFB {
11860    pub ty: StructureType,
11861    pub next: *mut c_void,
11862    pub gaze: [EyeGazeFB; EYE_POSITION_COUNT_FB],
11863    pub time: Time,
11864}
11865impl EyeGazesFB {
11866    pub const TYPE: StructureType = StructureType::EYE_GAZES_FB;
11867    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11868    #[inline]
11869    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11870        let mut x = MaybeUninit::<Self>::uninit();
11871        unsafe {
11872            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11873                ty: Self::TYPE,
11874                next,
11875            });
11876        }
11877        x
11878    }
11879}
11880#[repr(C)]
11881#[derive(Copy, Clone, Debug)]
11882#[doc = "See [XrHandJointsMotionRangeInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointsMotionRangeInfoEXT) - defined by [XR_EXT_hand_joints_motion_range](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_joints_motion_range)"]
11883pub struct HandJointsMotionRangeInfoEXT {
11884    pub ty: StructureType,
11885    pub next: *const c_void,
11886    pub hand_joints_motion_range: HandJointsMotionRangeEXT,
11887}
11888impl HandJointsMotionRangeInfoEXT {
11889    pub const TYPE: StructureType = StructureType::HAND_JOINTS_MOTION_RANGE_INFO_EXT;
11890}
11891#[repr(C)]
11892#[derive(Copy, Clone, Debug)]
11893#[doc = "See [XrHandTrackingDataSourceInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackingDataSourceInfoEXT) - defined by [XR_EXT_hand_tracking_data_source](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking_data_source)"]
11894pub struct HandTrackingDataSourceInfoEXT {
11895    pub ty: StructureType,
11896    pub next: *const c_void,
11897    pub requested_data_source_count: u32,
11898    pub requested_data_sources: *mut HandTrackingDataSourceEXT,
11899}
11900impl HandTrackingDataSourceInfoEXT {
11901    pub const TYPE: StructureType = StructureType::HAND_TRACKING_DATA_SOURCE_INFO_EXT;
11902}
11903#[repr(C)]
11904#[derive(Copy, Clone, Debug)]
11905#[doc = "See [XrHandTrackingDataSourceStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackingDataSourceStateEXT) - defined by [XR_EXT_hand_tracking_data_source](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking_data_source)"]
11906pub struct HandTrackingDataSourceStateEXT {
11907    pub ty: StructureType,
11908    pub next: *mut c_void,
11909    pub is_active: Bool32,
11910    pub data_source: HandTrackingDataSourceEXT,
11911}
11912impl HandTrackingDataSourceStateEXT {
11913    pub const TYPE: StructureType = StructureType::HAND_TRACKING_DATA_SOURCE_STATE_EXT;
11914    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11915    #[inline]
11916    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11917        let mut x = MaybeUninit::<Self>::uninit();
11918        unsafe {
11919            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11920                ty: Self::TYPE,
11921                next,
11922            });
11923        }
11924        x
11925    }
11926}
11927#[repr(C)]
11928#[derive(Copy, Clone, Debug)]
11929#[doc = "See [XrHandMeshSpaceCreateInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandMeshSpaceCreateInfoMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
11930pub struct HandMeshSpaceCreateInfoMSFT {
11931    pub ty: StructureType,
11932    pub next: *const c_void,
11933    pub hand_pose_type: HandPoseTypeMSFT,
11934    pub pose_in_hand_mesh_space: Posef,
11935}
11936impl HandMeshSpaceCreateInfoMSFT {
11937    pub const TYPE: StructureType = StructureType::HAND_MESH_SPACE_CREATE_INFO_MSFT;
11938}
11939#[repr(C)]
11940#[derive(Copy, Clone, Debug)]
11941#[doc = "See [XrHandMeshUpdateInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandMeshUpdateInfoMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
11942pub struct HandMeshUpdateInfoMSFT {
11943    pub ty: StructureType,
11944    pub next: *const c_void,
11945    pub time: Time,
11946    pub hand_pose_type: HandPoseTypeMSFT,
11947}
11948impl HandMeshUpdateInfoMSFT {
11949    pub const TYPE: StructureType = StructureType::HAND_MESH_UPDATE_INFO_MSFT;
11950}
11951#[repr(C)]
11952#[derive(Copy, Clone, Debug)]
11953#[doc = "See [XrHandMeshMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandMeshMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
11954pub struct HandMeshMSFT {
11955    pub ty: StructureType,
11956    pub next: *mut c_void,
11957    pub is_active: Bool32,
11958    pub index_buffer_changed: Bool32,
11959    pub vertex_buffer_changed: Bool32,
11960    pub index_buffer: HandMeshIndexBufferMSFT,
11961    pub vertex_buffer: HandMeshVertexBufferMSFT,
11962}
11963impl HandMeshMSFT {
11964    pub const TYPE: StructureType = StructureType::HAND_MESH_MSFT;
11965    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11966    #[inline]
11967    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11968        let mut x = MaybeUninit::<Self>::uninit();
11969        unsafe {
11970            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11971                ty: Self::TYPE,
11972                next,
11973            });
11974        }
11975        x
11976    }
11977}
11978#[repr(C)]
11979#[derive(Copy, Clone, Debug)]
11980#[doc = "See [XrHandMeshIndexBufferMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandMeshIndexBufferMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
11981pub struct HandMeshIndexBufferMSFT {
11982    pub index_buffer_key: u32,
11983    pub index_capacity_input: u32,
11984    pub index_count_output: u32,
11985    pub indices: *mut u32,
11986}
11987#[repr(C)]
11988#[derive(Copy, Clone, Debug)]
11989#[doc = "See [XrHandMeshVertexBufferMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandMeshVertexBufferMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
11990pub struct HandMeshVertexBufferMSFT {
11991    pub vertex_update_time: Time,
11992    pub vertex_capacity_input: u32,
11993    pub vertex_count_output: u32,
11994    pub vertices: *mut HandMeshVertexMSFT,
11995}
11996#[repr(C)]
11997#[derive(Copy, Clone, Debug, Default, PartialEq)]
11998#[doc = "See [XrHandMeshVertexMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandMeshVertexMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
11999pub struct HandMeshVertexMSFT {
12000    pub position: Vector3f,
12001    pub normal: Vector3f,
12002}
12003#[repr(C)]
12004#[derive(Copy, Clone, Debug)]
12005#[doc = "See [XrSystemHandTrackingMeshPropertiesMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemHandTrackingMeshPropertiesMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
12006pub struct SystemHandTrackingMeshPropertiesMSFT {
12007    pub ty: StructureType,
12008    pub next: *mut c_void,
12009    pub supports_hand_tracking_mesh: Bool32,
12010    pub max_hand_mesh_index_count: u32,
12011    pub max_hand_mesh_vertex_count: u32,
12012}
12013impl SystemHandTrackingMeshPropertiesMSFT {
12014    pub const TYPE: StructureType = StructureType::SYSTEM_HAND_TRACKING_MESH_PROPERTIES_MSFT;
12015    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12016    #[inline]
12017    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12018        let mut x = MaybeUninit::<Self>::uninit();
12019        unsafe {
12020            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12021                ty: Self::TYPE,
12022                next,
12023            });
12024        }
12025        x
12026    }
12027}
12028#[repr(C)]
12029#[derive(Copy, Clone, Debug)]
12030#[doc = "See [XrHandPoseTypeInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandPoseTypeInfoMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
12031pub struct HandPoseTypeInfoMSFT {
12032    pub ty: StructureType,
12033    pub next: *const c_void,
12034    pub hand_pose_type: HandPoseTypeMSFT,
12035}
12036impl HandPoseTypeInfoMSFT {
12037    pub const TYPE: StructureType = StructureType::HAND_POSE_TYPE_INFO_MSFT;
12038}
12039#[repr(C)]
12040#[derive(Copy, Clone, Debug)]
12041#[doc = "See [XrSecondaryViewConfigurationSessionBeginInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSecondaryViewConfigurationSessionBeginInfoMSFT) - defined by [XR_MSFT_secondary_view_configuration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_secondary_view_configuration)"]
12042pub struct SecondaryViewConfigurationSessionBeginInfoMSFT {
12043    pub ty: StructureType,
12044    pub next: *const c_void,
12045    pub view_configuration_count: u32,
12046    pub enabled_view_configuration_types: *const ViewConfigurationType,
12047}
12048impl SecondaryViewConfigurationSessionBeginInfoMSFT {
12049    pub const TYPE: StructureType =
12050        StructureType::SECONDARY_VIEW_CONFIGURATION_SESSION_BEGIN_INFO_MSFT;
12051}
12052#[repr(C)]
12053#[derive(Copy, Clone, Debug)]
12054#[doc = "See [XrSecondaryViewConfigurationStateMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSecondaryViewConfigurationStateMSFT) - defined by [XR_MSFT_secondary_view_configuration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_secondary_view_configuration)"]
12055pub struct SecondaryViewConfigurationStateMSFT {
12056    pub ty: StructureType,
12057    pub next: *mut c_void,
12058    pub view_configuration_type: ViewConfigurationType,
12059    pub active: Bool32,
12060}
12061impl SecondaryViewConfigurationStateMSFT {
12062    pub const TYPE: StructureType = StructureType::SECONDARY_VIEW_CONFIGURATION_STATE_MSFT;
12063    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12064    #[inline]
12065    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12066        let mut x = MaybeUninit::<Self>::uninit();
12067        unsafe {
12068            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12069                ty: Self::TYPE,
12070                next,
12071            });
12072        }
12073        x
12074    }
12075}
12076#[repr(C)]
12077#[derive(Copy, Clone, Debug)]
12078#[doc = "See [XrSecondaryViewConfigurationFrameStateMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSecondaryViewConfigurationFrameStateMSFT) - defined by [XR_MSFT_secondary_view_configuration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_secondary_view_configuration)"]
12079pub struct SecondaryViewConfigurationFrameStateMSFT {
12080    pub ty: StructureType,
12081    pub next: *mut c_void,
12082    pub view_configuration_count: u32,
12083    pub view_configuration_states: *mut SecondaryViewConfigurationStateMSFT,
12084}
12085impl SecondaryViewConfigurationFrameStateMSFT {
12086    pub const TYPE: StructureType = StructureType::SECONDARY_VIEW_CONFIGURATION_FRAME_STATE_MSFT;
12087    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12088    #[inline]
12089    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12090        let mut x = MaybeUninit::<Self>::uninit();
12091        unsafe {
12092            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12093                ty: Self::TYPE,
12094                next,
12095            });
12096        }
12097        x
12098    }
12099}
12100#[repr(C)]
12101#[derive(Copy, Clone, Debug)]
12102#[doc = "See [XrSecondaryViewConfigurationFrameEndInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSecondaryViewConfigurationFrameEndInfoMSFT) - defined by [XR_MSFT_secondary_view_configuration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_secondary_view_configuration)"]
12103pub struct SecondaryViewConfigurationFrameEndInfoMSFT {
12104    pub ty: StructureType,
12105    pub next: *const c_void,
12106    pub view_configuration_count: u32,
12107    pub view_configuration_layers_info: *const SecondaryViewConfigurationLayerInfoMSFT,
12108}
12109impl SecondaryViewConfigurationFrameEndInfoMSFT {
12110    pub const TYPE: StructureType = StructureType::SECONDARY_VIEW_CONFIGURATION_FRAME_END_INFO_MSFT;
12111}
12112#[repr(C)]
12113#[derive(Copy, Clone, Debug)]
12114#[doc = "See [XrSecondaryViewConfigurationLayerInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSecondaryViewConfigurationLayerInfoMSFT) - defined by [XR_MSFT_secondary_view_configuration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_secondary_view_configuration)"]
12115pub struct SecondaryViewConfigurationLayerInfoMSFT {
12116    pub ty: StructureType,
12117    pub next: *const c_void,
12118    pub view_configuration_type: ViewConfigurationType,
12119    pub environment_blend_mode: EnvironmentBlendMode,
12120    pub layer_count: u32,
12121    pub layers: *const *const CompositionLayerBaseHeader,
12122}
12123impl SecondaryViewConfigurationLayerInfoMSFT {
12124    pub const TYPE: StructureType = StructureType::SECONDARY_VIEW_CONFIGURATION_LAYER_INFO_MSFT;
12125}
12126#[repr(C)]
12127#[derive(Copy, Clone, Debug)]
12128#[doc = "See [XrSecondaryViewConfigurationSwapchainCreateInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSecondaryViewConfigurationSwapchainCreateInfoMSFT) - defined by [XR_MSFT_secondary_view_configuration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_secondary_view_configuration)"]
12129pub struct SecondaryViewConfigurationSwapchainCreateInfoMSFT {
12130    pub ty: StructureType,
12131    pub next: *const c_void,
12132    pub view_configuration_type: ViewConfigurationType,
12133}
12134impl SecondaryViewConfigurationSwapchainCreateInfoMSFT {
12135    pub const TYPE: StructureType =
12136        StructureType::SECONDARY_VIEW_CONFIGURATION_SWAPCHAIN_CREATE_INFO_MSFT;
12137}
12138#[repr(C)]
12139#[derive(Copy, Clone, Debug)]
12140#[doc = "See [XrHolographicWindowAttachmentMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHolographicWindowAttachmentMSFT) - defined by [XR_MSFT_holographic_window_attachment](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_holographic_window_attachment)"]
12141#[cfg(windows)]
12142pub struct HolographicWindowAttachmentMSFT {
12143    pub ty: StructureType,
12144    pub next: *const c_void,
12145    pub holographic_space: *mut IUnknown,
12146    pub core_window: *mut IUnknown,
12147}
12148#[cfg(windows)]
12149impl HolographicWindowAttachmentMSFT {
12150    pub const TYPE: StructureType = StructureType::HOLOGRAPHIC_WINDOW_ATTACHMENT_MSFT;
12151}
12152#[repr(C)]
12153#[derive(Copy, Clone, Debug)]
12154#[doc = "See [XrAndroidSurfaceSwapchainCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAndroidSurfaceSwapchainCreateInfoFB) - defined by [XR_FB_android_surface_swapchain_create](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_android_surface_swapchain_create)"]
12155#[cfg(target_os = "android")]
12156pub struct AndroidSurfaceSwapchainCreateInfoFB {
12157    pub ty: StructureType,
12158    pub next: *const c_void,
12159    pub create_flags: AndroidSurfaceSwapchainFlagsFB,
12160}
12161#[cfg(target_os = "android")]
12162impl AndroidSurfaceSwapchainCreateInfoFB {
12163    pub const TYPE: StructureType = StructureType::ANDROID_SURFACE_SWAPCHAIN_CREATE_INFO_FB;
12164}
12165#[repr(C)]
12166#[derive(Copy, Clone, Debug)]
12167#[doc = "See [XrSwapchainStateBaseHeaderFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainStateBaseHeaderFB) - defined by [XR_FB_swapchain_update_state](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_swapchain_update_state)"]
12168pub struct SwapchainStateBaseHeaderFB {
12169    pub ty: StructureType,
12170    pub next: *mut c_void,
12171}
12172#[repr(C)]
12173#[derive(Copy, Clone, Debug)]
12174#[doc = "See [XrSwapchainStateAndroidSurfaceDimensionsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainStateAndroidSurfaceDimensionsFB) - defined by [XR_FB_swapchain_update_state_android_surface](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_swapchain_update_state_android_surface)"]
12175#[cfg(target_os = "android")]
12176pub struct SwapchainStateAndroidSurfaceDimensionsFB {
12177    pub ty: StructureType,
12178    pub next: *mut c_void,
12179    pub width: u32,
12180    pub height: u32,
12181}
12182#[cfg(target_os = "android")]
12183impl SwapchainStateAndroidSurfaceDimensionsFB {
12184    pub const TYPE: StructureType = StructureType::SWAPCHAIN_STATE_ANDROID_SURFACE_DIMENSIONS_FB;
12185    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12186    #[inline]
12187    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12188        let mut x = MaybeUninit::<Self>::uninit();
12189        unsafe {
12190            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12191                ty: Self::TYPE,
12192                next,
12193            });
12194        }
12195        x
12196    }
12197}
12198#[repr(C)]
12199#[derive(Copy, Clone, Debug)]
12200#[doc = "See [XrSwapchainStateSamplerOpenGLESFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainStateSamplerOpenGLESFB) - defined by [XR_FB_swapchain_update_state_opengl_es](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_swapchain_update_state_opengl_es)"]
12201pub struct SwapchainStateSamplerOpenGLESFB {
12202    pub ty: StructureType,
12203    pub next: *mut c_void,
12204    pub min_filter: EGLenum,
12205    pub mag_filter: EGLenum,
12206    pub wrap_mode_s: EGLenum,
12207    pub wrap_mode_t: EGLenum,
12208    pub swizzle_red: EGLenum,
12209    pub swizzle_green: EGLenum,
12210    pub swizzle_blue: EGLenum,
12211    pub swizzle_alpha: EGLenum,
12212    pub max_anisotropy: f32,
12213    pub border_color: Color4f,
12214}
12215impl SwapchainStateSamplerOpenGLESFB {
12216    pub const TYPE: StructureType = StructureType::SWAPCHAIN_STATE_SAMPLER_OPENGL_ES_FB;
12217    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12218    #[inline]
12219    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12220        let mut x = MaybeUninit::<Self>::uninit();
12221        unsafe {
12222            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12223                ty: Self::TYPE,
12224                next,
12225            });
12226        }
12227        x
12228    }
12229}
12230#[repr(C)]
12231#[derive(Copy, Clone, Debug)]
12232#[doc = "See [XrSwapchainStateSamplerVulkanFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainStateSamplerVulkanFB) - defined by [XR_FB_swapchain_update_state_vulkan](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_swapchain_update_state_vulkan)"]
12233pub struct SwapchainStateSamplerVulkanFB {
12234    pub ty: StructureType,
12235    pub next: *mut c_void,
12236    pub min_filter: VkFilter,
12237    pub mag_filter: VkFilter,
12238    pub mipmap_mode: VkSamplerMipmapMode,
12239    pub wrap_mode_s: VkSamplerAddressMode,
12240    pub wrap_mode_t: VkSamplerAddressMode,
12241    pub swizzle_red: VkComponentSwizzle,
12242    pub swizzle_green: VkComponentSwizzle,
12243    pub swizzle_blue: VkComponentSwizzle,
12244    pub swizzle_alpha: VkComponentSwizzle,
12245    pub max_anisotropy: f32,
12246    pub border_color: Color4f,
12247}
12248impl SwapchainStateSamplerVulkanFB {
12249    pub const TYPE: StructureType = StructureType::SWAPCHAIN_STATE_SAMPLER_VULKAN_FB;
12250    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12251    #[inline]
12252    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12253        let mut x = MaybeUninit::<Self>::uninit();
12254        unsafe {
12255            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12256                ty: Self::TYPE,
12257                next,
12258            });
12259        }
12260        x
12261    }
12262}
12263#[repr(C)]
12264#[derive(Copy, Clone, Debug)]
12265#[doc = "See [XrCompositionLayerSecureContentFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerSecureContentFB) - defined by [XR_FB_composition_layer_secure_content](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_composition_layer_secure_content)"]
12266pub struct CompositionLayerSecureContentFB {
12267    pub ty: StructureType,
12268    pub next: *const c_void,
12269    pub flags: CompositionLayerSecureContentFlagsFB,
12270}
12271impl CompositionLayerSecureContentFB {
12272    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_SECURE_CONTENT_FB;
12273}
12274#[repr(C)]
12275#[derive(Copy, Clone, Debug)]
12276#[doc = "See [XrLoaderInitInfoBaseHeaderKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLoaderInitInfoBaseHeaderKHR) - defined by [XR_KHR_loader_init](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_loader_init)"]
12277pub struct LoaderInitInfoBaseHeaderKHR {
12278    pub ty: StructureType,
12279    pub next: *const c_void,
12280}
12281#[repr(C)]
12282#[derive(Copy, Clone, Debug)]
12283#[doc = "See [XrLoaderInitInfoAndroidKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLoaderInitInfoAndroidKHR) - defined by [XR_KHR_loader_init_android](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_loader_init_android)"]
12284#[cfg(target_os = "android")]
12285pub struct LoaderInitInfoAndroidKHR {
12286    pub ty: StructureType,
12287    pub next: *const c_void,
12288    pub application_vm: *mut c_void,
12289    pub application_context: *mut c_void,
12290}
12291#[cfg(target_os = "android")]
12292impl LoaderInitInfoAndroidKHR {
12293    pub const TYPE: StructureType = StructureType::LOADER_INIT_INFO_ANDROID_KHR;
12294}
12295#[repr(C)]
12296#[derive(Copy, Clone, Debug)]
12297#[doc = "See [XrCompositionLayerEquirect2KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerEquirect2KHR) - defined by [XR_KHR_composition_layer_equirect2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_composition_layer_equirect2)"]
12298pub struct CompositionLayerEquirect2KHR {
12299    pub ty: StructureType,
12300    pub next: *const c_void,
12301    pub layer_flags: CompositionLayerFlags,
12302    pub space: Space,
12303    pub eye_visibility: EyeVisibility,
12304    pub sub_image: SwapchainSubImage,
12305    pub pose: Posef,
12306    pub radius: f32,
12307    pub central_horizontal_angle: f32,
12308    pub upper_vertical_angle: f32,
12309    pub lower_vertical_angle: f32,
12310}
12311impl CompositionLayerEquirect2KHR {
12312    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_EQUIRECT2_KHR;
12313}
12314#[repr(C)]
12315#[derive(Copy, Clone, Debug)]
12316#[doc = "See [XrCompositionLayerColorScaleBiasKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerColorScaleBiasKHR) - defined by [XR_KHR_composition_layer_color_scale_bias](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_composition_layer_color_scale_bias)"]
12317pub struct CompositionLayerColorScaleBiasKHR {
12318    pub ty: StructureType,
12319    pub next: *const c_void,
12320    pub color_scale: Color4f,
12321    pub color_bias: Color4f,
12322}
12323impl CompositionLayerColorScaleBiasKHR {
12324    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_COLOR_SCALE_BIAS_KHR;
12325}
12326#[repr(C)]
12327#[derive(Copy, Clone, Debug)]
12328#[doc = "See [XrControllerModelKeyStateMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrControllerModelKeyStateMSFT) - defined by [XR_MSFT_controller_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_controller_model)"]
12329pub struct ControllerModelKeyStateMSFT {
12330    pub ty: StructureType,
12331    pub next: *mut c_void,
12332    pub model_key: ControllerModelKeyMSFT,
12333}
12334impl ControllerModelKeyStateMSFT {
12335    pub const TYPE: StructureType = StructureType::CONTROLLER_MODEL_KEY_STATE_MSFT;
12336    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12337    #[inline]
12338    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12339        let mut x = MaybeUninit::<Self>::uninit();
12340        unsafe {
12341            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12342                ty: Self::TYPE,
12343                next,
12344            });
12345        }
12346        x
12347    }
12348}
12349#[repr(C)]
12350#[derive(Copy, Clone, Debug)]
12351#[doc = "See [XrControllerModelNodePropertiesMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrControllerModelNodePropertiesMSFT) - defined by [XR_MSFT_controller_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_controller_model)"]
12352pub struct ControllerModelNodePropertiesMSFT {
12353    pub ty: StructureType,
12354    pub next: *mut c_void,
12355    pub parent_node_name: [c_char; MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT],
12356    pub node_name: [c_char; MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT],
12357}
12358impl ControllerModelNodePropertiesMSFT {
12359    pub const TYPE: StructureType = StructureType::CONTROLLER_MODEL_NODE_PROPERTIES_MSFT;
12360    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12361    #[inline]
12362    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12363        let mut x = MaybeUninit::<Self>::uninit();
12364        unsafe {
12365            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12366                ty: Self::TYPE,
12367                next,
12368            });
12369        }
12370        x
12371    }
12372}
12373#[repr(C)]
12374#[derive(Copy, Clone, Debug)]
12375#[doc = "See [XrControllerModelPropertiesMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrControllerModelPropertiesMSFT) - defined by [XR_MSFT_controller_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_controller_model)"]
12376pub struct ControllerModelPropertiesMSFT {
12377    pub ty: StructureType,
12378    pub next: *mut c_void,
12379    pub node_capacity_input: u32,
12380    pub node_count_output: u32,
12381    pub node_properties: *mut ControllerModelNodePropertiesMSFT,
12382}
12383impl ControllerModelPropertiesMSFT {
12384    pub const TYPE: StructureType = StructureType::CONTROLLER_MODEL_PROPERTIES_MSFT;
12385    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12386    #[inline]
12387    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12388        let mut x = MaybeUninit::<Self>::uninit();
12389        unsafe {
12390            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12391                ty: Self::TYPE,
12392                next,
12393            });
12394        }
12395        x
12396    }
12397}
12398#[repr(C)]
12399#[derive(Copy, Clone, Debug)]
12400#[doc = "See [XrControllerModelNodeStateMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrControllerModelNodeStateMSFT) - defined by [XR_MSFT_controller_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_controller_model)"]
12401pub struct ControllerModelNodeStateMSFT {
12402    pub ty: StructureType,
12403    pub next: *mut c_void,
12404    pub node_pose: Posef,
12405}
12406impl ControllerModelNodeStateMSFT {
12407    pub const TYPE: StructureType = StructureType::CONTROLLER_MODEL_NODE_STATE_MSFT;
12408    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12409    #[inline]
12410    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12411        let mut x = MaybeUninit::<Self>::uninit();
12412        unsafe {
12413            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12414                ty: Self::TYPE,
12415                next,
12416            });
12417        }
12418        x
12419    }
12420}
12421#[repr(C)]
12422#[derive(Copy, Clone, Debug)]
12423#[doc = "See [XrControllerModelStateMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrControllerModelStateMSFT) - defined by [XR_MSFT_controller_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_controller_model)"]
12424pub struct ControllerModelStateMSFT {
12425    pub ty: StructureType,
12426    pub next: *mut c_void,
12427    pub node_capacity_input: u32,
12428    pub node_count_output: u32,
12429    pub node_states: *mut ControllerModelNodeStateMSFT,
12430}
12431impl ControllerModelStateMSFT {
12432    pub const TYPE: StructureType = StructureType::CONTROLLER_MODEL_STATE_MSFT;
12433    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12434    #[inline]
12435    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12436        let mut x = MaybeUninit::<Self>::uninit();
12437        unsafe {
12438            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12439                ty: Self::TYPE,
12440                next,
12441            });
12442        }
12443        x
12444    }
12445}
12446#[repr(C)]
12447#[derive(Copy, Clone, Debug)]
12448#[doc = "See [XrSystemColorSpacePropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemColorSpacePropertiesFB) - defined by [XR_FB_color_space](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_color_space)"]
12449pub struct SystemColorSpacePropertiesFB {
12450    pub ty: StructureType,
12451    pub next: *mut c_void,
12452    pub color_space: ColorSpaceFB,
12453}
12454impl SystemColorSpacePropertiesFB {
12455    pub const TYPE: StructureType = StructureType::SYSTEM_COLOR_SPACE_PROPERTIES_FB;
12456    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12457    #[inline]
12458    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12459        let mut x = MaybeUninit::<Self>::uninit();
12460        unsafe {
12461            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12462                ty: Self::TYPE,
12463                next,
12464            });
12465        }
12466        x
12467    }
12468}
12469#[repr(C)]
12470#[derive(Copy, Clone, Debug)]
12471#[doc = "See [XrSystemSpatialEntityPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpatialEntityPropertiesFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
12472pub struct SystemSpatialEntityPropertiesFB {
12473    pub ty: StructureType,
12474    pub next: *const c_void,
12475    pub supports_spatial_entity: Bool32,
12476}
12477impl SystemSpatialEntityPropertiesFB {
12478    pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_ENTITY_PROPERTIES_FB;
12479}
12480#[repr(C)]
12481#[derive(Copy, Clone, Debug)]
12482#[doc = "See [XrSpatialAnchorCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorCreateInfoFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
12483pub struct SpatialAnchorCreateInfoFB {
12484    pub ty: StructureType,
12485    pub next: *const c_void,
12486    pub space: Space,
12487    pub pose_in_space: Posef,
12488    pub time: Time,
12489}
12490impl SpatialAnchorCreateInfoFB {
12491    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_CREATE_INFO_FB;
12492}
12493#[repr(C)]
12494#[derive(Copy, Clone, Debug)]
12495#[doc = "See [XrSpaceComponentStatusSetInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceComponentStatusSetInfoFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
12496pub struct SpaceComponentStatusSetInfoFB {
12497    pub ty: StructureType,
12498    pub next: *const c_void,
12499    pub component_type: SpaceComponentTypeFB,
12500    pub enabled: Bool32,
12501    pub timeout: Duration,
12502}
12503impl SpaceComponentStatusSetInfoFB {
12504    pub const TYPE: StructureType = StructureType::SPACE_COMPONENT_STATUS_SET_INFO_FB;
12505}
12506#[repr(C)]
12507#[derive(Copy, Clone, Debug)]
12508#[doc = "See [XrSpaceComponentStatusFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceComponentStatusFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
12509pub struct SpaceComponentStatusFB {
12510    pub ty: StructureType,
12511    pub next: *mut c_void,
12512    pub enabled: Bool32,
12513    pub change_pending: Bool32,
12514}
12515impl SpaceComponentStatusFB {
12516    pub const TYPE: StructureType = StructureType::SPACE_COMPONENT_STATUS_FB;
12517    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12518    #[inline]
12519    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12520        let mut x = MaybeUninit::<Self>::uninit();
12521        unsafe {
12522            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12523                ty: Self::TYPE,
12524                next,
12525            });
12526        }
12527        x
12528    }
12529}
12530#[repr(C)]
12531#[derive(Copy, Clone, Debug)]
12532#[doc = "See [XrEventDataSpatialAnchorCreateCompleteFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpatialAnchorCreateCompleteFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
12533pub struct EventDataSpatialAnchorCreateCompleteFB {
12534    pub ty: StructureType,
12535    pub next: *const c_void,
12536    pub request_id: AsyncRequestIdFB,
12537    pub result: Result,
12538    pub space: Space,
12539    pub uuid: UuidEXT,
12540}
12541impl EventDataSpatialAnchorCreateCompleteFB {
12542    pub const TYPE: StructureType = StructureType::EVENT_DATA_SPATIAL_ANCHOR_CREATE_COMPLETE_FB;
12543}
12544#[repr(C)]
12545#[derive(Copy, Clone, Debug)]
12546#[doc = "See [XrEventDataSpaceSetStatusCompleteFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpaceSetStatusCompleteFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
12547pub struct EventDataSpaceSetStatusCompleteFB {
12548    pub ty: StructureType,
12549    pub next: *const c_void,
12550    pub request_id: AsyncRequestIdFB,
12551    pub result: Result,
12552    pub space: Space,
12553    pub uuid: UuidEXT,
12554    pub component_type: SpaceComponentTypeFB,
12555    pub enabled: Bool32,
12556}
12557impl EventDataSpaceSetStatusCompleteFB {
12558    pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_SET_STATUS_COMPLETE_FB;
12559}
12560#[repr(C)]
12561#[derive(Copy, Clone, Debug)]
12562#[doc = "See [XrFoveationProfileCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationProfileCreateInfoFB) - defined by [XR_FB_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_foveation)"]
12563pub struct FoveationProfileCreateInfoFB {
12564    pub ty: StructureType,
12565    pub next: *mut c_void,
12566}
12567impl FoveationProfileCreateInfoFB {
12568    pub const TYPE: StructureType = StructureType::FOVEATION_PROFILE_CREATE_INFO_FB;
12569    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12570    #[inline]
12571    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12572        let mut x = MaybeUninit::<Self>::uninit();
12573        unsafe {
12574            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12575                ty: Self::TYPE,
12576                next,
12577            });
12578        }
12579        x
12580    }
12581}
12582#[repr(C)]
12583#[derive(Copy, Clone, Debug)]
12584#[doc = "See [XrSwapchainCreateInfoFoveationFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainCreateInfoFoveationFB) - defined by [XR_FB_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_foveation)"]
12585pub struct SwapchainCreateInfoFoveationFB {
12586    pub ty: StructureType,
12587    pub next: *mut c_void,
12588    pub flags: SwapchainCreateFoveationFlagsFB,
12589}
12590impl SwapchainCreateInfoFoveationFB {
12591    pub const TYPE: StructureType = StructureType::SWAPCHAIN_CREATE_INFO_FOVEATION_FB;
12592    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12593    #[inline]
12594    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12595        let mut x = MaybeUninit::<Self>::uninit();
12596        unsafe {
12597            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12598                ty: Self::TYPE,
12599                next,
12600            });
12601        }
12602        x
12603    }
12604}
12605#[repr(C)]
12606#[derive(Copy, Clone, Debug)]
12607#[doc = "See [XrSwapchainStateFoveationFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainStateFoveationFB) - defined by [XR_FB_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_foveation)"]
12608pub struct SwapchainStateFoveationFB {
12609    pub ty: StructureType,
12610    pub next: *mut c_void,
12611    pub flags: SwapchainStateFoveationFlagsFB,
12612    pub profile: FoveationProfileFB,
12613}
12614impl SwapchainStateFoveationFB {
12615    pub const TYPE: StructureType = StructureType::SWAPCHAIN_STATE_FOVEATION_FB;
12616    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12617    #[inline]
12618    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12619        let mut x = MaybeUninit::<Self>::uninit();
12620        unsafe {
12621            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12622                ty: Self::TYPE,
12623                next,
12624            });
12625        }
12626        x
12627    }
12628}
12629#[repr(C)]
12630#[derive(Copy, Clone, Debug)]
12631#[doc = "See [XrSwapchainImageFoveationVulkanFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageFoveationVulkanFB) - defined by [XR_FB_foveation_vulkan](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_foveation_vulkan)"]
12632pub struct SwapchainImageFoveationVulkanFB {
12633    pub ty: StructureType,
12634    pub next: *mut c_void,
12635    pub image: VkImage,
12636    pub width: u32,
12637    pub height: u32,
12638}
12639impl SwapchainImageFoveationVulkanFB {
12640    pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_FOVEATION_VULKAN_FB;
12641    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12642    #[inline]
12643    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12644        let mut x = MaybeUninit::<Self>::uninit();
12645        unsafe {
12646            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12647                ty: Self::TYPE,
12648                next,
12649            });
12650        }
12651        x
12652    }
12653}
12654#[repr(C)]
12655#[derive(Copy, Clone, Debug)]
12656#[doc = "See [XrFoveationLevelProfileCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationLevelProfileCreateInfoFB) - defined by [XR_FB_foveation_configuration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_foveation_configuration)"]
12657pub struct FoveationLevelProfileCreateInfoFB {
12658    pub ty: StructureType,
12659    pub next: *mut c_void,
12660    pub level: FoveationLevelFB,
12661    pub vertical_offset: f32,
12662    pub dynamic: FoveationDynamicFB,
12663}
12664impl FoveationLevelProfileCreateInfoFB {
12665    pub const TYPE: StructureType = StructureType::FOVEATION_LEVEL_PROFILE_CREATE_INFO_FB;
12666    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12667    #[inline]
12668    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12669        let mut x = MaybeUninit::<Self>::uninit();
12670        unsafe {
12671            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12672                ty: Self::TYPE,
12673                next,
12674            });
12675        }
12676        x
12677    }
12678}
12679#[repr(C)]
12680#[derive(Copy, Clone, Debug)]
12681#[doc = "See [XrFoveationEyeTrackedProfileCreateInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationEyeTrackedProfileCreateInfoMETA) - defined by [XR_META_foveation_eye_tracked](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_foveation_eye_tracked)"]
12682pub struct FoveationEyeTrackedProfileCreateInfoMETA {
12683    pub ty: StructureType,
12684    pub next: *const c_void,
12685    pub flags: FoveationEyeTrackedProfileCreateFlagsMETA,
12686}
12687impl FoveationEyeTrackedProfileCreateInfoMETA {
12688    pub const TYPE: StructureType = StructureType::FOVEATION_EYE_TRACKED_PROFILE_CREATE_INFO_META;
12689}
12690#[repr(C)]
12691#[derive(Copy, Clone, Debug)]
12692#[doc = "See [XrFoveationEyeTrackedStateMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationEyeTrackedStateMETA) - defined by [XR_META_foveation_eye_tracked](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_foveation_eye_tracked)"]
12693pub struct FoveationEyeTrackedStateMETA {
12694    pub ty: StructureType,
12695    pub next: *mut c_void,
12696    pub foveation_center: [Vector2f; FOVEATION_CENTER_SIZE_META],
12697    pub flags: FoveationEyeTrackedStateFlagsMETA,
12698}
12699impl FoveationEyeTrackedStateMETA {
12700    pub const TYPE: StructureType = StructureType::FOVEATION_EYE_TRACKED_STATE_META;
12701    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12702    #[inline]
12703    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12704        let mut x = MaybeUninit::<Self>::uninit();
12705        unsafe {
12706            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12707                ty: Self::TYPE,
12708                next,
12709            });
12710        }
12711        x
12712    }
12713}
12714#[repr(C)]
12715#[derive(Copy, Clone, Debug)]
12716#[doc = "See [XrSystemFoveationEyeTrackedPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemFoveationEyeTrackedPropertiesMETA) - defined by [XR_META_foveation_eye_tracked](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_foveation_eye_tracked)"]
12717pub struct SystemFoveationEyeTrackedPropertiesMETA {
12718    pub ty: StructureType,
12719    pub next: *mut c_void,
12720    pub supports_foveation_eye_tracked: Bool32,
12721}
12722impl SystemFoveationEyeTrackedPropertiesMETA {
12723    pub const TYPE: StructureType = StructureType::SYSTEM_FOVEATION_EYE_TRACKED_PROPERTIES_META;
12724    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12725    #[inline]
12726    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12727        let mut x = MaybeUninit::<Self>::uninit();
12728        unsafe {
12729            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12730                ty: Self::TYPE,
12731                next,
12732            });
12733        }
12734        x
12735    }
12736}
12737#[repr(C)]
12738#[derive(Copy, Clone, Debug, Default, PartialEq)]
12739#[doc = "See [XrVector4sFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVector4sFB) - defined by [XR_FB_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_hand_tracking_mesh)"]
12740pub struct Vector4sFB {
12741    pub x: i16,
12742    pub y: i16,
12743    pub z: i16,
12744    pub w: i16,
12745}
12746#[repr(C)]
12747#[derive(Copy, Clone, Debug)]
12748#[doc = "See [XrHandTrackingMeshFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackingMeshFB) - defined by [XR_FB_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_hand_tracking_mesh)"]
12749pub struct HandTrackingMeshFB {
12750    pub ty: StructureType,
12751    pub next: *mut c_void,
12752    pub joint_capacity_input: u32,
12753    pub joint_count_output: u32,
12754    pub joint_bind_poses: *mut Posef,
12755    pub joint_radii: *mut f32,
12756    pub joint_parents: *mut HandJointEXT,
12757    pub vertex_capacity_input: u32,
12758    pub vertex_count_output: u32,
12759    pub vertex_positions: *mut Vector3f,
12760    pub vertex_normals: *mut Vector3f,
12761    pub vertex_u_vs: *mut Vector2f,
12762    pub vertex_blend_indices: *mut Vector4sFB,
12763    pub vertex_blend_weights: *mut Vector4f,
12764    pub index_capacity_input: u32,
12765    pub index_count_output: u32,
12766    pub indices: *mut i16,
12767}
12768impl HandTrackingMeshFB {
12769    pub const TYPE: StructureType = StructureType::HAND_TRACKING_MESH_FB;
12770    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12771    #[inline]
12772    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12773        let mut x = MaybeUninit::<Self>::uninit();
12774        unsafe {
12775            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12776                ty: Self::TYPE,
12777                next,
12778            });
12779        }
12780        x
12781    }
12782}
12783#[repr(C)]
12784#[derive(Copy, Clone, Debug)]
12785#[doc = "See [XrHandTrackingScaleFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackingScaleFB) - defined by [XR_FB_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_hand_tracking_mesh)"]
12786pub struct HandTrackingScaleFB {
12787    pub ty: StructureType,
12788    pub next: *mut c_void,
12789    pub sensor_output: f32,
12790    pub current_output: f32,
12791    pub override_hand_scale: Bool32,
12792    pub override_value_input: f32,
12793}
12794impl HandTrackingScaleFB {
12795    pub const TYPE: StructureType = StructureType::HAND_TRACKING_SCALE_FB;
12796    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12797    #[inline]
12798    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12799        let mut x = MaybeUninit::<Self>::uninit();
12800        unsafe {
12801            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12802                ty: Self::TYPE,
12803                next,
12804            });
12805        }
12806        x
12807    }
12808}
12809#[repr(C)]
12810#[derive(Copy, Clone, Debug)]
12811#[doc = "See [XrHandTrackingAimStateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackingAimStateFB) - defined by [XR_FB_hand_tracking_aim](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_hand_tracking_aim)"]
12812pub struct HandTrackingAimStateFB {
12813    pub ty: StructureType,
12814    pub next: *mut c_void,
12815    pub status: HandTrackingAimFlagsFB,
12816    pub aim_pose: Posef,
12817    pub pinch_strength_index: f32,
12818    pub pinch_strength_middle: f32,
12819    pub pinch_strength_ring: f32,
12820    pub pinch_strength_little: f32,
12821}
12822impl HandTrackingAimStateFB {
12823    pub const TYPE: StructureType = StructureType::HAND_TRACKING_AIM_STATE_FB;
12824    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12825    #[inline]
12826    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12827        let mut x = MaybeUninit::<Self>::uninit();
12828        unsafe {
12829            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12830                ty: Self::TYPE,
12831                next,
12832            });
12833        }
12834        x
12835    }
12836}
12837#[repr(C)]
12838#[derive(Copy, Clone, Debug)]
12839#[doc = "See [XrHandCapsuleFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandCapsuleFB) - defined by [XR_FB_hand_tracking_capsules](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_hand_tracking_capsules)"]
12840pub struct HandCapsuleFB {
12841    pub points: [Vector3f; HAND_TRACKING_CAPSULE_POINT_COUNT_FB],
12842    pub radius: f32,
12843    pub joint: HandJointEXT,
12844}
12845#[repr(C)]
12846#[derive(Copy, Clone, Debug)]
12847#[doc = "See [XrHandTrackingCapsulesStateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackingCapsulesStateFB) - defined by [XR_FB_hand_tracking_capsules](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_hand_tracking_capsules)"]
12848pub struct HandTrackingCapsulesStateFB {
12849    pub ty: StructureType,
12850    pub next: *mut c_void,
12851    pub capsules: [HandCapsuleFB; HAND_TRACKING_CAPSULE_COUNT_FB],
12852}
12853impl HandTrackingCapsulesStateFB {
12854    pub const TYPE: StructureType = StructureType::HAND_TRACKING_CAPSULES_STATE_FB;
12855    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12856    #[inline]
12857    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12858        let mut x = MaybeUninit::<Self>::uninit();
12859        unsafe {
12860            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12861                ty: Self::TYPE,
12862                next,
12863            });
12864        }
12865        x
12866    }
12867}
12868#[repr(C)]
12869#[derive(Copy, Clone, Debug)]
12870#[doc = "See [XrRenderModelPathInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelPathInfoFB) - defined by [XR_FB_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_render_model)"]
12871pub struct RenderModelPathInfoFB {
12872    pub ty: StructureType,
12873    pub next: *mut c_void,
12874    pub path: Path,
12875}
12876impl RenderModelPathInfoFB {
12877    pub const TYPE: StructureType = StructureType::RENDER_MODEL_PATH_INFO_FB;
12878    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12879    #[inline]
12880    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12881        let mut x = MaybeUninit::<Self>::uninit();
12882        unsafe {
12883            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12884                ty: Self::TYPE,
12885                next,
12886            });
12887        }
12888        x
12889    }
12890}
12891#[repr(C)]
12892#[derive(Copy, Clone, Debug)]
12893#[doc = "See [XrRenderModelPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelPropertiesFB) - defined by [XR_FB_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_render_model)"]
12894pub struct RenderModelPropertiesFB {
12895    pub ty: StructureType,
12896    pub next: *mut c_void,
12897    pub vendor_id: u32,
12898    pub model_name: [c_char; MAX_RENDER_MODEL_NAME_SIZE_FB],
12899    pub model_key: RenderModelKeyFB,
12900    pub model_version: u32,
12901    pub flags: RenderModelFlagsFB,
12902}
12903impl RenderModelPropertiesFB {
12904    pub const TYPE: StructureType = StructureType::RENDER_MODEL_PROPERTIES_FB;
12905    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12906    #[inline]
12907    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12908        let mut x = MaybeUninit::<Self>::uninit();
12909        unsafe {
12910            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12911                ty: Self::TYPE,
12912                next,
12913            });
12914        }
12915        x
12916    }
12917}
12918#[repr(C)]
12919#[derive(Copy, Clone, Debug)]
12920#[doc = "See [XrRenderModelCapabilitiesRequestFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelCapabilitiesRequestFB) - defined by [XR_FB_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_render_model)"]
12921pub struct RenderModelCapabilitiesRequestFB {
12922    pub ty: StructureType,
12923    pub next: *mut c_void,
12924    pub flags: RenderModelFlagsFB,
12925}
12926impl RenderModelCapabilitiesRequestFB {
12927    pub const TYPE: StructureType = StructureType::RENDER_MODEL_CAPABILITIES_REQUEST_FB;
12928    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12929    #[inline]
12930    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12931        let mut x = MaybeUninit::<Self>::uninit();
12932        unsafe {
12933            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12934                ty: Self::TYPE,
12935                next,
12936            });
12937        }
12938        x
12939    }
12940}
12941#[repr(C)]
12942#[derive(Copy, Clone, Debug)]
12943#[doc = "See [XrRenderModelBufferFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelBufferFB) - defined by [XR_FB_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_render_model)"]
12944pub struct RenderModelBufferFB {
12945    pub ty: StructureType,
12946    pub next: *mut c_void,
12947    pub buffer_capacity_input: u32,
12948    pub buffer_count_output: u32,
12949    pub buffer: *mut u8,
12950}
12951impl RenderModelBufferFB {
12952    pub const TYPE: StructureType = StructureType::RENDER_MODEL_BUFFER_FB;
12953    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12954    #[inline]
12955    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12956        let mut x = MaybeUninit::<Self>::uninit();
12957        unsafe {
12958            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12959                ty: Self::TYPE,
12960                next,
12961            });
12962        }
12963        x
12964    }
12965}
12966#[repr(C)]
12967#[derive(Copy, Clone, Debug)]
12968#[doc = "See [XrRenderModelLoadInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelLoadInfoFB) - defined by [XR_FB_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_render_model)"]
12969pub struct RenderModelLoadInfoFB {
12970    pub ty: StructureType,
12971    pub next: *mut c_void,
12972    pub model_key: RenderModelKeyFB,
12973}
12974impl RenderModelLoadInfoFB {
12975    pub const TYPE: StructureType = StructureType::RENDER_MODEL_LOAD_INFO_FB;
12976    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12977    #[inline]
12978    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12979        let mut x = MaybeUninit::<Self>::uninit();
12980        unsafe {
12981            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12982                ty: Self::TYPE,
12983                next,
12984            });
12985        }
12986        x
12987    }
12988}
12989#[repr(C)]
12990#[derive(Copy, Clone, Debug)]
12991#[doc = "See [XrSystemRenderModelPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemRenderModelPropertiesFB) - defined by [XR_FB_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_render_model)"]
12992pub struct SystemRenderModelPropertiesFB {
12993    pub ty: StructureType,
12994    pub next: *mut c_void,
12995    pub supports_render_model_loading: Bool32,
12996}
12997impl SystemRenderModelPropertiesFB {
12998    pub const TYPE: StructureType = StructureType::SYSTEM_RENDER_MODEL_PROPERTIES_FB;
12999    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13000    #[inline]
13001    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13002        let mut x = MaybeUninit::<Self>::uninit();
13003        unsafe {
13004            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13005                ty: Self::TYPE,
13006                next,
13007            });
13008        }
13009        x
13010    }
13011}
13012#[repr(C)]
13013#[derive(Copy, Clone, Debug)]
13014#[doc = "See [XrSpaceQueryInfoBaseHeaderFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceQueryInfoBaseHeaderFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
13015pub struct SpaceQueryInfoBaseHeaderFB {
13016    pub ty: StructureType,
13017    pub next: *const c_void,
13018}
13019#[repr(C)]
13020#[derive(Copy, Clone, Debug)]
13021#[doc = "See [XrSpaceFilterInfoBaseHeaderFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceFilterInfoBaseHeaderFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
13022pub struct SpaceFilterInfoBaseHeaderFB {
13023    pub ty: StructureType,
13024    pub next: *const c_void,
13025}
13026#[repr(C)]
13027#[derive(Copy, Clone, Debug)]
13028#[doc = "See [XrSpaceQueryInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceQueryInfoFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
13029pub struct SpaceQueryInfoFB {
13030    pub ty: StructureType,
13031    pub next: *const c_void,
13032    pub query_action: SpaceQueryActionFB,
13033    pub max_result_count: u32,
13034    pub timeout: Duration,
13035    pub filter: *const SpaceFilterInfoBaseHeaderFB,
13036    pub exclude_filter: *const SpaceFilterInfoBaseHeaderFB,
13037}
13038impl SpaceQueryInfoFB {
13039    pub const TYPE: StructureType = StructureType::SPACE_QUERY_INFO_FB;
13040}
13041#[repr(C)]
13042#[derive(Copy, Clone, Debug)]
13043#[doc = "See [XrSpaceStorageLocationFilterInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceStorageLocationFilterInfoFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
13044pub struct SpaceStorageLocationFilterInfoFB {
13045    pub ty: StructureType,
13046    pub next: *const c_void,
13047    pub location: SpaceStorageLocationFB,
13048}
13049impl SpaceStorageLocationFilterInfoFB {
13050    pub const TYPE: StructureType = StructureType::SPACE_STORAGE_LOCATION_FILTER_INFO_FB;
13051}
13052#[repr(C)]
13053#[derive(Copy, Clone, Debug)]
13054#[doc = "See [XrSpaceUuidFilterInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceUuidFilterInfoFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
13055pub struct SpaceUuidFilterInfoFB {
13056    pub ty: StructureType,
13057    pub next: *const c_void,
13058    pub uuid_count: u32,
13059    pub uuids: *mut UuidEXT,
13060}
13061impl SpaceUuidFilterInfoFB {
13062    pub const TYPE: StructureType = StructureType::SPACE_UUID_FILTER_INFO_FB;
13063}
13064#[repr(C)]
13065#[derive(Copy, Clone, Debug)]
13066#[doc = "See [XrSpaceComponentFilterInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceComponentFilterInfoFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
13067pub struct SpaceComponentFilterInfoFB {
13068    pub ty: StructureType,
13069    pub next: *const c_void,
13070    pub component_type: SpaceComponentTypeFB,
13071}
13072impl SpaceComponentFilterInfoFB {
13073    pub const TYPE: StructureType = StructureType::SPACE_COMPONENT_FILTER_INFO_FB;
13074}
13075#[repr(C)]
13076#[derive(Copy, Clone, Debug)]
13077#[doc = "See [XrSpaceQueryResultFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceQueryResultFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
13078pub struct SpaceQueryResultFB {
13079    pub space: Space,
13080    pub uuid: UuidEXT,
13081}
13082#[repr(C)]
13083#[derive(Copy, Clone, Debug)]
13084#[doc = "See [XrSpaceQueryResultsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceQueryResultsFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
13085pub struct SpaceQueryResultsFB {
13086    pub ty: StructureType,
13087    pub next: *mut c_void,
13088    pub result_capacity_input: u32,
13089    pub result_count_output: u32,
13090    pub results: *mut SpaceQueryResultFB,
13091}
13092impl SpaceQueryResultsFB {
13093    pub const TYPE: StructureType = StructureType::SPACE_QUERY_RESULTS_FB;
13094    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13095    #[inline]
13096    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13097        let mut x = MaybeUninit::<Self>::uninit();
13098        unsafe {
13099            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13100                ty: Self::TYPE,
13101                next,
13102            });
13103        }
13104        x
13105    }
13106}
13107#[repr(C)]
13108#[derive(Copy, Clone, Debug)]
13109#[doc = "See [XrEventDataSpaceQueryResultsAvailableFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpaceQueryResultsAvailableFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
13110pub struct EventDataSpaceQueryResultsAvailableFB {
13111    pub ty: StructureType,
13112    pub next: *const c_void,
13113    pub request_id: AsyncRequestIdFB,
13114}
13115impl EventDataSpaceQueryResultsAvailableFB {
13116    pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_QUERY_RESULTS_AVAILABLE_FB;
13117}
13118#[repr(C)]
13119#[derive(Copy, Clone, Debug)]
13120#[doc = "See [XrEventDataSpaceQueryCompleteFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpaceQueryCompleteFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
13121pub struct EventDataSpaceQueryCompleteFB {
13122    pub ty: StructureType,
13123    pub next: *const c_void,
13124    pub request_id: AsyncRequestIdFB,
13125    pub result: Result,
13126}
13127impl EventDataSpaceQueryCompleteFB {
13128    pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_QUERY_COMPLETE_FB;
13129}
13130#[repr(C)]
13131#[derive(Copy, Clone, Debug)]
13132#[doc = "See [XrSpaceSaveInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceSaveInfoFB) - defined by [XR_FB_spatial_entity_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_storage)"]
13133pub struct SpaceSaveInfoFB {
13134    pub ty: StructureType,
13135    pub next: *const c_void,
13136    pub space: Space,
13137    pub location: SpaceStorageLocationFB,
13138    pub persistence_mode: SpacePersistenceModeFB,
13139}
13140impl SpaceSaveInfoFB {
13141    pub const TYPE: StructureType = StructureType::SPACE_SAVE_INFO_FB;
13142}
13143#[repr(C)]
13144#[derive(Copy, Clone, Debug)]
13145#[doc = "See [XrSpaceEraseInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceEraseInfoFB) - defined by [XR_FB_spatial_entity_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_storage)"]
13146pub struct SpaceEraseInfoFB {
13147    pub ty: StructureType,
13148    pub next: *const c_void,
13149    pub space: Space,
13150    pub location: SpaceStorageLocationFB,
13151}
13152impl SpaceEraseInfoFB {
13153    pub const TYPE: StructureType = StructureType::SPACE_ERASE_INFO_FB;
13154}
13155#[repr(C)]
13156#[derive(Copy, Clone, Debug)]
13157#[doc = "See [XrEventDataSpaceSaveCompleteFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpaceSaveCompleteFB) - defined by [XR_FB_spatial_entity_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_storage)"]
13158pub struct EventDataSpaceSaveCompleteFB {
13159    pub ty: StructureType,
13160    pub next: *const c_void,
13161    pub request_id: AsyncRequestIdFB,
13162    pub result: Result,
13163    pub space: Space,
13164    pub uuid: UuidEXT,
13165    pub location: SpaceStorageLocationFB,
13166}
13167impl EventDataSpaceSaveCompleteFB {
13168    pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_SAVE_COMPLETE_FB;
13169}
13170#[repr(C)]
13171#[derive(Copy, Clone, Debug)]
13172#[doc = "See [XrEventDataSpaceEraseCompleteFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpaceEraseCompleteFB) - defined by [XR_FB_spatial_entity_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_storage)"]
13173pub struct EventDataSpaceEraseCompleteFB {
13174    pub ty: StructureType,
13175    pub next: *const c_void,
13176    pub request_id: AsyncRequestIdFB,
13177    pub result: Result,
13178    pub space: Space,
13179    pub uuid: UuidEXT,
13180    pub location: SpaceStorageLocationFB,
13181}
13182impl EventDataSpaceEraseCompleteFB {
13183    pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_ERASE_COMPLETE_FB;
13184}
13185#[repr(C)]
13186#[derive(Copy, Clone, Debug)]
13187#[doc = "See [XrSpaceShareInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceShareInfoFB) - defined by [XR_FB_spatial_entity_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_sharing)"]
13188pub struct SpaceShareInfoFB {
13189    pub ty: StructureType,
13190    pub next: *const c_void,
13191    pub space_count: u32,
13192    pub spaces: *mut Space,
13193    pub user_count: u32,
13194    pub users: *mut SpaceUserFB,
13195}
13196impl SpaceShareInfoFB {
13197    pub const TYPE: StructureType = StructureType::SPACE_SHARE_INFO_FB;
13198}
13199#[repr(C)]
13200#[derive(Copy, Clone, Debug)]
13201#[doc = "See [XrEventDataSpaceShareCompleteFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpaceShareCompleteFB) - defined by [XR_FB_spatial_entity_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_sharing)"]
13202pub struct EventDataSpaceShareCompleteFB {
13203    pub ty: StructureType,
13204    pub next: *const c_void,
13205    pub request_id: AsyncRequestIdFB,
13206    pub result: Result,
13207}
13208impl EventDataSpaceShareCompleteFB {
13209    pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_SHARE_COMPLETE_FB;
13210}
13211#[repr(C)]
13212#[derive(Copy, Clone, Debug)]
13213#[doc = "See [XrSpaceListSaveInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceListSaveInfoFB) - defined by [XR_FB_spatial_entity_storage_batch](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_storage_batch)"]
13214pub struct SpaceListSaveInfoFB {
13215    pub ty: StructureType,
13216    pub next: *const c_void,
13217    pub space_count: u32,
13218    pub spaces: *mut Space,
13219    pub location: SpaceStorageLocationFB,
13220}
13221impl SpaceListSaveInfoFB {
13222    pub const TYPE: StructureType = StructureType::SPACE_LIST_SAVE_INFO_FB;
13223}
13224#[repr(C)]
13225#[derive(Copy, Clone, Debug)]
13226#[doc = "See [XrEventDataSpaceListSaveCompleteFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpaceListSaveCompleteFB) - defined by [XR_FB_spatial_entity_storage_batch](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_storage_batch)"]
13227pub struct EventDataSpaceListSaveCompleteFB {
13228    pub ty: StructureType,
13229    pub next: *const c_void,
13230    pub request_id: AsyncRequestIdFB,
13231    pub result: Result,
13232}
13233impl EventDataSpaceListSaveCompleteFB {
13234    pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_LIST_SAVE_COMPLETE_FB;
13235}
13236#[repr(C)]
13237#[derive(Copy, Clone, Debug)]
13238#[doc = "See [XrSpaceContainerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceContainerFB) - defined by [XR_FB_spatial_entity_container](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_container)"]
13239pub struct SpaceContainerFB {
13240    pub ty: StructureType,
13241    pub next: *const c_void,
13242    pub uuid_capacity_input: u32,
13243    pub uuid_count_output: u32,
13244    pub uuids: *mut UuidEXT,
13245}
13246impl SpaceContainerFB {
13247    pub const TYPE: StructureType = StructureType::SPACE_CONTAINER_FB;
13248}
13249#[repr(C)]
13250#[derive(Copy, Clone, Debug)]
13251#[doc = "See [XrSpaceTriangleMeshGetInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceTriangleMeshGetInfoMETA) - defined by [XR_META_spatial_entity_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_mesh)"]
13252pub struct SpaceTriangleMeshGetInfoMETA {
13253    pub ty: StructureType,
13254    pub next: *const c_void,
13255}
13256impl SpaceTriangleMeshGetInfoMETA {
13257    pub const TYPE: StructureType = StructureType::SPACE_TRIANGLE_MESH_GET_INFO_META;
13258}
13259#[repr(C)]
13260#[derive(Copy, Clone, Debug)]
13261#[doc = "See [XrSpaceTriangleMeshMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceTriangleMeshMETA) - defined by [XR_META_spatial_entity_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_mesh)"]
13262pub struct SpaceTriangleMeshMETA {
13263    pub ty: StructureType,
13264    pub next: *mut c_void,
13265    pub vertex_capacity_input: u32,
13266    pub vertex_count_output: u32,
13267    pub vertices: *mut Vector3f,
13268    pub index_capacity_input: u32,
13269    pub index_count_output: u32,
13270    pub indices: *mut u32,
13271}
13272impl SpaceTriangleMeshMETA {
13273    pub const TYPE: StructureType = StructureType::SPACE_TRIANGLE_MESH_META;
13274    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13275    #[inline]
13276    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13277        let mut x = MaybeUninit::<Self>::uninit();
13278        unsafe {
13279            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13280                ty: Self::TYPE,
13281                next,
13282            });
13283        }
13284        x
13285    }
13286}
13287#[repr(C)]
13288#[derive(Copy, Clone, Debug, Default, PartialEq)]
13289#[doc = "See [XrOffset3DfFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrOffset3DfFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
13290pub struct Offset3DfFB {
13291    pub x: f32,
13292    pub y: f32,
13293    pub z: f32,
13294}
13295#[repr(C)]
13296#[derive(Copy, Clone, Debug, Default, PartialEq)]
13297#[doc = "See [XrRect3DfFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRect3DfFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
13298pub struct Rect3DfFB {
13299    pub offset: Offset3DfFB,
13300    pub extent: Extent3DfFB,
13301}
13302#[repr(C)]
13303#[derive(Copy, Clone, Debug)]
13304#[doc = "See [XrSemanticLabelsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSemanticLabelsFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
13305pub struct SemanticLabelsFB {
13306    pub ty: StructureType,
13307    pub next: *const c_void,
13308    pub buffer_capacity_input: u32,
13309    pub buffer_count_output: u32,
13310    pub buffer: *mut c_char,
13311}
13312impl SemanticLabelsFB {
13313    pub const TYPE: StructureType = StructureType::SEMANTIC_LABELS_FB;
13314}
13315#[repr(C)]
13316#[derive(Copy, Clone, Debug)]
13317#[doc = "See [XrRoomLayoutFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRoomLayoutFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
13318pub struct RoomLayoutFB {
13319    pub ty: StructureType,
13320    pub next: *const c_void,
13321    pub floor_uuid: UuidEXT,
13322    pub ceiling_uuid: UuidEXT,
13323    pub wall_uuid_capacity_input: u32,
13324    pub wall_uuid_count_output: u32,
13325    pub wall_uuids: *mut UuidEXT,
13326}
13327impl RoomLayoutFB {
13328    pub const TYPE: StructureType = StructureType::ROOM_LAYOUT_FB;
13329}
13330#[repr(C)]
13331#[derive(Copy, Clone, Debug)]
13332#[doc = "See [XrBoundary2DFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBoundary2DFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
13333pub struct Boundary2DFB {
13334    pub ty: StructureType,
13335    pub next: *const c_void,
13336    pub vertex_capacity_input: u32,
13337    pub vertex_count_output: u32,
13338    pub vertices: *mut Vector2f,
13339}
13340impl Boundary2DFB {
13341    pub const TYPE: StructureType = StructureType::BOUNDARY_2D_FB;
13342}
13343#[repr(C)]
13344#[derive(Copy, Clone, Debug)]
13345#[doc = "See [XrSemanticLabelsSupportInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSemanticLabelsSupportInfoFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
13346pub struct SemanticLabelsSupportInfoFB {
13347    pub ty: StructureType,
13348    pub next: *const c_void,
13349    pub flags: SemanticLabelsSupportFlagsFB,
13350    pub recognized_labels: *const c_char,
13351}
13352impl SemanticLabelsSupportInfoFB {
13353    pub const TYPE: StructureType = StructureType::SEMANTIC_LABELS_SUPPORT_INFO_FB;
13354}
13355#[repr(C)]
13356#[derive(Copy, Clone, Debug)]
13357#[doc = "See [XrSceneCaptureRequestInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneCaptureRequestInfoFB) - defined by [XR_FB_scene_capture](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene_capture)"]
13358pub struct SceneCaptureRequestInfoFB {
13359    pub ty: StructureType,
13360    pub next: *const c_void,
13361    pub request_byte_count: u32,
13362    pub request: *const c_char,
13363}
13364impl SceneCaptureRequestInfoFB {
13365    pub const TYPE: StructureType = StructureType::SCENE_CAPTURE_REQUEST_INFO_FB;
13366}
13367#[repr(C)]
13368#[derive(Copy, Clone, Debug)]
13369#[doc = "See [XrEventDataSceneCaptureCompleteFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSceneCaptureCompleteFB) - defined by [XR_FB_scene_capture](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene_capture)"]
13370pub struct EventDataSceneCaptureCompleteFB {
13371    pub ty: StructureType,
13372    pub next: *const c_void,
13373    pub request_id: AsyncRequestIdFB,
13374    pub result: Result,
13375}
13376impl EventDataSceneCaptureCompleteFB {
13377    pub const TYPE: StructureType = StructureType::EVENT_DATA_SCENE_CAPTURE_COMPLETE_FB;
13378}
13379#[repr(C)]
13380#[derive(Copy, Clone, Debug)]
13381#[doc = "See [XrSystemKeyboardTrackingPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemKeyboardTrackingPropertiesFB) - defined by [XR_FB_keyboard_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_keyboard_tracking)"]
13382pub struct SystemKeyboardTrackingPropertiesFB {
13383    pub ty: StructureType,
13384    pub next: *mut c_void,
13385    pub supports_keyboard_tracking: Bool32,
13386}
13387impl SystemKeyboardTrackingPropertiesFB {
13388    pub const TYPE: StructureType = StructureType::SYSTEM_KEYBOARD_TRACKING_PROPERTIES_FB;
13389    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13390    #[inline]
13391    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13392        let mut x = MaybeUninit::<Self>::uninit();
13393        unsafe {
13394            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13395                ty: Self::TYPE,
13396                next,
13397            });
13398        }
13399        x
13400    }
13401}
13402#[repr(C)]
13403#[derive(Copy, Clone, Debug)]
13404#[doc = "See [XrKeyboardTrackingDescriptionFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrKeyboardTrackingDescriptionFB) - defined by [XR_FB_keyboard_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_keyboard_tracking)"]
13405pub struct KeyboardTrackingDescriptionFB {
13406    pub tracked_keyboard_id: u64,
13407    pub size: Vector3f,
13408    pub flags: KeyboardTrackingFlagsFB,
13409    pub name: [c_char; MAX_KEYBOARD_TRACKING_NAME_SIZE_FB],
13410}
13411#[repr(C)]
13412#[derive(Copy, Clone, Debug)]
13413#[doc = "See [XrKeyboardSpaceCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrKeyboardSpaceCreateInfoFB) - defined by [XR_FB_keyboard_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_keyboard_tracking)"]
13414pub struct KeyboardSpaceCreateInfoFB {
13415    pub ty: StructureType,
13416    pub next: *mut c_void,
13417    pub tracked_keyboard_id: u64,
13418}
13419impl KeyboardSpaceCreateInfoFB {
13420    pub const TYPE: StructureType = StructureType::KEYBOARD_SPACE_CREATE_INFO_FB;
13421    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13422    #[inline]
13423    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13424        let mut x = MaybeUninit::<Self>::uninit();
13425        unsafe {
13426            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13427                ty: Self::TYPE,
13428                next,
13429            });
13430        }
13431        x
13432    }
13433}
13434#[repr(C)]
13435#[derive(Copy, Clone, Debug)]
13436#[doc = "See [XrKeyboardTrackingQueryFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrKeyboardTrackingQueryFB) - defined by [XR_FB_keyboard_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_keyboard_tracking)"]
13437pub struct KeyboardTrackingQueryFB {
13438    pub ty: StructureType,
13439    pub next: *mut c_void,
13440    pub flags: KeyboardTrackingQueryFlagsFB,
13441}
13442impl KeyboardTrackingQueryFB {
13443    pub const TYPE: StructureType = StructureType::KEYBOARD_TRACKING_QUERY_FB;
13444    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13445    #[inline]
13446    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13447        let mut x = MaybeUninit::<Self>::uninit();
13448        unsafe {
13449            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13450                ty: Self::TYPE,
13451                next,
13452            });
13453        }
13454        x
13455    }
13456}
13457#[repr(C)]
13458#[derive(Copy, Clone, Debug)]
13459#[doc = "See [XrSystemColocationDiscoveryPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemColocationDiscoveryPropertiesMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
13460pub struct SystemColocationDiscoveryPropertiesMETA {
13461    pub ty: StructureType,
13462    pub next: *mut c_void,
13463    pub supports_colocation_discovery: Bool32,
13464}
13465impl SystemColocationDiscoveryPropertiesMETA {
13466    pub const TYPE: StructureType = StructureType::SYSTEM_COLOCATION_DISCOVERY_PROPERTIES_META;
13467    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13468    #[inline]
13469    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13470        let mut x = MaybeUninit::<Self>::uninit();
13471        unsafe {
13472            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13473                ty: Self::TYPE,
13474                next,
13475            });
13476        }
13477        x
13478    }
13479}
13480#[repr(C)]
13481#[derive(Copy, Clone, Debug)]
13482#[doc = "See [XrColocationAdvertisementStartInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrColocationAdvertisementStartInfoMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
13483pub struct ColocationAdvertisementStartInfoMETA {
13484    pub ty: StructureType,
13485    pub next: *const c_void,
13486    pub buffer_size: u32,
13487    pub buffer: *mut u8,
13488}
13489impl ColocationAdvertisementStartInfoMETA {
13490    pub const TYPE: StructureType = StructureType::COLOCATION_ADVERTISEMENT_START_INFO_META;
13491}
13492#[repr(C)]
13493#[derive(Copy, Clone, Debug)]
13494#[doc = "See [XrColocationAdvertisementStopInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrColocationAdvertisementStopInfoMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
13495pub struct ColocationAdvertisementStopInfoMETA {
13496    pub ty: StructureType,
13497    pub next: *const c_void,
13498}
13499impl ColocationAdvertisementStopInfoMETA {
13500    pub const TYPE: StructureType = StructureType::COLOCATION_ADVERTISEMENT_STOP_INFO_META;
13501}
13502#[repr(C)]
13503#[derive(Copy, Clone, Debug)]
13504#[doc = "See [XrColocationDiscoveryStartInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrColocationDiscoveryStartInfoMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
13505pub struct ColocationDiscoveryStartInfoMETA {
13506    pub ty: StructureType,
13507    pub next: *const c_void,
13508}
13509impl ColocationDiscoveryStartInfoMETA {
13510    pub const TYPE: StructureType = StructureType::COLOCATION_DISCOVERY_START_INFO_META;
13511}
13512#[repr(C)]
13513#[derive(Copy, Clone, Debug)]
13514#[doc = "See [XrColocationDiscoveryStopInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrColocationDiscoveryStopInfoMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
13515pub struct ColocationDiscoveryStopInfoMETA {
13516    pub ty: StructureType,
13517    pub next: *const c_void,
13518}
13519impl ColocationDiscoveryStopInfoMETA {
13520    pub const TYPE: StructureType = StructureType::COLOCATION_DISCOVERY_STOP_INFO_META;
13521}
13522#[repr(C)]
13523#[derive(Copy, Clone, Debug)]
13524#[doc = "See [XrEventDataStartColocationAdvertisementCompleteMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataStartColocationAdvertisementCompleteMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
13525pub struct EventDataStartColocationAdvertisementCompleteMETA {
13526    pub ty: StructureType,
13527    pub next: *const c_void,
13528    pub advertisement_request_id: AsyncRequestIdFB,
13529    pub result: Result,
13530    pub advertisement_uuid: Uuid,
13531}
13532impl EventDataStartColocationAdvertisementCompleteMETA {
13533    pub const TYPE: StructureType =
13534        StructureType::EVENT_DATA_START_COLOCATION_ADVERTISEMENT_COMPLETE_META;
13535}
13536#[repr(C)]
13537#[derive(Copy, Clone, Debug)]
13538#[doc = "See [XrEventDataColocationAdvertisementCompleteMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataColocationAdvertisementCompleteMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
13539pub struct EventDataColocationAdvertisementCompleteMETA {
13540    pub ty: StructureType,
13541    pub next: *const c_void,
13542    pub advertisement_request_id: AsyncRequestIdFB,
13543    pub result: Result,
13544}
13545impl EventDataColocationAdvertisementCompleteMETA {
13546    pub const TYPE: StructureType =
13547        StructureType::EVENT_DATA_COLOCATION_ADVERTISEMENT_COMPLETE_META;
13548}
13549#[repr(C)]
13550#[derive(Copy, Clone, Debug)]
13551#[doc = "See [XrEventDataStopColocationAdvertisementCompleteMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataStopColocationAdvertisementCompleteMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
13552pub struct EventDataStopColocationAdvertisementCompleteMETA {
13553    pub ty: StructureType,
13554    pub next: *const c_void,
13555    pub request_id: AsyncRequestIdFB,
13556    pub result: Result,
13557}
13558impl EventDataStopColocationAdvertisementCompleteMETA {
13559    pub const TYPE: StructureType =
13560        StructureType::EVENT_DATA_STOP_COLOCATION_ADVERTISEMENT_COMPLETE_META;
13561}
13562#[repr(C)]
13563#[derive(Copy, Clone, Debug)]
13564#[doc = "See [XrEventDataStartColocationDiscoveryCompleteMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataStartColocationDiscoveryCompleteMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
13565pub struct EventDataStartColocationDiscoveryCompleteMETA {
13566    pub ty: StructureType,
13567    pub next: *const c_void,
13568    pub discovery_request_id: AsyncRequestIdFB,
13569    pub result: Result,
13570}
13571impl EventDataStartColocationDiscoveryCompleteMETA {
13572    pub const TYPE: StructureType =
13573        StructureType::EVENT_DATA_START_COLOCATION_DISCOVERY_COMPLETE_META;
13574}
13575#[repr(C)]
13576#[derive(Copy, Clone, Debug)]
13577#[doc = "See [XrEventDataColocationDiscoveryResultMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataColocationDiscoveryResultMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
13578pub struct EventDataColocationDiscoveryResultMETA {
13579    pub ty: StructureType,
13580    pub next: *const c_void,
13581    pub discovery_request_id: AsyncRequestIdFB,
13582    pub advertisement_uuid: Uuid,
13583    pub buffer_size: u32,
13584    pub buffer: [u8; MAX_COLOCATION_DISCOVERY_BUFFER_SIZE_META],
13585}
13586impl EventDataColocationDiscoveryResultMETA {
13587    pub const TYPE: StructureType = StructureType::EVENT_DATA_COLOCATION_DISCOVERY_RESULT_META;
13588}
13589#[repr(C)]
13590#[derive(Copy, Clone, Debug)]
13591#[doc = "See [XrEventDataColocationDiscoveryCompleteMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataColocationDiscoveryCompleteMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
13592pub struct EventDataColocationDiscoveryCompleteMETA {
13593    pub ty: StructureType,
13594    pub next: *const c_void,
13595    pub discovery_request_id: AsyncRequestIdFB,
13596    pub result: Result,
13597}
13598impl EventDataColocationDiscoveryCompleteMETA {
13599    pub const TYPE: StructureType = StructureType::EVENT_DATA_COLOCATION_DISCOVERY_COMPLETE_META;
13600}
13601#[repr(C)]
13602#[derive(Copy, Clone, Debug)]
13603#[doc = "See [XrEventDataStopColocationDiscoveryCompleteMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataStopColocationDiscoveryCompleteMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
13604pub struct EventDataStopColocationDiscoveryCompleteMETA {
13605    pub ty: StructureType,
13606    pub next: *const c_void,
13607    pub request_id: AsyncRequestIdFB,
13608    pub result: Result,
13609}
13610impl EventDataStopColocationDiscoveryCompleteMETA {
13611    pub const TYPE: StructureType =
13612        StructureType::EVENT_DATA_STOP_COLOCATION_DISCOVERY_COMPLETE_META;
13613}
13614#[repr(C)]
13615#[derive(Copy, Clone, Debug)]
13616#[doc = "See [XrSystemSpatialEntitySharingPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpatialEntitySharingPropertiesMETA) - defined by [XR_META_spatial_entity_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_sharing)"]
13617pub struct SystemSpatialEntitySharingPropertiesMETA {
13618    pub ty: StructureType,
13619    pub next: *mut c_void,
13620    pub supports_spatial_entity_sharing: Bool32,
13621}
13622impl SystemSpatialEntitySharingPropertiesMETA {
13623    pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_ENTITY_SHARING_PROPERTIES_META;
13624    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13625    #[inline]
13626    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13627        let mut x = MaybeUninit::<Self>::uninit();
13628        unsafe {
13629            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13630                ty: Self::TYPE,
13631                next,
13632            });
13633        }
13634        x
13635    }
13636}
13637#[repr(C)]
13638#[derive(Copy, Clone, Debug)]
13639#[doc = "See [XrShareSpacesRecipientBaseHeaderMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrShareSpacesRecipientBaseHeaderMETA) - defined by [XR_META_spatial_entity_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_sharing)"]
13640pub struct ShareSpacesRecipientBaseHeaderMETA {
13641    pub ty: StructureType,
13642    pub next: *const c_void,
13643}
13644#[repr(C)]
13645#[derive(Copy, Clone, Debug)]
13646#[doc = "See [XrShareSpacesInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrShareSpacesInfoMETA) - defined by [XR_META_spatial_entity_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_sharing)"]
13647pub struct ShareSpacesInfoMETA {
13648    pub ty: StructureType,
13649    pub next: *const c_void,
13650    pub space_count: u32,
13651    pub spaces: *mut Space,
13652    pub recipient_info: *const ShareSpacesRecipientBaseHeaderMETA,
13653}
13654impl ShareSpacesInfoMETA {
13655    pub const TYPE: StructureType = StructureType::SHARE_SPACES_INFO_META;
13656}
13657#[repr(C)]
13658#[derive(Copy, Clone, Debug)]
13659#[doc = "See [XrEventDataShareSpacesCompleteMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataShareSpacesCompleteMETA) - defined by [XR_META_spatial_entity_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_sharing)"]
13660pub struct EventDataShareSpacesCompleteMETA {
13661    pub ty: StructureType,
13662    pub next: *const c_void,
13663    pub request_id: AsyncRequestIdFB,
13664    pub result: Result,
13665}
13666impl EventDataShareSpacesCompleteMETA {
13667    pub const TYPE: StructureType = StructureType::EVENT_DATA_SHARE_SPACES_COMPLETE_META;
13668}
13669#[repr(C)]
13670#[derive(Copy, Clone, Debug)]
13671#[doc = "See [XrShareSpacesRecipientGroupsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrShareSpacesRecipientGroupsMETA)"]
13672pub struct ShareSpacesRecipientGroupsMETA {
13673    pub ty: StructureType,
13674    pub next: *const c_void,
13675    pub group_count: u32,
13676    pub groups: *mut Uuid,
13677}
13678impl ShareSpacesRecipientGroupsMETA {
13679    pub const TYPE: StructureType = StructureType::SHARE_SPACES_RECIPIENT_GROUPS_META;
13680}
13681#[repr(C)]
13682#[derive(Copy, Clone, Debug)]
13683#[doc = "See [XrSpaceGroupUuidFilterInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceGroupUuidFilterInfoMETA)"]
13684pub struct SpaceGroupUuidFilterInfoMETA {
13685    pub ty: StructureType,
13686    pub next: *const c_void,
13687    pub group_uuid: Uuid,
13688}
13689impl SpaceGroupUuidFilterInfoMETA {
13690    pub const TYPE: StructureType = StructureType::SPACE_GROUP_UUID_FILTER_INFO_META;
13691}
13692#[repr(C)]
13693#[derive(Copy, Clone, Debug)]
13694#[doc = "See [XrSystemSpatialEntityGroupSharingPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpatialEntityGroupSharingPropertiesMETA) - defined by [XR_META_spatial_entity_group_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_group_sharing)"]
13695pub struct SystemSpatialEntityGroupSharingPropertiesMETA {
13696    pub ty: StructureType,
13697    pub next: *mut c_void,
13698    pub supports_spatial_entity_group_sharing: Bool32,
13699}
13700impl SystemSpatialEntityGroupSharingPropertiesMETA {
13701    pub const TYPE: StructureType =
13702        StructureType::SYSTEM_SPATIAL_ENTITY_GROUP_SHARING_PROPERTIES_META;
13703    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13704    #[inline]
13705    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13706        let mut x = MaybeUninit::<Self>::uninit();
13707        unsafe {
13708            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13709                ty: Self::TYPE,
13710                next,
13711            });
13712        }
13713        x
13714    }
13715}
13716#[repr(C)]
13717#[derive(Copy, Clone, Debug)]
13718#[doc = "See [XrCompositionLayerDepthTestVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerDepthTestVARJO) - defined by [XR_VARJO_composition_layer_depth_test](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_composition_layer_depth_test)"]
13719pub struct CompositionLayerDepthTestVARJO {
13720    pub ty: StructureType,
13721    pub next: *const c_void,
13722    pub depth_test_range_near_z: f32,
13723    pub depth_test_range_far_z: f32,
13724}
13725impl CompositionLayerDepthTestVARJO {
13726    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_DEPTH_TEST_VARJO;
13727}
13728#[repr(C)]
13729#[derive(Copy, Clone, Debug)]
13730#[doc = "See [XrViewLocateFoveatedRenderingVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewLocateFoveatedRenderingVARJO) - defined by [XR_VARJO_foveated_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_foveated_rendering)"]
13731pub struct ViewLocateFoveatedRenderingVARJO {
13732    pub ty: StructureType,
13733    pub next: *const c_void,
13734    pub foveated_rendering_active: Bool32,
13735}
13736impl ViewLocateFoveatedRenderingVARJO {
13737    pub const TYPE: StructureType = StructureType::VIEW_LOCATE_FOVEATED_RENDERING_VARJO;
13738}
13739#[repr(C)]
13740#[derive(Copy, Clone, Debug)]
13741#[doc = "See [XrFoveatedViewConfigurationViewVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveatedViewConfigurationViewVARJO) - defined by [XR_VARJO_foveated_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_foveated_rendering)"]
13742pub struct FoveatedViewConfigurationViewVARJO {
13743    pub ty: StructureType,
13744    pub next: *mut c_void,
13745    pub foveated_rendering_active: Bool32,
13746}
13747impl FoveatedViewConfigurationViewVARJO {
13748    pub const TYPE: StructureType = StructureType::FOVEATED_VIEW_CONFIGURATION_VIEW_VARJO;
13749    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13750    #[inline]
13751    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13752        let mut x = MaybeUninit::<Self>::uninit();
13753        unsafe {
13754            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13755                ty: Self::TYPE,
13756                next,
13757            });
13758        }
13759        x
13760    }
13761}
13762#[repr(C)]
13763#[derive(Copy, Clone, Debug)]
13764#[doc = "See [XrSystemFoveatedRenderingPropertiesVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemFoveatedRenderingPropertiesVARJO) - defined by [XR_VARJO_foveated_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_foveated_rendering)"]
13765pub struct SystemFoveatedRenderingPropertiesVARJO {
13766    pub ty: StructureType,
13767    pub next: *mut c_void,
13768    pub supports_foveated_rendering: Bool32,
13769}
13770impl SystemFoveatedRenderingPropertiesVARJO {
13771    pub const TYPE: StructureType = StructureType::SYSTEM_FOVEATED_RENDERING_PROPERTIES_VARJO;
13772    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13773    #[inline]
13774    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13775        let mut x = MaybeUninit::<Self>::uninit();
13776        unsafe {
13777            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13778                ty: Self::TYPE,
13779                next,
13780            });
13781        }
13782        x
13783    }
13784}
13785#[repr(C)]
13786#[derive(Copy, Clone, Debug)]
13787#[doc = "See [XrCompositionLayerReprojectionInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerReprojectionInfoMSFT) - defined by [XR_MSFT_composition_layer_reprojection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_composition_layer_reprojection)"]
13788pub struct CompositionLayerReprojectionInfoMSFT {
13789    pub ty: StructureType,
13790    pub next: *const c_void,
13791    pub reprojection_mode: ReprojectionModeMSFT,
13792}
13793impl CompositionLayerReprojectionInfoMSFT {
13794    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_REPROJECTION_INFO_MSFT;
13795}
13796#[repr(C)]
13797#[derive(Copy, Clone, Debug)]
13798#[doc = "See [XrCompositionLayerReprojectionPlaneOverrideMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerReprojectionPlaneOverrideMSFT) - defined by [XR_MSFT_composition_layer_reprojection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_composition_layer_reprojection)"]
13799pub struct CompositionLayerReprojectionPlaneOverrideMSFT {
13800    pub ty: StructureType,
13801    pub next: *const c_void,
13802    pub position: Vector3f,
13803    pub normal: Vector3f,
13804    pub velocity: Vector3f,
13805}
13806impl CompositionLayerReprojectionPlaneOverrideMSFT {
13807    pub const TYPE: StructureType =
13808        StructureType::COMPOSITION_LAYER_REPROJECTION_PLANE_OVERRIDE_MSFT;
13809}
13810#[repr(C)]
13811#[derive(Copy, Clone, Debug)]
13812#[doc = "See [XrTriangleMeshCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTriangleMeshCreateInfoFB) - defined by [XR_FB_triangle_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_triangle_mesh)"]
13813pub struct TriangleMeshCreateInfoFB {
13814    pub ty: StructureType,
13815    pub next: *const c_void,
13816    pub flags: TriangleMeshFlagsFB,
13817    pub winding_order: WindingOrderFB,
13818    pub vertex_count: u32,
13819    pub vertex_buffer: *const Vector3f,
13820    pub triangle_count: u32,
13821    pub index_buffer: *const u32,
13822}
13823impl TriangleMeshCreateInfoFB {
13824    pub const TYPE: StructureType = StructureType::TRIANGLE_MESH_CREATE_INFO_FB;
13825}
13826#[repr(C)]
13827#[derive(Copy, Clone, Debug)]
13828#[doc = "See [XrSystemPassthroughPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemPassthroughPropertiesFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
13829pub struct SystemPassthroughPropertiesFB {
13830    pub ty: StructureType,
13831    pub next: *const c_void,
13832    pub supports_passthrough: Bool32,
13833}
13834impl SystemPassthroughPropertiesFB {
13835    pub const TYPE: StructureType = StructureType::SYSTEM_PASSTHROUGH_PROPERTIES_FB;
13836}
13837#[repr(C)]
13838#[derive(Copy, Clone, Debug)]
13839#[doc = "See [XrSystemPassthroughProperties2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemPassthroughProperties2FB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
13840pub struct SystemPassthroughProperties2FB {
13841    pub ty: StructureType,
13842    pub next: *const c_void,
13843    pub capabilities: PassthroughCapabilityFlagsFB,
13844}
13845impl SystemPassthroughProperties2FB {
13846    pub const TYPE: StructureType = StructureType::SYSTEM_PASSTHROUGH_PROPERTIES2_FB;
13847}
13848#[repr(C)]
13849#[derive(Copy, Clone, Debug)]
13850#[doc = "See [XrPassthroughCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughCreateInfoFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
13851pub struct PassthroughCreateInfoFB {
13852    pub ty: StructureType,
13853    pub next: *const c_void,
13854    pub flags: PassthroughFlagsFB,
13855}
13856impl PassthroughCreateInfoFB {
13857    pub const TYPE: StructureType = StructureType::PASSTHROUGH_CREATE_INFO_FB;
13858}
13859#[repr(C)]
13860#[derive(Copy, Clone, Debug)]
13861#[doc = "See [XrPassthroughLayerCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughLayerCreateInfoFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
13862pub struct PassthroughLayerCreateInfoFB {
13863    pub ty: StructureType,
13864    pub next: *const c_void,
13865    pub passthrough: PassthroughFB,
13866    pub flags: PassthroughFlagsFB,
13867    pub purpose: PassthroughLayerPurposeFB,
13868}
13869impl PassthroughLayerCreateInfoFB {
13870    pub const TYPE: StructureType = StructureType::PASSTHROUGH_LAYER_CREATE_INFO_FB;
13871}
13872#[repr(C)]
13873#[derive(Copy, Clone, Debug)]
13874#[doc = "See [XrCompositionLayerPassthroughFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerPassthroughFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
13875pub struct CompositionLayerPassthroughFB {
13876    pub ty: StructureType,
13877    pub next: *const c_void,
13878    pub flags: CompositionLayerFlags,
13879    pub space: Space,
13880    pub layer_handle: PassthroughLayerFB,
13881}
13882impl CompositionLayerPassthroughFB {
13883    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_PASSTHROUGH_FB;
13884}
13885#[repr(C)]
13886#[derive(Copy, Clone, Debug)]
13887#[doc = "See [XrGeometryInstanceCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGeometryInstanceCreateInfoFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
13888pub struct GeometryInstanceCreateInfoFB {
13889    pub ty: StructureType,
13890    pub next: *const c_void,
13891    pub layer: PassthroughLayerFB,
13892    pub mesh: TriangleMeshFB,
13893    pub base_space: Space,
13894    pub pose: Posef,
13895    pub scale: Vector3f,
13896}
13897impl GeometryInstanceCreateInfoFB {
13898    pub const TYPE: StructureType = StructureType::GEOMETRY_INSTANCE_CREATE_INFO_FB;
13899}
13900#[repr(C)]
13901#[derive(Copy, Clone, Debug)]
13902#[doc = "See [XrGeometryInstanceTransformFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGeometryInstanceTransformFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
13903pub struct GeometryInstanceTransformFB {
13904    pub ty: StructureType,
13905    pub next: *const c_void,
13906    pub base_space: Space,
13907    pub time: Time,
13908    pub pose: Posef,
13909    pub scale: Vector3f,
13910}
13911impl GeometryInstanceTransformFB {
13912    pub const TYPE: StructureType = StructureType::GEOMETRY_INSTANCE_TRANSFORM_FB;
13913}
13914#[repr(C)]
13915#[derive(Copy, Clone, Debug)]
13916#[doc = "See [XrPassthroughStyleFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughStyleFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
13917pub struct PassthroughStyleFB {
13918    pub ty: StructureType,
13919    pub next: *const c_void,
13920    pub texture_opacity_factor: f32,
13921    pub edge_color: Color4f,
13922}
13923impl PassthroughStyleFB {
13924    pub const TYPE: StructureType = StructureType::PASSTHROUGH_STYLE_FB;
13925}
13926#[repr(C)]
13927#[derive(Copy, Clone, Debug)]
13928#[doc = "See [XrPassthroughColorMapMonoToRgbaFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorMapMonoToRgbaFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
13929pub struct PassthroughColorMapMonoToRgbaFB {
13930    pub ty: StructureType,
13931    pub next: *const c_void,
13932    pub texture_color_map: [Color4f; PASSTHROUGH_COLOR_MAP_MONO_SIZE_FB],
13933}
13934impl PassthroughColorMapMonoToRgbaFB {
13935    pub const TYPE: StructureType = StructureType::PASSTHROUGH_COLOR_MAP_MONO_TO_RGBA_FB;
13936}
13937#[repr(C)]
13938#[derive(Copy, Clone, Debug)]
13939#[doc = "See [XrPassthroughColorMapMonoToMonoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorMapMonoToMonoFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
13940pub struct PassthroughColorMapMonoToMonoFB {
13941    pub ty: StructureType,
13942    pub next: *const c_void,
13943    pub texture_color_map: [u8; PASSTHROUGH_COLOR_MAP_MONO_SIZE_FB],
13944}
13945impl PassthroughColorMapMonoToMonoFB {
13946    pub const TYPE: StructureType = StructureType::PASSTHROUGH_COLOR_MAP_MONO_TO_MONO_FB;
13947}
13948#[repr(C)]
13949#[derive(Copy, Clone, Debug)]
13950#[doc = "See [XrPassthroughBrightnessContrastSaturationFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughBrightnessContrastSaturationFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
13951pub struct PassthroughBrightnessContrastSaturationFB {
13952    pub ty: StructureType,
13953    pub next: *const c_void,
13954    pub brightness: f32,
13955    pub contrast: f32,
13956    pub saturation: f32,
13957}
13958impl PassthroughBrightnessContrastSaturationFB {
13959    pub const TYPE: StructureType = StructureType::PASSTHROUGH_BRIGHTNESS_CONTRAST_SATURATION_FB;
13960}
13961#[repr(C)]
13962#[derive(Copy, Clone, Debug)]
13963#[doc = "See [XrEventDataPassthroughStateChangedFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataPassthroughStateChangedFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
13964pub struct EventDataPassthroughStateChangedFB {
13965    pub ty: StructureType,
13966    pub next: *const c_void,
13967    pub flags: PassthroughStateChangedFlagsFB,
13968}
13969impl EventDataPassthroughStateChangedFB {
13970    pub const TYPE: StructureType = StructureType::EVENT_DATA_PASSTHROUGH_STATE_CHANGED_FB;
13971}
13972#[repr(C)]
13973#[derive(Copy, Clone, Debug)]
13974#[doc = "See [XrPassthroughKeyboardHandsIntensityFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughKeyboardHandsIntensityFB) - defined by [XR_FB_passthrough_keyboard_hands](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough_keyboard_hands)"]
13975pub struct PassthroughKeyboardHandsIntensityFB {
13976    pub ty: StructureType,
13977    pub next: *const c_void,
13978    pub left_hand_intensity: f32,
13979    pub right_hand_intensity: f32,
13980}
13981impl PassthroughKeyboardHandsIntensityFB {
13982    pub const TYPE: StructureType = StructureType::PASSTHROUGH_KEYBOARD_HANDS_INTENSITY_FB;
13983}
13984#[repr(C)]
13985#[derive(Copy, Clone, Debug)]
13986#[doc = "See [XrLocalDimmingFrameEndInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalDimmingFrameEndInfoMETA) - defined by [XR_META_local_dimming](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_local_dimming)"]
13987pub struct LocalDimmingFrameEndInfoMETA {
13988    pub ty: StructureType,
13989    pub next: *const c_void,
13990    pub local_dimming_mode: LocalDimmingModeMETA,
13991}
13992impl LocalDimmingFrameEndInfoMETA {
13993    pub const TYPE: StructureType = StructureType::LOCAL_DIMMING_FRAME_END_INFO_META;
13994}
13995#[repr(C)]
13996#[derive(Copy, Clone, Debug)]
13997#[doc = "See [XrSpatialAnchorPersistenceNameMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorPersistenceNameMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
13998pub struct SpatialAnchorPersistenceNameMSFT {
13999    pub name: [c_char; MAX_SPATIAL_ANCHOR_NAME_SIZE_MSFT],
14000}
14001#[repr(C)]
14002#[derive(Copy, Clone, Debug)]
14003#[doc = "See [XrSpatialAnchorPersistenceInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorPersistenceInfoMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
14004pub struct SpatialAnchorPersistenceInfoMSFT {
14005    pub ty: StructureType,
14006    pub next: *const c_void,
14007    pub spatial_anchor_persistence_name: SpatialAnchorPersistenceNameMSFT,
14008    pub spatial_anchor: SpatialAnchorMSFT,
14009}
14010impl SpatialAnchorPersistenceInfoMSFT {
14011    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_PERSISTENCE_INFO_MSFT;
14012}
14013#[repr(C)]
14014#[derive(Copy, Clone, Debug)]
14015#[doc = "See [XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
14016pub struct SpatialAnchorFromPersistedAnchorCreateInfoMSFT {
14017    pub ty: StructureType,
14018    pub next: *const c_void,
14019    pub spatial_anchor_store: SpatialAnchorStoreConnectionMSFT,
14020    pub spatial_anchor_persistence_name: SpatialAnchorPersistenceNameMSFT,
14021}
14022impl SpatialAnchorFromPersistedAnchorCreateInfoMSFT {
14023    pub const TYPE: StructureType =
14024        StructureType::SPATIAL_ANCHOR_FROM_PERSISTED_ANCHOR_CREATE_INFO_MSFT;
14025}
14026#[repr(C)]
14027#[derive(Copy, Clone, Debug)]
14028#[doc = "See [XrSystemBodyTrackingPropertiesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemBodyTrackingPropertiesBD) - defined by [XR_BD_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_body_tracking)"]
14029pub struct SystemBodyTrackingPropertiesBD {
14030    pub ty: StructureType,
14031    pub next: *mut c_void,
14032    pub supports_body_tracking: Bool32,
14033}
14034impl SystemBodyTrackingPropertiesBD {
14035    pub const TYPE: StructureType = StructureType::SYSTEM_BODY_TRACKING_PROPERTIES_BD;
14036    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14037    #[inline]
14038    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14039        let mut x = MaybeUninit::<Self>::uninit();
14040        unsafe {
14041            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14042                ty: Self::TYPE,
14043                next,
14044            });
14045        }
14046        x
14047    }
14048}
14049#[repr(C)]
14050#[derive(Copy, Clone, Debug)]
14051#[doc = "See [XrBodyTrackerCreateInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackerCreateInfoBD) - defined by [XR_BD_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_body_tracking)"]
14052pub struct BodyTrackerCreateInfoBD {
14053    pub ty: StructureType,
14054    pub next: *const c_void,
14055    pub joint_set: BodyJointSetBD,
14056}
14057impl BodyTrackerCreateInfoBD {
14058    pub const TYPE: StructureType = StructureType::BODY_TRACKER_CREATE_INFO_BD;
14059}
14060#[repr(C)]
14061#[derive(Copy, Clone, Debug)]
14062#[doc = "See [XrBodyJointsLocateInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointsLocateInfoBD) - defined by [XR_BD_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_body_tracking)"]
14063pub struct BodyJointsLocateInfoBD {
14064    pub ty: StructureType,
14065    pub next: *const c_void,
14066    pub base_space: Space,
14067    pub time: Time,
14068}
14069impl BodyJointsLocateInfoBD {
14070    pub const TYPE: StructureType = StructureType::BODY_JOINTS_LOCATE_INFO_BD;
14071}
14072#[repr(C)]
14073#[derive(Copy, Clone, Debug, Default, PartialEq)]
14074#[doc = "See [XrBodyJointLocationBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointLocationBD) - defined by [XR_BD_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_body_tracking)"]
14075pub struct BodyJointLocationBD {
14076    pub location_flags: SpaceLocationFlags,
14077    pub pose: Posef,
14078}
14079#[repr(C)]
14080#[derive(Copy, Clone, Debug)]
14081#[doc = "See [XrBodyJointLocationsBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointLocationsBD) - defined by [XR_BD_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_body_tracking)"]
14082pub struct BodyJointLocationsBD {
14083    pub ty: StructureType,
14084    pub next: *mut c_void,
14085    pub all_joint_poses_tracked: Bool32,
14086    pub joint_location_count: u32,
14087    pub joint_locations: *mut BodyJointLocationBD,
14088}
14089impl BodyJointLocationsBD {
14090    pub const TYPE: StructureType = StructureType::BODY_JOINT_LOCATIONS_BD;
14091    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14092    #[inline]
14093    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14094        let mut x = MaybeUninit::<Self>::uninit();
14095        unsafe {
14096            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14097                ty: Self::TYPE,
14098                next,
14099            });
14100        }
14101        x
14102    }
14103}
14104#[repr(C)]
14105#[derive(Copy, Clone, Debug)]
14106#[doc = "See [XrFuturePollResultProgressBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFuturePollResultProgressBD) - defined by [XR_BD_future_progress](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_future_progress)"]
14107pub struct FuturePollResultProgressBD {
14108    pub ty: StructureType,
14109    pub next: *mut c_void,
14110    pub is_supported: Bool32,
14111    pub progress_percentage: u32,
14112}
14113impl FuturePollResultProgressBD {
14114    pub const TYPE: StructureType = StructureType::FUTURE_POLL_RESULT_PROGRESS_BD;
14115    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14116    #[inline]
14117    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14118        let mut x = MaybeUninit::<Self>::uninit();
14119        unsafe {
14120            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14121                ty: Self::TYPE,
14122                next,
14123            });
14124        }
14125        x
14126    }
14127}
14128#[repr(C)]
14129#[derive(Copy, Clone, Debug)]
14130#[doc = "See [XrFacialTrackerCreateInfoHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialTrackerCreateInfoHTC) - defined by [XR_HTC_facial_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_facial_tracking)"]
14131pub struct FacialTrackerCreateInfoHTC {
14132    pub ty: StructureType,
14133    pub next: *const c_void,
14134    pub facial_tracking_type: FacialTrackingTypeHTC,
14135}
14136impl FacialTrackerCreateInfoHTC {
14137    pub const TYPE: StructureType = StructureType::FACIAL_TRACKER_CREATE_INFO_HTC;
14138}
14139#[repr(C)]
14140#[derive(Copy, Clone, Debug)]
14141#[doc = "See [XrSystemFacialTrackingPropertiesHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemFacialTrackingPropertiesHTC) - defined by [XR_HTC_facial_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_facial_tracking)"]
14142pub struct SystemFacialTrackingPropertiesHTC {
14143    pub ty: StructureType,
14144    pub next: *mut c_void,
14145    pub support_eye_facial_tracking: Bool32,
14146    pub support_lip_facial_tracking: Bool32,
14147}
14148impl SystemFacialTrackingPropertiesHTC {
14149    pub const TYPE: StructureType = StructureType::SYSTEM_FACIAL_TRACKING_PROPERTIES_HTC;
14150    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14151    #[inline]
14152    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14153        let mut x = MaybeUninit::<Self>::uninit();
14154        unsafe {
14155            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14156                ty: Self::TYPE,
14157                next,
14158            });
14159        }
14160        x
14161    }
14162}
14163#[repr(C)]
14164#[derive(Copy, Clone, Debug)]
14165#[doc = "See [XrFacialExpressionsHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialExpressionsHTC) - defined by [XR_HTC_facial_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_facial_tracking)"]
14166pub struct FacialExpressionsHTC {
14167    pub ty: StructureType,
14168    pub next: *const c_void,
14169    pub is_active: Bool32,
14170    pub sample_time: Time,
14171    pub expression_count: u32,
14172    pub expression_weightings: *mut f32,
14173}
14174impl FacialExpressionsHTC {
14175    pub const TYPE: StructureType = StructureType::FACIAL_EXPRESSIONS_HTC;
14176}
14177#[repr(C)]
14178#[derive(Copy, Clone, Debug)]
14179#[doc = "See [XrPassthroughCreateInfoHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughCreateInfoHTC) - defined by [XR_HTC_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_passthrough)"]
14180pub struct PassthroughCreateInfoHTC {
14181    pub ty: StructureType,
14182    pub next: *const c_void,
14183    pub form: PassthroughFormHTC,
14184}
14185impl PassthroughCreateInfoHTC {
14186    pub const TYPE: StructureType = StructureType::PASSTHROUGH_CREATE_INFO_HTC;
14187}
14188#[repr(C)]
14189#[derive(Copy, Clone, Debug)]
14190#[doc = "See [XrPassthroughColorHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorHTC) - defined by [XR_HTC_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_passthrough)"]
14191pub struct PassthroughColorHTC {
14192    pub ty: StructureType,
14193    pub next: *const c_void,
14194    pub alpha: f32,
14195}
14196impl PassthroughColorHTC {
14197    pub const TYPE: StructureType = StructureType::PASSTHROUGH_COLOR_HTC;
14198}
14199#[repr(C)]
14200#[derive(Copy, Clone, Debug)]
14201#[doc = "See [XrPassthroughMeshTransformInfoHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughMeshTransformInfoHTC) - defined by [XR_HTC_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_passthrough)"]
14202pub struct PassthroughMeshTransformInfoHTC {
14203    pub ty: StructureType,
14204    pub next: *const c_void,
14205    pub vertex_count: u32,
14206    pub vertices: *const Vector3f,
14207    pub index_count: u32,
14208    pub indices: *const u32,
14209    pub base_space: Space,
14210    pub time: Time,
14211    pub pose: Posef,
14212    pub scale: Vector3f,
14213}
14214impl PassthroughMeshTransformInfoHTC {
14215    pub const TYPE: StructureType = StructureType::PASSTHROUGH_MESH_TRANSFORM_INFO_HTC;
14216}
14217#[repr(C)]
14218#[derive(Copy, Clone, Debug)]
14219#[doc = "See [XrCompositionLayerPassthroughHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerPassthroughHTC) - defined by [XR_HTC_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_passthrough)"]
14220pub struct CompositionLayerPassthroughHTC {
14221    pub ty: StructureType,
14222    pub next: *const c_void,
14223    pub layer_flags: CompositionLayerFlags,
14224    pub space: Space,
14225    pub passthrough: PassthroughHTC,
14226    pub color: PassthroughColorHTC,
14227}
14228impl CompositionLayerPassthroughHTC {
14229    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_PASSTHROUGH_HTC;
14230}
14231#[repr(C)]
14232#[derive(Copy, Clone, Debug)]
14233#[doc = "See [XrSpatialAnchorCreateInfoHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorCreateInfoHTC) - defined by [XR_HTC_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_anchor)"]
14234pub struct SpatialAnchorCreateInfoHTC {
14235    pub ty: StructureType,
14236    pub next: *const c_void,
14237    pub space: Space,
14238    pub pose_in_space: Posef,
14239    pub name: SpatialAnchorNameHTC,
14240}
14241impl SpatialAnchorCreateInfoHTC {
14242    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_CREATE_INFO_HTC;
14243}
14244#[repr(C)]
14245#[derive(Copy, Clone, Debug)]
14246#[doc = "See [XrSpatialAnchorNameHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorNameHTC) - defined by [XR_HTC_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_anchor)"]
14247pub struct SpatialAnchorNameHTC {
14248    pub name: [c_char; MAX_SPATIAL_ANCHOR_NAME_SIZE_HTC],
14249}
14250#[repr(C)]
14251#[derive(Copy, Clone, Debug)]
14252#[doc = "See [XrSystemAnchorPropertiesHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemAnchorPropertiesHTC) - defined by [XR_HTC_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_anchor)"]
14253pub struct SystemAnchorPropertiesHTC {
14254    pub ty: StructureType,
14255    pub next: *mut c_void,
14256    pub supports_anchor: Bool32,
14257}
14258impl SystemAnchorPropertiesHTC {
14259    pub const TYPE: StructureType = StructureType::SYSTEM_ANCHOR_PROPERTIES_HTC;
14260    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14261    #[inline]
14262    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14263        let mut x = MaybeUninit::<Self>::uninit();
14264        unsafe {
14265            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14266                ty: Self::TYPE,
14267                next,
14268            });
14269        }
14270        x
14271    }
14272}
14273#[repr(C)]
14274#[derive(Copy, Clone, Debug)]
14275#[doc = "See [XrViveTrackerPathsHTCX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViveTrackerPathsHTCX) - defined by [XR_HTCX_vive_tracker_interaction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTCX_vive_tracker_interaction)"]
14276pub struct ViveTrackerPathsHTCX {
14277    pub ty: StructureType,
14278    pub next: *mut c_void,
14279    pub persistent_path: Path,
14280    pub role_path: Path,
14281}
14282impl ViveTrackerPathsHTCX {
14283    pub const TYPE: StructureType = StructureType::VIVE_TRACKER_PATHS_HTCX;
14284    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14285    #[inline]
14286    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14287        let mut x = MaybeUninit::<Self>::uninit();
14288        unsafe {
14289            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14290                ty: Self::TYPE,
14291                next,
14292            });
14293        }
14294        x
14295    }
14296}
14297#[repr(C)]
14298#[derive(Copy, Clone, Debug)]
14299#[doc = "See [XrEventDataViveTrackerConnectedHTCX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataViveTrackerConnectedHTCX) - defined by [XR_HTCX_vive_tracker_interaction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTCX_vive_tracker_interaction)"]
14300pub struct EventDataViveTrackerConnectedHTCX {
14301    pub ty: StructureType,
14302    pub next: *const c_void,
14303    pub paths: *mut ViveTrackerPathsHTCX,
14304}
14305impl EventDataViveTrackerConnectedHTCX {
14306    pub const TYPE: StructureType = StructureType::EVENT_DATA_VIVE_TRACKER_CONNECTED_HTCX;
14307}
14308#[repr(C)]
14309#[derive(Copy, Clone, Debug)]
14310#[doc = "See [XrSystemBodyTrackingPropertiesHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemBodyTrackingPropertiesHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
14311pub struct SystemBodyTrackingPropertiesHTC {
14312    pub ty: StructureType,
14313    pub next: *mut c_void,
14314    pub supports_body_tracking: Bool32,
14315}
14316impl SystemBodyTrackingPropertiesHTC {
14317    pub const TYPE: StructureType = StructureType::SYSTEM_BODY_TRACKING_PROPERTIES_HTC;
14318    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14319    #[inline]
14320    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14321        let mut x = MaybeUninit::<Self>::uninit();
14322        unsafe {
14323            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14324                ty: Self::TYPE,
14325                next,
14326            });
14327        }
14328        x
14329    }
14330}
14331#[repr(C)]
14332#[derive(Copy, Clone, Debug)]
14333#[doc = "See [XrBodyTrackerCreateInfoHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackerCreateInfoHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
14334pub struct BodyTrackerCreateInfoHTC {
14335    pub ty: StructureType,
14336    pub next: *const c_void,
14337    pub body_joint_set: BodyJointSetHTC,
14338}
14339impl BodyTrackerCreateInfoHTC {
14340    pub const TYPE: StructureType = StructureType::BODY_TRACKER_CREATE_INFO_HTC;
14341}
14342#[repr(C)]
14343#[derive(Copy, Clone, Debug, Default, PartialEq)]
14344#[doc = "See [XrBodySkeletonJointHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodySkeletonJointHTC)"]
14345pub struct BodySkeletonJointHTC {
14346    pub pose: Posef,
14347}
14348#[repr(C)]
14349#[derive(Copy, Clone, Debug)]
14350#[doc = "See [XrBodySkeletonHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodySkeletonHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
14351pub struct BodySkeletonHTC {
14352    pub ty: StructureType,
14353    pub next: *mut c_void,
14354    pub joint_count: u32,
14355    pub joints: *mut BodySkeletonJointHTC,
14356}
14357impl BodySkeletonHTC {
14358    pub const TYPE: StructureType = StructureType::BODY_SKELETON_HTC;
14359    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14360    #[inline]
14361    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14362        let mut x = MaybeUninit::<Self>::uninit();
14363        unsafe {
14364            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14365                ty: Self::TYPE,
14366                next,
14367            });
14368        }
14369        x
14370    }
14371}
14372#[repr(C)]
14373#[derive(Copy, Clone, Debug)]
14374#[doc = "See [XrBodyJointsLocateInfoHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointsLocateInfoHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
14375pub struct BodyJointsLocateInfoHTC {
14376    pub ty: StructureType,
14377    pub next: *const c_void,
14378    pub base_space: Space,
14379    pub time: Time,
14380}
14381impl BodyJointsLocateInfoHTC {
14382    pub const TYPE: StructureType = StructureType::BODY_JOINTS_LOCATE_INFO_HTC;
14383}
14384#[repr(C)]
14385#[derive(Copy, Clone, Debug, Default, PartialEq)]
14386#[doc = "See [XrBodyJointLocationHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointLocationHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
14387pub struct BodyJointLocationHTC {
14388    pub location_flags: SpaceLocationFlags,
14389    pub pose: Posef,
14390}
14391#[repr(C)]
14392#[derive(Copy, Clone, Debug)]
14393#[doc = "See [XrBodyJointLocationsHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointLocationsHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
14394pub struct BodyJointLocationsHTC {
14395    pub ty: StructureType,
14396    pub next: *mut c_void,
14397    pub combined_location_flags: SpaceLocationFlags,
14398    pub confidence_level: BodyJointConfidenceHTC,
14399    pub joint_location_count: u32,
14400    pub joint_locations: *mut BodyJointLocationHTC,
14401    pub skeleton_generation_id: u32,
14402}
14403impl BodyJointLocationsHTC {
14404    pub const TYPE: StructureType = StructureType::BODY_JOINT_LOCATIONS_HTC;
14405    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14406    #[inline]
14407    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14408        let mut x = MaybeUninit::<Self>::uninit();
14409        unsafe {
14410            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14411                ty: Self::TYPE,
14412                next,
14413            });
14414        }
14415        x
14416    }
14417}
14418#[repr(C)]
14419#[derive(Copy, Clone, Debug)]
14420#[doc = "See [XrCompositionLayerSpaceWarpInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerSpaceWarpInfoFB) - defined by [XR_FB_space_warp](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_space_warp)"]
14421pub struct CompositionLayerSpaceWarpInfoFB {
14422    pub ty: StructureType,
14423    pub next: *const c_void,
14424    pub layer_flags: CompositionLayerSpaceWarpInfoFlagsFB,
14425    pub motion_vector_sub_image: SwapchainSubImage,
14426    pub app_space_delta_pose: Posef,
14427    pub depth_sub_image: SwapchainSubImage,
14428    pub min_depth: f32,
14429    pub max_depth: f32,
14430    pub near_z: f32,
14431    pub far_z: f32,
14432}
14433impl CompositionLayerSpaceWarpInfoFB {
14434    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_SPACE_WARP_INFO_FB;
14435}
14436#[repr(C)]
14437#[derive(Copy, Clone, Debug)]
14438#[doc = "See [XrSystemSpaceWarpPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpaceWarpPropertiesFB) - defined by [XR_FB_space_warp](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_space_warp)"]
14439pub struct SystemSpaceWarpPropertiesFB {
14440    pub ty: StructureType,
14441    pub next: *mut c_void,
14442    pub recommended_motion_vector_image_rect_width: u32,
14443    pub recommended_motion_vector_image_rect_height: u32,
14444}
14445impl SystemSpaceWarpPropertiesFB {
14446    pub const TYPE: StructureType = StructureType::SYSTEM_SPACE_WARP_PROPERTIES_FB;
14447    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14448    #[inline]
14449    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14450        let mut x = MaybeUninit::<Self>::uninit();
14451        unsafe {
14452            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14453                ty: Self::TYPE,
14454                next,
14455            });
14456        }
14457        x
14458    }
14459}
14460#[repr(C)]
14461#[derive(Copy, Clone, Debug)]
14462#[doc = "See [XrSystemMarkerTrackingPropertiesVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemMarkerTrackingPropertiesVARJO) - defined by [XR_VARJO_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_marker_tracking)"]
14463pub struct SystemMarkerTrackingPropertiesVARJO {
14464    pub ty: StructureType,
14465    pub next: *mut c_void,
14466    pub supports_marker_tracking: Bool32,
14467}
14468impl SystemMarkerTrackingPropertiesVARJO {
14469    pub const TYPE: StructureType = StructureType::SYSTEM_MARKER_TRACKING_PROPERTIES_VARJO;
14470    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14471    #[inline]
14472    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14473        let mut x = MaybeUninit::<Self>::uninit();
14474        unsafe {
14475            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14476                ty: Self::TYPE,
14477                next,
14478            });
14479        }
14480        x
14481    }
14482}
14483#[repr(C)]
14484#[derive(Copy, Clone, Debug)]
14485#[doc = "See [XrEventDataMarkerTrackingUpdateVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataMarkerTrackingUpdateVARJO) - defined by [XR_VARJO_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_marker_tracking)"]
14486pub struct EventDataMarkerTrackingUpdateVARJO {
14487    pub ty: StructureType,
14488    pub next: *const c_void,
14489    pub marker_id: u64,
14490    pub is_active: Bool32,
14491    pub is_predicted: Bool32,
14492    pub time: Time,
14493}
14494impl EventDataMarkerTrackingUpdateVARJO {
14495    pub const TYPE: StructureType = StructureType::EVENT_DATA_MARKER_TRACKING_UPDATE_VARJO;
14496}
14497#[repr(C)]
14498#[derive(Copy, Clone, Debug)]
14499#[doc = "See [XrMarkerSpaceCreateInfoVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerSpaceCreateInfoVARJO) - defined by [XR_VARJO_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_marker_tracking)"]
14500pub struct MarkerSpaceCreateInfoVARJO {
14501    pub ty: StructureType,
14502    pub next: *const c_void,
14503    pub marker_id: u64,
14504    pub pose_in_marker_space: Posef,
14505}
14506impl MarkerSpaceCreateInfoVARJO {
14507    pub const TYPE: StructureType = StructureType::MARKER_SPACE_CREATE_INFO_VARJO;
14508}
14509#[repr(C)]
14510#[derive(Copy, Clone, Debug)]
14511#[doc = "See [XrGlobalDimmerFrameEndInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGlobalDimmerFrameEndInfoML) - defined by [XR_ML_global_dimmer](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_global_dimmer)"]
14512pub struct GlobalDimmerFrameEndInfoML {
14513    pub ty: StructureType,
14514    pub next: *const c_void,
14515    pub dimmer_value: f32,
14516    pub flags: GlobalDimmerFrameEndInfoFlagsML,
14517}
14518impl GlobalDimmerFrameEndInfoML {
14519    pub const TYPE: StructureType = StructureType::GLOBAL_DIMMER_FRAME_END_INFO_ML;
14520}
14521#[repr(C)]
14522#[derive(Copy, Clone, Debug)]
14523#[doc = "See [XrDigitalLensControlALMALENCE](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDigitalLensControlALMALENCE)"]
14524pub struct DigitalLensControlALMALENCE {
14525    pub ty: StructureType,
14526    pub next: *const c_void,
14527    pub flags: DigitalLensControlFlagsALMALENCE,
14528}
14529impl DigitalLensControlALMALENCE {
14530    pub const TYPE: StructureType = StructureType::DIGITAL_LENS_CONTROL_ALMALENCE;
14531}
14532#[repr(C)]
14533#[derive(Copy, Clone, Debug)]
14534#[doc = "See [XrCompositionLayerSettingsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerSettingsFB) - defined by [XR_FB_composition_layer_settings](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_composition_layer_settings)"]
14535pub struct CompositionLayerSettingsFB {
14536    pub ty: StructureType,
14537    pub next: *const c_void,
14538    pub layer_flags: CompositionLayerSettingsFlagsFB,
14539}
14540impl CompositionLayerSettingsFB {
14541    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_SETTINGS_FB;
14542}
14543#[repr(C)]
14544#[derive(Copy, Clone, Debug, PartialEq)]
14545#[doc = "See [XrExternalCameraIntrinsicsOCULUS](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExternalCameraIntrinsicsOCULUS) - defined by [XR_OCULUS_external_camera](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_OCULUS_external_camera)"]
14546pub struct ExternalCameraIntrinsicsOCULUS {
14547    pub last_change_time: Time,
14548    pub fov: Fovf,
14549    pub virtual_near_plane_distance: f32,
14550    pub virtual_far_plane_distance: f32,
14551    pub image_sensor_pixel_resolution: Extent2Di,
14552}
14553#[repr(C)]
14554#[derive(Copy, Clone, Debug, PartialEq)]
14555#[doc = "See [XrExternalCameraExtrinsicsOCULUS](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExternalCameraExtrinsicsOCULUS) - defined by [XR_OCULUS_external_camera](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_OCULUS_external_camera)"]
14556pub struct ExternalCameraExtrinsicsOCULUS {
14557    pub last_change_time: Time,
14558    pub camera_status_flags: ExternalCameraStatusFlagsOCULUS,
14559    pub attached_to_device: ExternalCameraAttachedToDeviceOCULUS,
14560    pub relative_pose: Posef,
14561}
14562#[repr(C)]
14563#[derive(Copy, Clone, Debug)]
14564#[doc = "See [XrExternalCameraOCULUS](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExternalCameraOCULUS) - defined by [XR_OCULUS_external_camera](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_OCULUS_external_camera)"]
14565pub struct ExternalCameraOCULUS {
14566    pub ty: StructureType,
14567    pub next: *const c_void,
14568    pub name: [c_char; MAX_EXTERNAL_CAMERA_NAME_SIZE_OCULUS],
14569    pub intrinsics: ExternalCameraIntrinsicsOCULUS,
14570    pub extrinsics: ExternalCameraExtrinsicsOCULUS,
14571}
14572impl ExternalCameraOCULUS {
14573    pub const TYPE: StructureType = StructureType::EXTERNAL_CAMERA_OCULUS;
14574}
14575#[repr(C)]
14576#[derive(Copy, Clone, Debug)]
14577#[doc = "See [XrPerformanceMetricsStateMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerformanceMetricsStateMETA) - defined by [XR_META_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_performance_metrics)"]
14578pub struct PerformanceMetricsStateMETA {
14579    pub ty: StructureType,
14580    pub next: *const c_void,
14581    pub enabled: Bool32,
14582}
14583impl PerformanceMetricsStateMETA {
14584    pub const TYPE: StructureType = StructureType::PERFORMANCE_METRICS_STATE_META;
14585}
14586#[repr(C)]
14587#[derive(Copy, Clone, Debug)]
14588#[doc = "See [XrPerformanceMetricsCounterMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerformanceMetricsCounterMETA) - defined by [XR_META_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_performance_metrics)"]
14589pub struct PerformanceMetricsCounterMETA {
14590    pub ty: StructureType,
14591    pub next: *const c_void,
14592    pub counter_flags: PerformanceMetricsCounterFlagsMETA,
14593    pub counter_unit: PerformanceMetricsCounterUnitMETA,
14594    pub uint_value: u32,
14595    pub float_value: f32,
14596}
14597impl PerformanceMetricsCounterMETA {
14598    pub const TYPE: StructureType = StructureType::PERFORMANCE_METRICS_COUNTER_META;
14599}
14600#[repr(C)]
14601#[derive(Copy, Clone, Debug)]
14602#[doc = "See [XrPassthroughPreferencesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughPreferencesMETA) - defined by [XR_META_passthrough_preferences](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_preferences)"]
14603pub struct PassthroughPreferencesMETA {
14604    pub ty: StructureType,
14605    pub next: *const c_void,
14606    pub flags: PassthroughPreferenceFlagsMETA,
14607}
14608impl PassthroughPreferencesMETA {
14609    pub const TYPE: StructureType = StructureType::PASSTHROUGH_PREFERENCES_META;
14610}
14611#[repr(C)]
14612#[derive(Copy, Clone, Debug)]
14613#[doc = "See [XrSystemHeadsetIdPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemHeadsetIdPropertiesMETA) - defined by [XR_META_headset_id](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_headset_id)"]
14614pub struct SystemHeadsetIdPropertiesMETA {
14615    pub ty: StructureType,
14616    pub next: *mut c_void,
14617    pub id: UuidEXT,
14618}
14619impl SystemHeadsetIdPropertiesMETA {
14620    pub const TYPE: StructureType = StructureType::SYSTEM_HEADSET_ID_PROPERTIES_META;
14621    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14622    #[inline]
14623    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14624        let mut x = MaybeUninit::<Self>::uninit();
14625        unsafe {
14626            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14627                ty: Self::TYPE,
14628                next,
14629            });
14630        }
14631        x
14632    }
14633}
14634#[repr(C)]
14635#[derive(Copy, Clone, Debug)]
14636#[doc = "See [XrSystemSpacePersistencePropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpacePersistencePropertiesMETA) - defined by [XR_META_spatial_entity_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_persistence)"]
14637pub struct SystemSpacePersistencePropertiesMETA {
14638    pub ty: StructureType,
14639    pub next: *const c_void,
14640    pub supports_space_persistence: Bool32,
14641}
14642impl SystemSpacePersistencePropertiesMETA {
14643    pub const TYPE: StructureType = StructureType::SYSTEM_SPACE_PERSISTENCE_PROPERTIES_META;
14644}
14645#[repr(C)]
14646#[derive(Copy, Clone, Debug)]
14647#[doc = "See [XrSpacesSaveInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpacesSaveInfoMETA) - defined by [XR_META_spatial_entity_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_persistence)"]
14648pub struct SpacesSaveInfoMETA {
14649    pub ty: StructureType,
14650    pub next: *const c_void,
14651    pub space_count: u32,
14652    pub spaces: *mut Space,
14653}
14654impl SpacesSaveInfoMETA {
14655    pub const TYPE: StructureType = StructureType::SPACES_SAVE_INFO_META;
14656}
14657#[repr(C)]
14658#[derive(Copy, Clone, Debug)]
14659#[doc = "See [XrEventDataSpacesSaveResultMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpacesSaveResultMETA) - defined by [XR_META_spatial_entity_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_persistence)"]
14660pub struct EventDataSpacesSaveResultMETA {
14661    pub ty: StructureType,
14662    pub next: *const c_void,
14663    pub request_id: AsyncRequestIdFB,
14664    pub result: Result,
14665}
14666impl EventDataSpacesSaveResultMETA {
14667    pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACES_SAVE_RESULT_META;
14668}
14669#[repr(C)]
14670#[derive(Copy, Clone, Debug)]
14671#[doc = "See [XrSpacesEraseInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpacesEraseInfoMETA) - defined by [XR_META_spatial_entity_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_persistence)"]
14672pub struct SpacesEraseInfoMETA {
14673    pub ty: StructureType,
14674    pub next: *const c_void,
14675    pub space_count: u32,
14676    pub spaces: *mut Space,
14677    pub uuid_count: u32,
14678    pub uuids: *mut UuidEXT,
14679}
14680impl SpacesEraseInfoMETA {
14681    pub const TYPE: StructureType = StructureType::SPACES_ERASE_INFO_META;
14682}
14683#[repr(C)]
14684#[derive(Copy, Clone, Debug)]
14685#[doc = "See [XrEventDataSpacesEraseResultMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpacesEraseResultMETA) - defined by [XR_META_spatial_entity_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_persistence)"]
14686pub struct EventDataSpacesEraseResultMETA {
14687    pub ty: StructureType,
14688    pub next: *const c_void,
14689    pub request_id: AsyncRequestIdFB,
14690    pub result: Result,
14691}
14692impl EventDataSpacesEraseResultMETA {
14693    pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACES_ERASE_RESULT_META;
14694}
14695#[repr(C)]
14696#[derive(Copy, Clone, Debug)]
14697#[doc = "See [XrSystemSpaceDiscoveryPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpaceDiscoveryPropertiesMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
14698pub struct SystemSpaceDiscoveryPropertiesMETA {
14699    pub ty: StructureType,
14700    pub next: *const c_void,
14701    pub supports_space_discovery: Bool32,
14702}
14703impl SystemSpaceDiscoveryPropertiesMETA {
14704    pub const TYPE: StructureType = StructureType::SYSTEM_SPACE_DISCOVERY_PROPERTIES_META;
14705}
14706#[repr(C)]
14707#[derive(Copy, Clone, Debug)]
14708#[doc = "See [XrSpaceFilterBaseHeaderMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceFilterBaseHeaderMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
14709pub struct SpaceFilterBaseHeaderMETA {
14710    pub ty: StructureType,
14711    pub next: *const c_void,
14712}
14713#[repr(C)]
14714#[derive(Copy, Clone, Debug)]
14715#[doc = "See [XrSpaceDiscoveryInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceDiscoveryInfoMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
14716pub struct SpaceDiscoveryInfoMETA {
14717    pub ty: StructureType,
14718    pub next: *const c_void,
14719    pub filter_count: u32,
14720    pub filters: *const *const SpaceFilterBaseHeaderMETA,
14721}
14722impl SpaceDiscoveryInfoMETA {
14723    pub const TYPE: StructureType = StructureType::SPACE_DISCOVERY_INFO_META;
14724}
14725#[repr(C)]
14726#[derive(Copy, Clone, Debug)]
14727#[doc = "See [XrSpaceFilterUuidMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceFilterUuidMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
14728pub struct SpaceFilterUuidMETA {
14729    pub ty: StructureType,
14730    pub next: *const c_void,
14731    pub uuid_count: u32,
14732    pub uuids: *const UuidEXT,
14733}
14734impl SpaceFilterUuidMETA {
14735    pub const TYPE: StructureType = StructureType::SPACE_FILTER_UUID_META;
14736}
14737#[repr(C)]
14738#[derive(Copy, Clone, Debug)]
14739#[doc = "See [XrSpaceFilterComponentMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceFilterComponentMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
14740pub struct SpaceFilterComponentMETA {
14741    pub ty: StructureType,
14742    pub next: *const c_void,
14743    pub component_type: SpaceComponentTypeFB,
14744}
14745impl SpaceFilterComponentMETA {
14746    pub const TYPE: StructureType = StructureType::SPACE_FILTER_COMPONENT_META;
14747}
14748#[repr(C)]
14749#[derive(Copy, Clone, Debug)]
14750#[doc = "See [XrSpaceDiscoveryResultMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceDiscoveryResultMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
14751pub struct SpaceDiscoveryResultMETA {
14752    pub space: Space,
14753    pub uuid: UuidEXT,
14754}
14755#[repr(C)]
14756#[derive(Copy, Clone, Debug)]
14757#[doc = "See [XrSpaceDiscoveryResultsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceDiscoveryResultsMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
14758pub struct SpaceDiscoveryResultsMETA {
14759    pub ty: StructureType,
14760    pub next: *const c_void,
14761    pub result_capacity_input: u32,
14762    pub result_count_output: u32,
14763    pub results: *mut SpaceDiscoveryResultMETA,
14764}
14765impl SpaceDiscoveryResultsMETA {
14766    pub const TYPE: StructureType = StructureType::SPACE_DISCOVERY_RESULTS_META;
14767}
14768#[repr(C)]
14769#[derive(Copy, Clone, Debug)]
14770#[doc = "See [XrEventDataSpaceDiscoveryResultsAvailableMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpaceDiscoveryResultsAvailableMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
14771pub struct EventDataSpaceDiscoveryResultsAvailableMETA {
14772    pub ty: StructureType,
14773    pub next: *const c_void,
14774    pub request_id: AsyncRequestIdFB,
14775}
14776impl EventDataSpaceDiscoveryResultsAvailableMETA {
14777    pub const TYPE: StructureType =
14778        StructureType::EVENT_DATA_SPACE_DISCOVERY_RESULTS_AVAILABLE_META;
14779}
14780#[repr(C)]
14781#[derive(Copy, Clone, Debug)]
14782#[doc = "See [XrEventDataSpaceDiscoveryCompleteMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpaceDiscoveryCompleteMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
14783pub struct EventDataSpaceDiscoveryCompleteMETA {
14784    pub ty: StructureType,
14785    pub next: *const c_void,
14786    pub request_id: AsyncRequestIdFB,
14787    pub result: Result,
14788}
14789impl EventDataSpaceDiscoveryCompleteMETA {
14790    pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_DISCOVERY_COMPLETE_META;
14791}
14792#[repr(C)]
14793#[derive(Copy, Clone, Debug)]
14794#[doc = "See [XrPassthroughColorLutDataMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorLutDataMETA) - defined by [XR_META_passthrough_color_lut](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_color_lut)"]
14795pub struct PassthroughColorLutDataMETA {
14796    pub buffer_size: u32,
14797    pub buffer: *const u8,
14798}
14799#[repr(C)]
14800#[derive(Copy, Clone, Debug)]
14801#[doc = "See [XrPassthroughColorLutCreateInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorLutCreateInfoMETA) - defined by [XR_META_passthrough_color_lut](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_color_lut)"]
14802pub struct PassthroughColorLutCreateInfoMETA {
14803    pub ty: StructureType,
14804    pub next: *const c_void,
14805    pub channels: PassthroughColorLutChannelsMETA,
14806    pub resolution: u32,
14807    pub data: PassthroughColorLutDataMETA,
14808}
14809impl PassthroughColorLutCreateInfoMETA {
14810    pub const TYPE: StructureType = StructureType::PASSTHROUGH_COLOR_LUT_CREATE_INFO_META;
14811}
14812#[repr(C)]
14813#[derive(Copy, Clone, Debug)]
14814#[doc = "See [XrPassthroughColorLutUpdateInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorLutUpdateInfoMETA) - defined by [XR_META_passthrough_color_lut](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_color_lut)"]
14815pub struct PassthroughColorLutUpdateInfoMETA {
14816    pub ty: StructureType,
14817    pub next: *const c_void,
14818    pub data: PassthroughColorLutDataMETA,
14819}
14820impl PassthroughColorLutUpdateInfoMETA {
14821    pub const TYPE: StructureType = StructureType::PASSTHROUGH_COLOR_LUT_UPDATE_INFO_META;
14822}
14823#[repr(C)]
14824#[derive(Copy, Clone, Debug)]
14825#[doc = "See [XrPassthroughColorMapLutMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorMapLutMETA) - defined by [XR_META_passthrough_color_lut](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_color_lut)"]
14826pub struct PassthroughColorMapLutMETA {
14827    pub ty: StructureType,
14828    pub next: *const c_void,
14829    pub color_lut: PassthroughColorLutMETA,
14830    pub weight: f32,
14831}
14832impl PassthroughColorMapLutMETA {
14833    pub const TYPE: StructureType = StructureType::PASSTHROUGH_COLOR_MAP_LUT_META;
14834}
14835#[repr(C)]
14836#[derive(Copy, Clone, Debug)]
14837#[doc = "See [XrPassthroughColorMapInterpolatedLutMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorMapInterpolatedLutMETA) - defined by [XR_META_passthrough_color_lut](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_color_lut)"]
14838pub struct PassthroughColorMapInterpolatedLutMETA {
14839    pub ty: StructureType,
14840    pub next: *const c_void,
14841    pub source_color_lut: PassthroughColorLutMETA,
14842    pub target_color_lut: PassthroughColorLutMETA,
14843    pub weight: f32,
14844}
14845impl PassthroughColorMapInterpolatedLutMETA {
14846    pub const TYPE: StructureType = StructureType::PASSTHROUGH_COLOR_MAP_INTERPOLATED_LUT_META;
14847}
14848#[repr(C)]
14849#[derive(Copy, Clone, Debug)]
14850#[doc = "See [XrSystemPassthroughColorLutPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemPassthroughColorLutPropertiesMETA) - defined by [XR_META_passthrough_color_lut](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_color_lut)"]
14851pub struct SystemPassthroughColorLutPropertiesMETA {
14852    pub ty: StructureType,
14853    pub next: *const c_void,
14854    pub max_color_lut_resolution: u32,
14855}
14856impl SystemPassthroughColorLutPropertiesMETA {
14857    pub const TYPE: StructureType = StructureType::SYSTEM_PASSTHROUGH_COLOR_LUT_PROPERTIES_META;
14858}
14859#[repr(C)]
14860#[derive(Copy, Clone, Debug)]
14861#[doc = "See [XrFoveationApplyInfoHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationApplyInfoHTC) - defined by [XR_HTC_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_foveation)"]
14862pub struct FoveationApplyInfoHTC {
14863    pub ty: StructureType,
14864    pub next: *const c_void,
14865    pub mode: FoveationModeHTC,
14866    pub sub_image_count: u32,
14867    pub sub_images: *mut SwapchainSubImage,
14868}
14869impl FoveationApplyInfoHTC {
14870    pub const TYPE: StructureType = StructureType::FOVEATION_APPLY_INFO_HTC;
14871}
14872#[repr(C)]
14873#[derive(Copy, Clone, Debug, Default, PartialEq)]
14874#[doc = "See [XrFoveationConfigurationHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationConfigurationHTC) - defined by [XR_HTC_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_foveation)"]
14875pub struct FoveationConfigurationHTC {
14876    pub level: FoveationLevelHTC,
14877    pub clear_fov_degree: f32,
14878    pub focal_center_offset: Vector2f,
14879}
14880#[repr(C)]
14881#[derive(Copy, Clone, Debug)]
14882#[doc = "See [XrFoveationDynamicModeInfoHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationDynamicModeInfoHTC) - defined by [XR_HTC_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_foveation)"]
14883pub struct FoveationDynamicModeInfoHTC {
14884    pub ty: StructureType,
14885    pub next: *const c_void,
14886    pub dynamic_flags: FoveationDynamicFlagsHTC,
14887}
14888impl FoveationDynamicModeInfoHTC {
14889    pub const TYPE: StructureType = StructureType::FOVEATION_DYNAMIC_MODE_INFO_HTC;
14890}
14891#[repr(C)]
14892#[derive(Copy, Clone, Debug)]
14893#[doc = "See [XrFoveationCustomModeInfoHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationCustomModeInfoHTC) - defined by [XR_HTC_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_foveation)"]
14894pub struct FoveationCustomModeInfoHTC {
14895    pub ty: StructureType,
14896    pub next: *const c_void,
14897    pub config_count: u32,
14898    pub configs: *const FoveationConfigurationHTC,
14899}
14900impl FoveationCustomModeInfoHTC {
14901    pub const TYPE: StructureType = StructureType::FOVEATION_CUSTOM_MODE_INFO_HTC;
14902}
14903#[repr(C)]
14904#[derive(Copy, Clone, Debug)]
14905#[doc = "See [XrActiveActionSetPrioritiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActiveActionSetPrioritiesEXT) - defined by [XR_EXT_active_action_set_priority](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_active_action_set_priority)"]
14906pub struct ActiveActionSetPrioritiesEXT {
14907    pub ty: StructureType,
14908    pub next: *const c_void,
14909    pub action_set_priority_count: u32,
14910    pub action_set_priorities: *const ActiveActionSetPriorityEXT,
14911}
14912impl ActiveActionSetPrioritiesEXT {
14913    pub const TYPE: StructureType = StructureType::ACTIVE_ACTION_SET_PRIORITIES_EXT;
14914}
14915#[repr(C)]
14916#[derive(Copy, Clone, Debug)]
14917#[doc = "See [XrActiveActionSetPriorityEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActiveActionSetPriorityEXT) - defined by [XR_EXT_active_action_set_priority](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_active_action_set_priority)"]
14918pub struct ActiveActionSetPriorityEXT {
14919    pub action_set: ActionSet,
14920    pub priority_override: u32,
14921}
14922#[repr(C)]
14923#[derive(Copy, Clone, Debug)]
14924#[doc = "See [XrCompositionLayerDepthTestFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerDepthTestFB) - defined by [XR_FB_composition_layer_depth_test](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_composition_layer_depth_test)"]
14925pub struct CompositionLayerDepthTestFB {
14926    pub ty: StructureType,
14927    pub next: *const c_void,
14928    pub depth_mask: Bool32,
14929    pub compare_op: CompareOpFB,
14930}
14931impl CompositionLayerDepthTestFB {
14932    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_DEPTH_TEST_FB;
14933}
14934#[repr(C)]
14935#[derive(Copy, Clone, Debug)]
14936#[doc = "See [XrCoordinateSpaceCreateInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCoordinateSpaceCreateInfoML) - defined by [XR_ML_compat](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_compat)"]
14937pub struct CoordinateSpaceCreateInfoML {
14938    pub ty: StructureType,
14939    pub next: *const c_void,
14940    pub cfuid: MLCoordinateFrameUID,
14941    pub pose_in_coordinate_space: Posef,
14942}
14943impl CoordinateSpaceCreateInfoML {
14944    pub const TYPE: StructureType = StructureType::COORDINATE_SPACE_CREATE_INFO_ML;
14945}
14946#[repr(C)]
14947#[derive(Copy, Clone, Debug)]
14948#[doc = "See [XrFrameEndInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameEndInfoML) - defined by [XR_ML_frame_end_info](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_frame_end_info)"]
14949pub struct FrameEndInfoML {
14950    pub ty: StructureType,
14951    pub next: *const c_void,
14952    pub focus_distance: f32,
14953    pub flags: FrameEndInfoFlagsML,
14954}
14955impl FrameEndInfoML {
14956    pub const TYPE: StructureType = StructureType::FRAME_END_INFO_ML;
14957}
14958#[repr(C)]
14959#[derive(Copy, Clone, Debug)]
14960#[doc = "See [XrHapticAmplitudeEnvelopeVibrationFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHapticAmplitudeEnvelopeVibrationFB) - defined by [XR_FB_haptic_amplitude_envelope](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_haptic_amplitude_envelope)"]
14961pub struct HapticAmplitudeEnvelopeVibrationFB {
14962    pub ty: StructureType,
14963    pub next: *const c_void,
14964    pub duration: Duration,
14965    pub amplitude_count: u32,
14966    pub amplitudes: *const f32,
14967}
14968impl HapticAmplitudeEnvelopeVibrationFB {
14969    pub const TYPE: StructureType = StructureType::HAPTIC_AMPLITUDE_ENVELOPE_VIBRATION_FB;
14970}
14971#[repr(C)]
14972#[derive(Copy, Clone, Debug)]
14973#[doc = "See [XrHapticPcmVibrationFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHapticPcmVibrationFB) - defined by [XR_FB_haptic_pcm](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_haptic_pcm)"]
14974pub struct HapticPcmVibrationFB {
14975    pub ty: StructureType,
14976    pub next: *const c_void,
14977    pub buffer_size: u32,
14978    pub buffer: *const f32,
14979    pub sample_rate: f32,
14980    pub append: Bool32,
14981    pub samples_consumed: *mut u32,
14982}
14983impl HapticPcmVibrationFB {
14984    pub const TYPE: StructureType = StructureType::HAPTIC_PCM_VIBRATION_FB;
14985}
14986#[repr(C)]
14987#[derive(Copy, Clone, Debug)]
14988#[doc = "See [XrDevicePcmSampleRateStateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDevicePcmSampleRateStateFB) - defined by [XR_FB_haptic_pcm](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_haptic_pcm)"]
14989pub struct DevicePcmSampleRateStateFB {
14990    pub ty: StructureType,
14991    pub next: *mut c_void,
14992    pub sample_rate: f32,
14993}
14994impl DevicePcmSampleRateStateFB {
14995    pub const TYPE: StructureType = StructureType::DEVICE_PCM_SAMPLE_RATE_STATE_FB;
14996    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14997    #[inline]
14998    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14999        let mut x = MaybeUninit::<Self>::uninit();
15000        unsafe {
15001            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15002                ty: Self::TYPE,
15003                next,
15004            });
15005        }
15006        x
15007    }
15008}
15009pub type DevicePcmSampleRateGetInfoFB = DevicePcmSampleRateStateFB;
15010#[repr(C)]
15011#[derive(Copy, Clone, Debug)]
15012#[doc = "See [XrSpaceUserCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceUserCreateInfoFB) - defined by [XR_FB_spatial_entity_user](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_user)"]
15013pub struct SpaceUserCreateInfoFB {
15014    pub ty: StructureType,
15015    pub next: *const c_void,
15016    pub user_id: SpaceUserIdFB,
15017}
15018impl SpaceUserCreateInfoFB {
15019    pub const TYPE: StructureType = StructureType::SPACE_USER_CREATE_INFO_FB;
15020}
15021#[repr(C)]
15022#[derive(Copy, Clone, Debug)]
15023#[doc = "See [XrSystemForceFeedbackCurlPropertiesMNDX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemForceFeedbackCurlPropertiesMNDX) - defined by [XR_MNDX_force_feedback_curl](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MNDX_force_feedback_curl)"]
15024pub struct SystemForceFeedbackCurlPropertiesMNDX {
15025    pub ty: StructureType,
15026    pub next: *mut c_void,
15027    pub supports_force_feedback_curl: Bool32,
15028}
15029impl SystemForceFeedbackCurlPropertiesMNDX {
15030    pub const TYPE: StructureType = StructureType::SYSTEM_FORCE_FEEDBACK_CURL_PROPERTIES_MNDX;
15031    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15032    #[inline]
15033    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15034        let mut x = MaybeUninit::<Self>::uninit();
15035        unsafe {
15036            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15037                ty: Self::TYPE,
15038                next,
15039            });
15040        }
15041        x
15042    }
15043}
15044#[repr(C)]
15045#[derive(Copy, Clone, Debug)]
15046#[doc = "See [XrForceFeedbackCurlApplyLocationsMNDX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrForceFeedbackCurlApplyLocationsMNDX) - defined by [XR_MNDX_force_feedback_curl](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MNDX_force_feedback_curl)"]
15047pub struct ForceFeedbackCurlApplyLocationsMNDX {
15048    pub ty: StructureType,
15049    pub next: *const c_void,
15050    pub location_count: u32,
15051    pub locations: *mut ForceFeedbackCurlApplyLocationMNDX,
15052}
15053impl ForceFeedbackCurlApplyLocationsMNDX {
15054    pub const TYPE: StructureType = StructureType::FORCE_FEEDBACK_CURL_APPLY_LOCATIONS_MNDX;
15055}
15056#[repr(C)]
15057#[derive(Copy, Clone, Debug, Default, PartialEq)]
15058#[doc = "See [XrForceFeedbackCurlApplyLocationMNDX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrForceFeedbackCurlApplyLocationMNDX) - defined by [XR_MNDX_force_feedback_curl](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MNDX_force_feedback_curl)"]
15059pub struct ForceFeedbackCurlApplyLocationMNDX {
15060    pub location: ForceFeedbackCurlLocationMNDX,
15061    pub value: f32,
15062}
15063#[repr(C)]
15064#[derive(Copy, Clone, Debug)]
15065#[doc = "See [XrFaceTrackerCreateInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackerCreateInfoANDROID) - defined by [XR_ANDROID_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_face_tracking)"]
15066#[cfg(target_os = "android")]
15067pub struct FaceTrackerCreateInfoANDROID {
15068    pub ty: StructureType,
15069    pub next: *const c_void,
15070}
15071#[cfg(target_os = "android")]
15072impl FaceTrackerCreateInfoANDROID {
15073    pub const TYPE: StructureType = StructureType::FACE_TRACKER_CREATE_INFO_ANDROID;
15074}
15075#[repr(C)]
15076#[derive(Copy, Clone, Debug)]
15077#[doc = "See [XrFaceStateGetInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceStateGetInfoANDROID) - defined by [XR_ANDROID_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_face_tracking)"]
15078#[cfg(target_os = "android")]
15079pub struct FaceStateGetInfoANDROID {
15080    pub ty: StructureType,
15081    pub next: *const c_void,
15082    pub time: Time,
15083}
15084#[cfg(target_os = "android")]
15085impl FaceStateGetInfoANDROID {
15086    pub const TYPE: StructureType = StructureType::FACE_STATE_GET_INFO_ANDROID;
15087}
15088#[repr(C)]
15089#[derive(Copy, Clone, Debug)]
15090#[doc = "See [XrFaceStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceStateANDROID) - defined by [XR_ANDROID_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_face_tracking)"]
15091#[cfg(target_os = "android")]
15092pub struct FaceStateANDROID {
15093    pub ty: StructureType,
15094    pub next: *mut c_void,
15095    pub parameters_capacity_input: u32,
15096    pub parameters_count_output: u32,
15097    pub parameters: *mut f32,
15098    pub face_tracking_state: FaceTrackingStateANDROID,
15099    pub sample_time: Time,
15100    pub is_valid: Bool32,
15101    pub region_confidences_capacity_input: u32,
15102    pub region_confidences_count_output: u32,
15103    pub region_confidences: *mut f32,
15104}
15105#[cfg(target_os = "android")]
15106impl FaceStateANDROID {
15107    pub const TYPE: StructureType = StructureType::FACE_STATE_ANDROID;
15108    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15109    #[inline]
15110    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15111        let mut x = MaybeUninit::<Self>::uninit();
15112        unsafe {
15113            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15114                ty: Self::TYPE,
15115                next,
15116            });
15117        }
15118        x
15119    }
15120}
15121#[repr(C)]
15122#[derive(Copy, Clone, Debug)]
15123#[doc = "See [XrSystemFaceTrackingPropertiesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemFaceTrackingPropertiesANDROID) - defined by [XR_ANDROID_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_face_tracking)"]
15124#[cfg(target_os = "android")]
15125pub struct SystemFaceTrackingPropertiesANDROID {
15126    pub ty: StructureType,
15127    pub next: *mut c_void,
15128    pub supports_face_tracking: Bool32,
15129}
15130#[cfg(target_os = "android")]
15131impl SystemFaceTrackingPropertiesANDROID {
15132    pub const TYPE: StructureType = StructureType::SYSTEM_FACE_TRACKING_PROPERTIES_ANDROID;
15133    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15134    #[inline]
15135    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15136        let mut x = MaybeUninit::<Self>::uninit();
15137        unsafe {
15138            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15139                ty: Self::TYPE,
15140                next,
15141            });
15142        }
15143        x
15144    }
15145}
15146#[repr(C)]
15147#[derive(Copy, Clone, Debug)]
15148#[doc = "See [XrSystemPassthroughCameraStatePropertiesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemPassthroughCameraStatePropertiesANDROID) - defined by [XR_ANDROID_passthrough_camera_state](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_passthrough_camera_state)"]
15149#[cfg(target_os = "android")]
15150pub struct SystemPassthroughCameraStatePropertiesANDROID {
15151    pub ty: StructureType,
15152    pub next: *mut c_void,
15153    pub supports_passthrough_camera_state: Bool32,
15154}
15155#[cfg(target_os = "android")]
15156impl SystemPassthroughCameraStatePropertiesANDROID {
15157    pub const TYPE: StructureType =
15158        StructureType::SYSTEM_PASSTHROUGH_CAMERA_STATE_PROPERTIES_ANDROID;
15159    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15160    #[inline]
15161    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15162        let mut x = MaybeUninit::<Self>::uninit();
15163        unsafe {
15164            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15165                ty: Self::TYPE,
15166                next,
15167            });
15168        }
15169        x
15170    }
15171}
15172#[repr(C)]
15173#[derive(Copy, Clone, Debug)]
15174#[doc = "See [XrPassthroughCameraStateGetInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughCameraStateGetInfoANDROID) - defined by [XR_ANDROID_passthrough_camera_state](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_passthrough_camera_state)"]
15175#[cfg(target_os = "android")]
15176pub struct PassthroughCameraStateGetInfoANDROID {
15177    pub ty: StructureType,
15178    pub next: *const c_void,
15179}
15180#[cfg(target_os = "android")]
15181impl PassthroughCameraStateGetInfoANDROID {
15182    pub const TYPE: StructureType = StructureType::PASSTHROUGH_CAMERA_STATE_GET_INFO_ANDROID;
15183}
15184#[repr(C)]
15185#[derive(Copy, Clone, Debug)]
15186#[doc = "See [XrTrackableTrackerCreateInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableTrackerCreateInfoANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
15187#[cfg(target_os = "android")]
15188pub struct TrackableTrackerCreateInfoANDROID {
15189    pub ty: StructureType,
15190    pub next: *const c_void,
15191    pub trackable_type: TrackableTypeANDROID,
15192}
15193#[cfg(target_os = "android")]
15194impl TrackableTrackerCreateInfoANDROID {
15195    pub const TYPE: StructureType = StructureType::TRACKABLE_TRACKER_CREATE_INFO_ANDROID;
15196}
15197#[repr(C)]
15198#[derive(Copy, Clone, Debug)]
15199#[doc = "See [XrTrackableGetInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableGetInfoANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
15200#[cfg(target_os = "android")]
15201pub struct TrackableGetInfoANDROID {
15202    pub ty: StructureType,
15203    pub next: *const c_void,
15204    pub trackable: TrackableANDROID,
15205    pub base_space: Space,
15206    pub time: Time,
15207}
15208#[cfg(target_os = "android")]
15209impl TrackableGetInfoANDROID {
15210    pub const TYPE: StructureType = StructureType::TRACKABLE_GET_INFO_ANDROID;
15211}
15212#[repr(C)]
15213#[derive(Copy, Clone, Debug)]
15214#[doc = "See [XrTrackablePlaneANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackablePlaneANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
15215#[cfg(target_os = "android")]
15216pub struct TrackablePlaneANDROID {
15217    pub ty: StructureType,
15218    pub next: *mut c_void,
15219    pub tracking_state: TrackingStateANDROID,
15220    pub center_pose: Posef,
15221    pub extents: Extent2Df,
15222    pub plane_type: PlaneTypeANDROID,
15223    pub plane_label: PlaneLabelANDROID,
15224    pub subsumed_by_plane: TrackableANDROID,
15225    pub last_updated_time: Time,
15226    pub vertex_capacity_input: u32,
15227    pub vertex_count_output: *mut u32,
15228    pub vertices: *mut Vector2f,
15229}
15230#[cfg(target_os = "android")]
15231impl TrackablePlaneANDROID {
15232    pub const TYPE: StructureType = StructureType::TRACKABLE_PLANE_ANDROID;
15233    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15234    #[inline]
15235    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15236        let mut x = MaybeUninit::<Self>::uninit();
15237        unsafe {
15238            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15239                ty: Self::TYPE,
15240                next,
15241            });
15242        }
15243        x
15244    }
15245}
15246#[repr(C)]
15247#[derive(Copy, Clone, Debug)]
15248#[doc = "See [XrAnchorSpaceCreateInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAnchorSpaceCreateInfoANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
15249#[cfg(target_os = "android")]
15250pub struct AnchorSpaceCreateInfoANDROID {
15251    pub ty: StructureType,
15252    pub next: *const c_void,
15253    pub space: Space,
15254    pub time: Time,
15255    pub pose: Posef,
15256    pub trackable: TrackableANDROID,
15257}
15258#[cfg(target_os = "android")]
15259impl AnchorSpaceCreateInfoANDROID {
15260    pub const TYPE: StructureType = StructureType::ANCHOR_SPACE_CREATE_INFO_ANDROID;
15261}
15262#[repr(C)]
15263#[derive(Copy, Clone, Debug)]
15264#[doc = "See [XrSystemTrackablesPropertiesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemTrackablesPropertiesANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
15265#[cfg(target_os = "android")]
15266pub struct SystemTrackablesPropertiesANDROID {
15267    pub ty: StructureType,
15268    pub next: *const c_void,
15269    pub supports_anchor: Bool32,
15270    pub max_anchors: u32,
15271}
15272#[cfg(target_os = "android")]
15273impl SystemTrackablesPropertiesANDROID {
15274    pub const TYPE: StructureType = StructureType::SYSTEM_TRACKABLES_PROPERTIES_ANDROID;
15275}
15276#[repr(C)]
15277#[derive(Copy, Clone, Debug)]
15278#[doc = "See [XrTrackableObjectANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableObjectANDROID) - defined by [XR_ANDROID_trackables_object](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_object)"]
15279#[cfg(target_os = "android")]
15280pub struct TrackableObjectANDROID {
15281    pub ty: StructureType,
15282    pub next: *mut c_void,
15283    pub tracking_state: TrackingStateANDROID,
15284    pub center_pose: Posef,
15285    pub extents: Extent3DfEXT,
15286    pub object_label: ObjectLabelANDROID,
15287    pub last_updated_time: Time,
15288}
15289#[cfg(target_os = "android")]
15290impl TrackableObjectANDROID {
15291    pub const TYPE: StructureType = StructureType::TRACKABLE_OBJECT_ANDROID;
15292    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15293    #[inline]
15294    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15295        let mut x = MaybeUninit::<Self>::uninit();
15296        unsafe {
15297            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15298                ty: Self::TYPE,
15299                next,
15300            });
15301        }
15302        x
15303    }
15304}
15305#[repr(C)]
15306#[derive(Copy, Clone, Debug)]
15307#[doc = "See [XrTrackableObjectConfigurationANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableObjectConfigurationANDROID) - defined by [XR_ANDROID_trackables_object](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_object)"]
15308#[cfg(target_os = "android")]
15309pub struct TrackableObjectConfigurationANDROID {
15310    pub ty: StructureType,
15311    pub next: *mut c_void,
15312    pub label_count: u32,
15313    pub active_labels: *const ObjectLabelANDROID,
15314}
15315#[cfg(target_os = "android")]
15316impl TrackableObjectConfigurationANDROID {
15317    pub const TYPE: StructureType = StructureType::TRACKABLE_OBJECT_CONFIGURATION_ANDROID;
15318    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15319    #[inline]
15320    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15321        let mut x = MaybeUninit::<Self>::uninit();
15322        unsafe {
15323            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15324                ty: Self::TYPE,
15325                next,
15326            });
15327        }
15328        x
15329    }
15330}
15331#[repr(C)]
15332#[derive(Copy, Clone, Debug)]
15333#[doc = "See [XrRaycastInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRaycastInfoANDROID) - defined by [XR_ANDROID_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_raycast)"]
15334#[cfg(target_os = "android")]
15335pub struct RaycastInfoANDROID {
15336    pub ty: StructureType,
15337    pub next: *const c_void,
15338    pub max_results: u32,
15339    pub tracker_count: u32,
15340    pub trackers: *const TrackableTrackerANDROID,
15341    pub origin: Vector3f,
15342    pub trajectory: Vector3f,
15343    pub space: Space,
15344    pub time: Time,
15345}
15346#[cfg(target_os = "android")]
15347impl RaycastInfoANDROID {
15348    pub const TYPE: StructureType = StructureType::RAYCAST_INFO_ANDROID;
15349}
15350#[repr(C)]
15351#[derive(Copy, Clone, Debug, Default, PartialEq)]
15352#[doc = "See [XrRaycastHitResultANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRaycastHitResultANDROID) - defined by [XR_ANDROID_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_raycast)"]
15353#[cfg(target_os = "android")]
15354pub struct RaycastHitResultANDROID {
15355    pub ty: TrackableTypeANDROID,
15356    pub trackable: TrackableANDROID,
15357    pub pose: Posef,
15358}
15359#[repr(C)]
15360#[derive(Copy, Clone, Debug)]
15361#[doc = "See [XrRaycastHitResultsANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRaycastHitResultsANDROID) - defined by [XR_ANDROID_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_raycast)"]
15362#[cfg(target_os = "android")]
15363pub struct RaycastHitResultsANDROID {
15364    pub ty: StructureType,
15365    pub next: *mut c_void,
15366    pub results_capacity_input: u32,
15367    pub results_count_output: u32,
15368    pub results: *mut RaycastHitResultANDROID,
15369}
15370#[cfg(target_os = "android")]
15371impl RaycastHitResultsANDROID {
15372    pub const TYPE: StructureType = StructureType::RAYCAST_HIT_RESULTS_ANDROID;
15373    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15374    #[inline]
15375    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15376        let mut x = MaybeUninit::<Self>::uninit();
15377        unsafe {
15378            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15379                ty: Self::TYPE,
15380                next,
15381            });
15382        }
15383        x
15384    }
15385}
15386#[repr(C)]
15387#[derive(Copy, Clone, Debug)]
15388#[doc = "See [XrSystemMarkerTrackingPropertiesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemMarkerTrackingPropertiesANDROID) - defined by [XR_ANDROID_trackables_marker](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_marker)"]
15389#[cfg(target_os = "android")]
15390pub struct SystemMarkerTrackingPropertiesANDROID {
15391    pub ty: StructureType,
15392    pub next: *mut c_void,
15393    pub supports_marker_tracking: Bool32,
15394    pub supports_marker_size_estimation: Bool32,
15395    pub max_marker_count: u16,
15396}
15397#[cfg(target_os = "android")]
15398impl SystemMarkerTrackingPropertiesANDROID {
15399    pub const TYPE: StructureType = StructureType::SYSTEM_MARKER_TRACKING_PROPERTIES_ANDROID;
15400    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15401    #[inline]
15402    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15403        let mut x = MaybeUninit::<Self>::uninit();
15404        unsafe {
15405            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15406                ty: Self::TYPE,
15407                next,
15408            });
15409        }
15410        x
15411    }
15412}
15413#[repr(C)]
15414#[derive(Copy, Clone, Debug)]
15415#[doc = "See [XrTrackableMarkerConfigurationANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableMarkerConfigurationANDROID) - defined by [XR_ANDROID_trackables_marker](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_marker)"]
15416#[cfg(target_os = "android")]
15417pub struct TrackableMarkerConfigurationANDROID {
15418    pub ty: StructureType,
15419    pub next: *mut c_void,
15420    pub tracking_mode: TrackableMarkerTrackingModeANDROID,
15421    pub database_count: u32,
15422    pub databases: *const TrackableMarkerDatabaseANDROID,
15423}
15424#[cfg(target_os = "android")]
15425impl TrackableMarkerConfigurationANDROID {
15426    pub const TYPE: StructureType = StructureType::TRACKABLE_MARKER_CONFIGURATION_ANDROID;
15427    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15428    #[inline]
15429    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15430        let mut x = MaybeUninit::<Self>::uninit();
15431        unsafe {
15432            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15433                ty: Self::TYPE,
15434                next,
15435            });
15436        }
15437        x
15438    }
15439}
15440#[repr(C)]
15441#[derive(Copy, Clone, Debug)]
15442#[doc = "See [XrTrackableMarkerDatabaseANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableMarkerDatabaseANDROID) - defined by [XR_ANDROID_trackables_marker](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_marker)"]
15443#[cfg(target_os = "android")]
15444pub struct TrackableMarkerDatabaseANDROID {
15445    pub dictionary: TrackableMarkerDictionaryANDROID,
15446    pub entry_count: u32,
15447    pub entries: *const TrackableMarkerDatabaseEntryANDROID,
15448}
15449#[repr(C)]
15450#[derive(Copy, Clone, Debug, Default, PartialEq)]
15451#[doc = "See [XrTrackableMarkerDatabaseEntryANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableMarkerDatabaseEntryANDROID) - defined by [XR_ANDROID_trackables_marker](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_marker)"]
15452#[cfg(target_os = "android")]
15453pub struct TrackableMarkerDatabaseEntryANDROID {
15454    pub id: i32,
15455    pub edge_size: f32,
15456}
15457#[repr(C)]
15458#[derive(Copy, Clone, Debug)]
15459#[doc = "See [XrTrackableMarkerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableMarkerANDROID) - defined by [XR_ANDROID_trackables_marker](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_marker)"]
15460#[cfg(target_os = "android")]
15461pub struct TrackableMarkerANDROID {
15462    pub ty: StructureType,
15463    pub next: *mut c_void,
15464    pub tracking_state: TrackingStateANDROID,
15465    pub last_updated_time: Time,
15466    pub dictionary: TrackableMarkerDictionaryANDROID,
15467    pub marker_id: i32,
15468    pub center_pose: Posef,
15469    pub extents: Extent2Df,
15470}
15471#[cfg(target_os = "android")]
15472impl TrackableMarkerANDROID {
15473    pub const TYPE: StructureType = StructureType::TRACKABLE_MARKER_ANDROID;
15474    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15475    #[inline]
15476    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15477        let mut x = MaybeUninit::<Self>::uninit();
15478        unsafe {
15479            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15480                ty: Self::TYPE,
15481                next,
15482            });
15483        }
15484        x
15485    }
15486}
15487#[repr(C)]
15488#[derive(Copy, Clone, Debug)]
15489#[doc = "See [XrSystemAnchorSharingExportPropertiesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemAnchorSharingExportPropertiesANDROID) - defined by [XR_ANDROID_anchor_sharing_export](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_anchor_sharing_export)"]
15490#[cfg(target_os = "android")]
15491pub struct SystemAnchorSharingExportPropertiesANDROID {
15492    pub ty: StructureType,
15493    pub next: *mut c_void,
15494    pub supports_anchor_sharing_export: Bool32,
15495}
15496#[cfg(target_os = "android")]
15497impl SystemAnchorSharingExportPropertiesANDROID {
15498    pub const TYPE: StructureType = StructureType::SYSTEM_ANCHOR_SHARING_EXPORT_PROPERTIES_ANDROID;
15499    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15500    #[inline]
15501    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15502        let mut x = MaybeUninit::<Self>::uninit();
15503        unsafe {
15504            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15505                ty: Self::TYPE,
15506                next,
15507            });
15508        }
15509        x
15510    }
15511}
15512#[repr(C)]
15513#[derive(Copy, Clone, Debug)]
15514#[doc = "See [XrAnchorSharingInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAnchorSharingInfoANDROID) - defined by [XR_ANDROID_anchor_sharing_export](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_anchor_sharing_export)"]
15515#[cfg(target_os = "android")]
15516pub struct AnchorSharingInfoANDROID {
15517    pub ty: StructureType,
15518    pub next: *const c_void,
15519    pub anchor: Space,
15520}
15521#[cfg(target_os = "android")]
15522impl AnchorSharingInfoANDROID {
15523    pub const TYPE: StructureType = StructureType::ANCHOR_SHARING_INFO_ANDROID;
15524}
15525#[repr(C)]
15526#[derive(Copy, Clone, Debug)]
15527#[doc = "See [XrAnchorSharingTokenANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAnchorSharingTokenANDROID) - defined by [XR_ANDROID_anchor_sharing_export](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_anchor_sharing_export)"]
15528#[cfg(target_os = "android")]
15529pub struct AnchorSharingTokenANDROID {
15530    pub ty: StructureType,
15531    pub next: *mut c_void,
15532    pub token: *mut AIBinder,
15533}
15534#[cfg(target_os = "android")]
15535impl AnchorSharingTokenANDROID {
15536    pub const TYPE: StructureType = StructureType::ANCHOR_SHARING_TOKEN_ANDROID;
15537    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15538    #[inline]
15539    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15540        let mut x = MaybeUninit::<Self>::uninit();
15541        unsafe {
15542            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15543                ty: Self::TYPE,
15544                next,
15545            });
15546        }
15547        x
15548    }
15549}
15550#[repr(C)]
15551#[derive(Copy, Clone, Debug)]
15552#[doc = "See [XrDeviceAnchorPersistenceCreateInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDeviceAnchorPersistenceCreateInfoANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
15553#[cfg(target_os = "android")]
15554pub struct DeviceAnchorPersistenceCreateInfoANDROID {
15555    pub ty: StructureType,
15556    pub next: *const c_void,
15557}
15558#[cfg(target_os = "android")]
15559impl DeviceAnchorPersistenceCreateInfoANDROID {
15560    pub const TYPE: StructureType = StructureType::DEVICE_ANCHOR_PERSISTENCE_CREATE_INFO_ANDROID;
15561}
15562#[repr(C)]
15563#[derive(Copy, Clone, Debug)]
15564#[doc = "See [XrPersistedAnchorSpaceCreateInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPersistedAnchorSpaceCreateInfoANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
15565#[cfg(target_os = "android")]
15566pub struct PersistedAnchorSpaceCreateInfoANDROID {
15567    pub ty: StructureType,
15568    pub next: *const c_void,
15569    pub anchor_id: UuidEXT,
15570}
15571#[cfg(target_os = "android")]
15572impl PersistedAnchorSpaceCreateInfoANDROID {
15573    pub const TYPE: StructureType = StructureType::PERSISTED_ANCHOR_SPACE_CREATE_INFO_ANDROID;
15574}
15575#[repr(C)]
15576#[derive(Copy, Clone, Debug)]
15577#[doc = "See [XrPersistedAnchorSpaceInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPersistedAnchorSpaceInfoANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
15578#[cfg(target_os = "android")]
15579pub struct PersistedAnchorSpaceInfoANDROID {
15580    pub ty: StructureType,
15581    pub next: *const c_void,
15582    pub anchor: Space,
15583}
15584#[cfg(target_os = "android")]
15585impl PersistedAnchorSpaceInfoANDROID {
15586    pub const TYPE: StructureType = StructureType::PERSISTED_ANCHOR_SPACE_INFO_ANDROID;
15587}
15588#[repr(C)]
15589#[derive(Copy, Clone, Debug)]
15590#[doc = "See [XrSystemDeviceAnchorPersistencePropertiesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemDeviceAnchorPersistencePropertiesANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
15591#[cfg(target_os = "android")]
15592pub struct SystemDeviceAnchorPersistencePropertiesANDROID {
15593    pub ty: StructureType,
15594    pub next: *mut c_void,
15595    pub supports_anchor_persistence: Bool32,
15596}
15597#[cfg(target_os = "android")]
15598impl SystemDeviceAnchorPersistencePropertiesANDROID {
15599    pub const TYPE: StructureType =
15600        StructureType::SYSTEM_DEVICE_ANCHOR_PERSISTENCE_PROPERTIES_ANDROID;
15601    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15602    #[inline]
15603    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15604        let mut x = MaybeUninit::<Self>::uninit();
15605        unsafe {
15606            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15607                ty: Self::TYPE,
15608                next,
15609            });
15610        }
15611        x
15612    }
15613}
15614#[repr(C)]
15615#[derive(Copy, Clone, Debug)]
15616#[doc = "See [XrSystemPlaneDetectionPropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemPlaneDetectionPropertiesEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
15617pub struct SystemPlaneDetectionPropertiesEXT {
15618    pub ty: StructureType,
15619    pub next: *mut c_void,
15620    pub supported_features: PlaneDetectionCapabilityFlagsEXT,
15621}
15622impl SystemPlaneDetectionPropertiesEXT {
15623    pub const TYPE: StructureType = StructureType::SYSTEM_PLANE_DETECTION_PROPERTIES_EXT;
15624    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15625    #[inline]
15626    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15627        let mut x = MaybeUninit::<Self>::uninit();
15628        unsafe {
15629            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15630                ty: Self::TYPE,
15631                next,
15632            });
15633        }
15634        x
15635    }
15636}
15637#[repr(C)]
15638#[derive(Copy, Clone, Debug)]
15639#[doc = "See [XrPlaneDetectorCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorCreateInfoEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
15640pub struct PlaneDetectorCreateInfoEXT {
15641    pub ty: StructureType,
15642    pub next: *const c_void,
15643    pub flags: PlaneDetectorFlagsEXT,
15644}
15645impl PlaneDetectorCreateInfoEXT {
15646    pub const TYPE: StructureType = StructureType::PLANE_DETECTOR_CREATE_INFO_EXT;
15647}
15648#[repr(C)]
15649#[derive(Copy, Clone, Debug)]
15650#[doc = "See [XrPlaneDetectorBeginInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorBeginInfoEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
15651pub struct PlaneDetectorBeginInfoEXT {
15652    pub ty: StructureType,
15653    pub next: *const c_void,
15654    pub base_space: Space,
15655    pub time: Time,
15656    pub orientation_count: u32,
15657    pub orientations: *const PlaneDetectorOrientationEXT,
15658    pub semantic_type_count: u32,
15659    pub semantic_types: *const PlaneDetectorSemanticTypeEXT,
15660    pub max_planes: u32,
15661    pub min_area: f32,
15662    pub bounding_box_pose: Posef,
15663    pub bounding_box_extent: Extent3DfEXT,
15664}
15665impl PlaneDetectorBeginInfoEXT {
15666    pub const TYPE: StructureType = StructureType::PLANE_DETECTOR_BEGIN_INFO_EXT;
15667}
15668#[repr(C)]
15669#[derive(Copy, Clone, Debug)]
15670#[doc = "See [XrPlaneDetectorGetInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorGetInfoEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
15671pub struct PlaneDetectorGetInfoEXT {
15672    pub ty: StructureType,
15673    pub next: *const c_void,
15674    pub base_space: Space,
15675    pub time: Time,
15676}
15677impl PlaneDetectorGetInfoEXT {
15678    pub const TYPE: StructureType = StructureType::PLANE_DETECTOR_GET_INFO_EXT;
15679}
15680#[repr(C)]
15681#[derive(Copy, Clone, Debug)]
15682#[doc = "See [XrPlaneDetectorLocationsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorLocationsEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
15683pub struct PlaneDetectorLocationsEXT {
15684    pub ty: StructureType,
15685    pub next: *mut c_void,
15686    pub plane_location_capacity_input: u32,
15687    pub plane_location_count_output: u32,
15688    pub plane_locations: *mut PlaneDetectorLocationEXT,
15689}
15690impl PlaneDetectorLocationsEXT {
15691    pub const TYPE: StructureType = StructureType::PLANE_DETECTOR_LOCATIONS_EXT;
15692    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15693    #[inline]
15694    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15695        let mut x = MaybeUninit::<Self>::uninit();
15696        unsafe {
15697            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15698                ty: Self::TYPE,
15699                next,
15700            });
15701        }
15702        x
15703    }
15704}
15705#[repr(C)]
15706#[derive(Copy, Clone, Debug)]
15707#[doc = "See [XrPlaneDetectorLocationEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorLocationEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
15708pub struct PlaneDetectorLocationEXT {
15709    pub ty: StructureType,
15710    pub next: *mut c_void,
15711    pub plane_id: u64,
15712    pub location_flags: SpaceLocationFlags,
15713    pub pose: Posef,
15714    pub extents: Extent2Df,
15715    pub orientation: PlaneDetectorOrientationEXT,
15716    pub semantic_type: PlaneDetectorSemanticTypeEXT,
15717    pub polygon_buffer_count: u32,
15718}
15719impl PlaneDetectorLocationEXT {
15720    pub const TYPE: StructureType = StructureType::PLANE_DETECTOR_LOCATION_EXT;
15721    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15722    #[inline]
15723    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15724        let mut x = MaybeUninit::<Self>::uninit();
15725        unsafe {
15726            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15727                ty: Self::TYPE,
15728                next,
15729            });
15730        }
15731        x
15732    }
15733}
15734#[repr(C)]
15735#[derive(Copy, Clone, Debug)]
15736#[doc = "See [XrPlaneDetectorPolygonBufferEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorPolygonBufferEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
15737pub struct PlaneDetectorPolygonBufferEXT {
15738    pub ty: StructureType,
15739    pub next: *mut c_void,
15740    pub vertex_capacity_input: u32,
15741    pub vertex_count_output: u32,
15742    pub vertices: *mut Vector2f,
15743}
15744impl PlaneDetectorPolygonBufferEXT {
15745    pub const TYPE: StructureType = StructureType::PLANE_DETECTOR_POLYGON_BUFFER_EXT;
15746    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15747    #[inline]
15748    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15749        let mut x = MaybeUninit::<Self>::uninit();
15750        unsafe {
15751            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15752                ty: Self::TYPE,
15753                next,
15754            });
15755        }
15756        x
15757    }
15758}
15759#[repr(C)]
15760#[derive(Copy, Clone, Debug)]
15761#[doc = "See [XrSystemVirtualKeyboardPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemVirtualKeyboardPropertiesMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15762pub struct SystemVirtualKeyboardPropertiesMETA {
15763    pub ty: StructureType,
15764    pub next: *mut c_void,
15765    pub supports_virtual_keyboard: Bool32,
15766}
15767impl SystemVirtualKeyboardPropertiesMETA {
15768    pub const TYPE: StructureType = StructureType::SYSTEM_VIRTUAL_KEYBOARD_PROPERTIES_META;
15769    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15770    #[inline]
15771    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15772        let mut x = MaybeUninit::<Self>::uninit();
15773        unsafe {
15774            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15775                ty: Self::TYPE,
15776                next,
15777            });
15778        }
15779        x
15780    }
15781}
15782#[repr(C)]
15783#[derive(Copy, Clone, Debug)]
15784#[doc = "See [XrVirtualKeyboardCreateInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardCreateInfoMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15785pub struct VirtualKeyboardCreateInfoMETA {
15786    pub ty: StructureType,
15787    pub next: *const c_void,
15788}
15789impl VirtualKeyboardCreateInfoMETA {
15790    pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_CREATE_INFO_META;
15791}
15792#[repr(C)]
15793#[derive(Copy, Clone, Debug)]
15794#[doc = "See [XrVirtualKeyboardSpaceCreateInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardSpaceCreateInfoMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15795pub struct VirtualKeyboardSpaceCreateInfoMETA {
15796    pub ty: StructureType,
15797    pub next: *const c_void,
15798    pub location_type: VirtualKeyboardLocationTypeMETA,
15799    pub space: Space,
15800    pub pose_in_space: Posef,
15801}
15802impl VirtualKeyboardSpaceCreateInfoMETA {
15803    pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_SPACE_CREATE_INFO_META;
15804}
15805#[repr(C)]
15806#[derive(Copy, Clone, Debug)]
15807#[doc = "See [XrVirtualKeyboardLocationInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardLocationInfoMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15808pub struct VirtualKeyboardLocationInfoMETA {
15809    pub ty: StructureType,
15810    pub next: *const c_void,
15811    pub location_type: VirtualKeyboardLocationTypeMETA,
15812    pub space: Space,
15813    pub pose_in_space: Posef,
15814    pub scale: f32,
15815}
15816impl VirtualKeyboardLocationInfoMETA {
15817    pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_LOCATION_INFO_META;
15818}
15819#[repr(C)]
15820#[derive(Copy, Clone, Debug)]
15821#[doc = "See [XrVirtualKeyboardModelVisibilitySetInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardModelVisibilitySetInfoMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15822pub struct VirtualKeyboardModelVisibilitySetInfoMETA {
15823    pub ty: StructureType,
15824    pub next: *const c_void,
15825    pub visible: Bool32,
15826}
15827impl VirtualKeyboardModelVisibilitySetInfoMETA {
15828    pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_MODEL_VISIBILITY_SET_INFO_META;
15829}
15830#[repr(C)]
15831#[derive(Copy, Clone, Debug)]
15832#[doc = "See [XrVirtualKeyboardAnimationStateMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardAnimationStateMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15833pub struct VirtualKeyboardAnimationStateMETA {
15834    pub ty: StructureType,
15835    pub next: *mut c_void,
15836    pub animation_index: i32,
15837    pub fraction: f32,
15838}
15839impl VirtualKeyboardAnimationStateMETA {
15840    pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_ANIMATION_STATE_META;
15841    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15842    #[inline]
15843    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15844        let mut x = MaybeUninit::<Self>::uninit();
15845        unsafe {
15846            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15847                ty: Self::TYPE,
15848                next,
15849            });
15850        }
15851        x
15852    }
15853}
15854#[repr(C)]
15855#[derive(Copy, Clone, Debug)]
15856#[doc = "See [XrVirtualKeyboardModelAnimationStatesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardModelAnimationStatesMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15857pub struct VirtualKeyboardModelAnimationStatesMETA {
15858    pub ty: StructureType,
15859    pub next: *mut c_void,
15860    pub state_capacity_input: u32,
15861    pub state_count_output: u32,
15862    pub states: *mut VirtualKeyboardAnimationStateMETA,
15863}
15864impl VirtualKeyboardModelAnimationStatesMETA {
15865    pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_MODEL_ANIMATION_STATES_META;
15866    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15867    #[inline]
15868    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15869        let mut x = MaybeUninit::<Self>::uninit();
15870        unsafe {
15871            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15872                ty: Self::TYPE,
15873                next,
15874            });
15875        }
15876        x
15877    }
15878}
15879#[repr(C)]
15880#[derive(Copy, Clone, Debug)]
15881#[doc = "See [XrVirtualKeyboardTextureDataMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardTextureDataMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15882pub struct VirtualKeyboardTextureDataMETA {
15883    pub ty: StructureType,
15884    pub next: *mut c_void,
15885    pub texture_width: u32,
15886    pub texture_height: u32,
15887    pub buffer_capacity_input: u32,
15888    pub buffer_count_output: u32,
15889    pub buffer: *mut u8,
15890}
15891impl VirtualKeyboardTextureDataMETA {
15892    pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_TEXTURE_DATA_META;
15893    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15894    #[inline]
15895    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15896        let mut x = MaybeUninit::<Self>::uninit();
15897        unsafe {
15898            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15899                ty: Self::TYPE,
15900                next,
15901            });
15902        }
15903        x
15904    }
15905}
15906#[repr(C)]
15907#[derive(Copy, Clone, Debug)]
15908#[doc = "See [XrVirtualKeyboardInputInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardInputInfoMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15909pub struct VirtualKeyboardInputInfoMETA {
15910    pub ty: StructureType,
15911    pub next: *const c_void,
15912    pub input_source: VirtualKeyboardInputSourceMETA,
15913    pub input_space: Space,
15914    pub input_pose_in_space: Posef,
15915    pub input_state: VirtualKeyboardInputStateFlagsMETA,
15916}
15917impl VirtualKeyboardInputInfoMETA {
15918    pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_INPUT_INFO_META;
15919}
15920#[repr(C)]
15921#[derive(Copy, Clone, Debug)]
15922#[doc = "See [XrVirtualKeyboardTextContextChangeInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardTextContextChangeInfoMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15923pub struct VirtualKeyboardTextContextChangeInfoMETA {
15924    pub ty: StructureType,
15925    pub next: *const c_void,
15926    pub text_context: *const c_char,
15927}
15928impl VirtualKeyboardTextContextChangeInfoMETA {
15929    pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_TEXT_CONTEXT_CHANGE_INFO_META;
15930}
15931#[repr(C)]
15932#[derive(Copy, Clone, Debug)]
15933#[doc = "See [XrEventDataVirtualKeyboardCommitTextMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataVirtualKeyboardCommitTextMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15934pub struct EventDataVirtualKeyboardCommitTextMETA {
15935    pub ty: StructureType,
15936    pub next: *const c_void,
15937    pub keyboard: VirtualKeyboardMETA,
15938    pub text: [c_char; MAX_VIRTUAL_KEYBOARD_COMMIT_TEXT_SIZE_META],
15939}
15940impl EventDataVirtualKeyboardCommitTextMETA {
15941    pub const TYPE: StructureType = StructureType::EVENT_DATA_VIRTUAL_KEYBOARD_COMMIT_TEXT_META;
15942}
15943#[repr(C)]
15944#[derive(Copy, Clone, Debug)]
15945#[doc = "See [XrEventDataVirtualKeyboardBackspaceMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataVirtualKeyboardBackspaceMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15946pub struct EventDataVirtualKeyboardBackspaceMETA {
15947    pub ty: StructureType,
15948    pub next: *const c_void,
15949    pub keyboard: VirtualKeyboardMETA,
15950}
15951impl EventDataVirtualKeyboardBackspaceMETA {
15952    pub const TYPE: StructureType = StructureType::EVENT_DATA_VIRTUAL_KEYBOARD_BACKSPACE_META;
15953}
15954#[repr(C)]
15955#[derive(Copy, Clone, Debug)]
15956#[doc = "See [XrEventDataVirtualKeyboardEnterMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataVirtualKeyboardEnterMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15957pub struct EventDataVirtualKeyboardEnterMETA {
15958    pub ty: StructureType,
15959    pub next: *const c_void,
15960    pub keyboard: VirtualKeyboardMETA,
15961}
15962impl EventDataVirtualKeyboardEnterMETA {
15963    pub const TYPE: StructureType = StructureType::EVENT_DATA_VIRTUAL_KEYBOARD_ENTER_META;
15964}
15965#[repr(C)]
15966#[derive(Copy, Clone, Debug)]
15967#[doc = "See [XrEventDataVirtualKeyboardShownMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataVirtualKeyboardShownMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15968pub struct EventDataVirtualKeyboardShownMETA {
15969    pub ty: StructureType,
15970    pub next: *const c_void,
15971    pub keyboard: VirtualKeyboardMETA,
15972}
15973impl EventDataVirtualKeyboardShownMETA {
15974    pub const TYPE: StructureType = StructureType::EVENT_DATA_VIRTUAL_KEYBOARD_SHOWN_META;
15975}
15976#[repr(C)]
15977#[derive(Copy, Clone, Debug)]
15978#[doc = "See [XrEventDataVirtualKeyboardHiddenMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataVirtualKeyboardHiddenMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15979pub struct EventDataVirtualKeyboardHiddenMETA {
15980    pub ty: StructureType,
15981    pub next: *const c_void,
15982    pub keyboard: VirtualKeyboardMETA,
15983}
15984impl EventDataVirtualKeyboardHiddenMETA {
15985    pub const TYPE: StructureType = StructureType::EVENT_DATA_VIRTUAL_KEYBOARD_HIDDEN_META;
15986}
15987#[repr(C)]
15988#[derive(Copy, Clone, Debug)]
15989#[doc = "See [XrUserCalibrationEnableEventsInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrUserCalibrationEnableEventsInfoML) - defined by [XR_ML_user_calibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_user_calibration)"]
15990pub struct UserCalibrationEnableEventsInfoML {
15991    pub ty: StructureType,
15992    pub next: *const c_void,
15993    pub enabled: Bool32,
15994}
15995impl UserCalibrationEnableEventsInfoML {
15996    pub const TYPE: StructureType = StructureType::USER_CALIBRATION_ENABLE_EVENTS_INFO_ML;
15997}
15998#[repr(C)]
15999#[derive(Copy, Clone, Debug)]
16000#[doc = "See [XrEventDataHeadsetFitChangedML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataHeadsetFitChangedML) - defined by [XR_ML_user_calibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_user_calibration)"]
16001pub struct EventDataHeadsetFitChangedML {
16002    pub ty: StructureType,
16003    pub next: *const c_void,
16004    pub status: HeadsetFitStatusML,
16005    pub time: Time,
16006}
16007impl EventDataHeadsetFitChangedML {
16008    pub const TYPE: StructureType = StructureType::EVENT_DATA_HEADSET_FIT_CHANGED_ML;
16009}
16010#[repr(C)]
16011#[derive(Copy, Clone, Debug)]
16012#[doc = "See [XrEventDataEyeCalibrationChangedML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataEyeCalibrationChangedML) - defined by [XR_ML_user_calibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_user_calibration)"]
16013pub struct EventDataEyeCalibrationChangedML {
16014    pub ty: StructureType,
16015    pub next: *const c_void,
16016    pub status: EyeCalibrationStatusML,
16017}
16018impl EventDataEyeCalibrationChangedML {
16019    pub const TYPE: StructureType = StructureType::EVENT_DATA_EYE_CALIBRATION_CHANGED_ML;
16020}
16021#[repr(C)]
16022#[derive(Copy, Clone, Debug)]
16023#[doc = "See [XrLocalizationMapML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalizationMapML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
16024pub struct LocalizationMapML {
16025    pub ty: StructureType,
16026    pub next: *mut c_void,
16027    pub name: [c_char; MAX_LOCALIZATION_MAP_NAME_LENGTH_ML],
16028    pub map_uuid: UuidEXT,
16029    pub map_type: LocalizationMapTypeML,
16030}
16031impl LocalizationMapML {
16032    pub const TYPE: StructureType = StructureType::LOCALIZATION_MAP_ML;
16033    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16034    #[inline]
16035    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16036        let mut x = MaybeUninit::<Self>::uninit();
16037        unsafe {
16038            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16039                ty: Self::TYPE,
16040                next,
16041            });
16042        }
16043        x
16044    }
16045}
16046#[repr(C)]
16047#[derive(Copy, Clone, Debug)]
16048#[doc = "See [XrLocalizationEnableEventsInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalizationEnableEventsInfoML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
16049pub struct LocalizationEnableEventsInfoML {
16050    pub ty: StructureType,
16051    pub next: *const c_void,
16052    pub enabled: Bool32,
16053}
16054impl LocalizationEnableEventsInfoML {
16055    pub const TYPE: StructureType = StructureType::LOCALIZATION_ENABLE_EVENTS_INFO_ML;
16056}
16057#[repr(C)]
16058#[derive(Copy, Clone, Debug)]
16059#[doc = "See [XrEventDataLocalizationChangedML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataLocalizationChangedML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
16060pub struct EventDataLocalizationChangedML {
16061    pub ty: StructureType,
16062    pub next: *const c_void,
16063    pub session: Session,
16064    pub state: LocalizationMapStateML,
16065    pub map: LocalizationMapML,
16066    pub confidence: LocalizationMapConfidenceML,
16067    pub error_flags: LocalizationMapErrorFlagsML,
16068}
16069impl EventDataLocalizationChangedML {
16070    pub const TYPE: StructureType = StructureType::EVENT_DATA_LOCALIZATION_CHANGED_ML;
16071}
16072#[repr(C)]
16073#[derive(Copy, Clone, Debug)]
16074#[doc = "See [XrLocalizationMapQueryInfoBaseHeaderML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalizationMapQueryInfoBaseHeaderML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
16075pub struct LocalizationMapQueryInfoBaseHeaderML {
16076    pub ty: StructureType,
16077    pub next: *const c_void,
16078}
16079#[repr(C)]
16080#[derive(Copy, Clone, Debug)]
16081#[doc = "See [XrMapLocalizationRequestInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMapLocalizationRequestInfoML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
16082pub struct MapLocalizationRequestInfoML {
16083    pub ty: StructureType,
16084    pub next: *const c_void,
16085    pub map_uuid: UuidEXT,
16086}
16087impl MapLocalizationRequestInfoML {
16088    pub const TYPE: StructureType = StructureType::MAP_LOCALIZATION_REQUEST_INFO_ML;
16089}
16090#[repr(C)]
16091#[derive(Copy, Clone, Debug)]
16092#[doc = "See [XrLocalizationMapImportInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalizationMapImportInfoML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
16093pub struct LocalizationMapImportInfoML {
16094    pub ty: StructureType,
16095    pub next: *const c_void,
16096    pub size: u32,
16097    pub data: *mut c_char,
16098}
16099impl LocalizationMapImportInfoML {
16100    pub const TYPE: StructureType = StructureType::LOCALIZATION_MAP_IMPORT_INFO_ML;
16101}
16102#[repr(C)]
16103#[derive(Copy, Clone, Debug)]
16104#[doc = "See [XrSystemMarkerUnderstandingPropertiesML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemMarkerUnderstandingPropertiesML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
16105pub struct SystemMarkerUnderstandingPropertiesML {
16106    pub ty: StructureType,
16107    pub next: *mut c_void,
16108    pub supports_marker_understanding: Bool32,
16109}
16110impl SystemMarkerUnderstandingPropertiesML {
16111    pub const TYPE: StructureType = StructureType::SYSTEM_MARKER_UNDERSTANDING_PROPERTIES_ML;
16112    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16113    #[inline]
16114    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16115        let mut x = MaybeUninit::<Self>::uninit();
16116        unsafe {
16117            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16118                ty: Self::TYPE,
16119                next,
16120            });
16121        }
16122        x
16123    }
16124}
16125#[repr(C)]
16126#[derive(Copy, Clone, Debug)]
16127#[doc = "See [XrMarkerDetectorCreateInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorCreateInfoML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
16128pub struct MarkerDetectorCreateInfoML {
16129    pub ty: StructureType,
16130    pub next: *const c_void,
16131    pub profile: MarkerDetectorProfileML,
16132    pub marker_type: MarkerTypeML,
16133}
16134impl MarkerDetectorCreateInfoML {
16135    pub const TYPE: StructureType = StructureType::MARKER_DETECTOR_CREATE_INFO_ML;
16136}
16137#[repr(C)]
16138#[derive(Copy, Clone, Debug)]
16139#[doc = "See [XrMarkerDetectorArucoInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorArucoInfoML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
16140pub struct MarkerDetectorArucoInfoML {
16141    pub ty: StructureType,
16142    pub next: *const c_void,
16143    pub aruco_dict: MarkerArucoDictML,
16144}
16145impl MarkerDetectorArucoInfoML {
16146    pub const TYPE: StructureType = StructureType::MARKER_DETECTOR_ARUCO_INFO_ML;
16147}
16148#[repr(C)]
16149#[derive(Copy, Clone, Debug)]
16150#[doc = "See [XrMarkerDetectorSizeInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorSizeInfoML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
16151pub struct MarkerDetectorSizeInfoML {
16152    pub ty: StructureType,
16153    pub next: *const c_void,
16154    pub marker_length: f32,
16155}
16156impl MarkerDetectorSizeInfoML {
16157    pub const TYPE: StructureType = StructureType::MARKER_DETECTOR_SIZE_INFO_ML;
16158}
16159#[repr(C)]
16160#[derive(Copy, Clone, Debug)]
16161#[doc = "See [XrMarkerDetectorAprilTagInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorAprilTagInfoML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
16162pub struct MarkerDetectorAprilTagInfoML {
16163    pub ty: StructureType,
16164    pub next: *const c_void,
16165    pub april_tag_dict: MarkerAprilTagDictML,
16166}
16167impl MarkerDetectorAprilTagInfoML {
16168    pub const TYPE: StructureType = StructureType::MARKER_DETECTOR_APRIL_TAG_INFO_ML;
16169}
16170#[repr(C)]
16171#[derive(Copy, Clone, Debug)]
16172#[doc = "See [XrMarkerDetectorCustomProfileInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorCustomProfileInfoML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
16173pub struct MarkerDetectorCustomProfileInfoML {
16174    pub ty: StructureType,
16175    pub next: *const c_void,
16176    pub fps_hint: MarkerDetectorFpsML,
16177    pub resolution_hint: MarkerDetectorResolutionML,
16178    pub camera_hint: MarkerDetectorCameraML,
16179    pub corner_refine_method: MarkerDetectorCornerRefineMethodML,
16180    pub use_edge_refinement: Bool32,
16181    pub full_analysis_interval_hint: MarkerDetectorFullAnalysisIntervalML,
16182}
16183impl MarkerDetectorCustomProfileInfoML {
16184    pub const TYPE: StructureType = StructureType::MARKER_DETECTOR_CUSTOM_PROFILE_INFO_ML;
16185}
16186#[repr(C)]
16187#[derive(Copy, Clone, Debug)]
16188#[doc = "See [XrMarkerDetectorSnapshotInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorSnapshotInfoML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
16189pub struct MarkerDetectorSnapshotInfoML {
16190    pub ty: StructureType,
16191    pub next: *const c_void,
16192}
16193impl MarkerDetectorSnapshotInfoML {
16194    pub const TYPE: StructureType = StructureType::MARKER_DETECTOR_SNAPSHOT_INFO_ML;
16195}
16196#[repr(C)]
16197#[derive(Copy, Clone, Debug)]
16198#[doc = "See [XrMarkerDetectorStateML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorStateML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
16199pub struct MarkerDetectorStateML {
16200    pub ty: StructureType,
16201    pub next: *mut c_void,
16202    pub state: MarkerDetectorStatusML,
16203}
16204impl MarkerDetectorStateML {
16205    pub const TYPE: StructureType = StructureType::MARKER_DETECTOR_STATE_ML;
16206    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16207    #[inline]
16208    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16209        let mut x = MaybeUninit::<Self>::uninit();
16210        unsafe {
16211            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16212                ty: Self::TYPE,
16213                next,
16214            });
16215        }
16216        x
16217    }
16218}
16219#[repr(C)]
16220#[derive(Copy, Clone, Debug)]
16221#[doc = "See [XrMarkerSpaceCreateInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerSpaceCreateInfoML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
16222pub struct MarkerSpaceCreateInfoML {
16223    pub ty: StructureType,
16224    pub next: *const c_void,
16225    pub marker_detector: MarkerDetectorML,
16226    pub marker: MarkerML,
16227    pub pose_in_marker_space: Posef,
16228}
16229impl MarkerSpaceCreateInfoML {
16230    pub const TYPE: StructureType = StructureType::MARKER_SPACE_CREATE_INFO_ML;
16231}
16232#[repr(C)]
16233#[derive(Copy, Clone, Debug, Default, PartialEq)]
16234#[doc = "See [XrColor3f](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrColor3f)"]
16235pub struct Color3f {
16236    pub r: f32,
16237    pub g: f32,
16238    pub b: f32,
16239}
16240pub type Color3fKHR = Color3f;
16241#[repr(C)]
16242#[derive(Copy, Clone, Debug, Default, PartialEq)]
16243#[doc = "See [XrExtent3Df](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExtent3Df)"]
16244pub struct Extent3Df {
16245    pub width: f32,
16246    pub height: f32,
16247    pub depth: f32,
16248}
16249pub type Extent3DfEXT = Extent3Df;
16250pub type Extent3DfFB = Extent3Df;
16251pub type Extent3DfKHR = Extent3Df;
16252#[repr(C)]
16253#[derive(Copy, Clone, Debug, Default, PartialEq)]
16254#[doc = "See [XrSpheref](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpheref)"]
16255pub struct Spheref {
16256    pub center: Posef,
16257    pub radius: f32,
16258}
16259pub type SpherefKHR = Spheref;
16260#[repr(C)]
16261#[derive(Copy, Clone, Debug, Default, PartialEq)]
16262#[doc = "See [XrBoxf](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBoxf)"]
16263pub struct Boxf {
16264    pub center: Posef,
16265    pub extents: Extent3Df,
16266}
16267pub type BoxfKHR = Boxf;
16268#[repr(C)]
16269#[derive(Copy, Clone, Debug, Default, PartialEq)]
16270#[doc = "See [XrFrustumf](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrustumf)"]
16271pub struct Frustumf {
16272    pub pose: Posef,
16273    pub fov: Fovf,
16274    pub near_z: f32,
16275    pub far_z: f32,
16276}
16277pub type FrustumfKHR = Frustumf;
16278#[repr(C)]
16279#[derive(Copy, Clone, Debug, Default, PartialEq)]
16280#[doc = "See [XrUuid](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrUuid)"]
16281pub struct Uuid {
16282    pub data: [u8; UUID_SIZE],
16283}
16284pub type UuidEXT = Uuid;
16285#[repr(C)]
16286#[derive(Copy, Clone, Debug)]
16287#[doc = "See [XrSystemFacialExpressionPropertiesML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemFacialExpressionPropertiesML) - defined by [XR_ML_facial_expression](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_facial_expression)"]
16288pub struct SystemFacialExpressionPropertiesML {
16289    pub ty: StructureType,
16290    pub next: *mut c_void,
16291    pub supports_facial_expression: Bool32,
16292}
16293impl SystemFacialExpressionPropertiesML {
16294    pub const TYPE: StructureType = StructureType::SYSTEM_FACIAL_EXPRESSION_PROPERTIES_ML;
16295    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16296    #[inline]
16297    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16298        let mut x = MaybeUninit::<Self>::uninit();
16299        unsafe {
16300            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16301                ty: Self::TYPE,
16302                next,
16303            });
16304        }
16305        x
16306    }
16307}
16308#[repr(C)]
16309#[derive(Copy, Clone, Debug)]
16310#[doc = "See [XrFacialExpressionClientCreateInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialExpressionClientCreateInfoML) - defined by [XR_ML_facial_expression](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_facial_expression)"]
16311pub struct FacialExpressionClientCreateInfoML {
16312    pub ty: StructureType,
16313    pub next: *const c_void,
16314    pub requested_count: u32,
16315    pub requested_facial_blend_shapes: *const FacialBlendShapeML,
16316}
16317impl FacialExpressionClientCreateInfoML {
16318    pub const TYPE: StructureType = StructureType::FACIAL_EXPRESSION_CLIENT_CREATE_INFO_ML;
16319}
16320#[repr(C)]
16321#[derive(Copy, Clone, Debug)]
16322#[doc = "See [XrFacialExpressionBlendShapePropertiesML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialExpressionBlendShapePropertiesML) - defined by [XR_ML_facial_expression](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_facial_expression)"]
16323pub struct FacialExpressionBlendShapePropertiesML {
16324    pub ty: StructureType,
16325    pub next: *mut c_void,
16326    pub requested_facial_blend_shape: FacialBlendShapeML,
16327    pub weight: f32,
16328    pub flags: FacialExpressionBlendShapePropertiesFlagsML,
16329    pub time: Time,
16330}
16331impl FacialExpressionBlendShapePropertiesML {
16332    pub const TYPE: StructureType = StructureType::FACIAL_EXPRESSION_BLEND_SHAPE_PROPERTIES_ML;
16333    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16334    #[inline]
16335    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16336        let mut x = MaybeUninit::<Self>::uninit();
16337        unsafe {
16338            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16339                ty: Self::TYPE,
16340                next,
16341            });
16342        }
16343        x
16344    }
16345}
16346#[repr(C)]
16347#[derive(Copy, Clone, Debug)]
16348#[doc = "See [XrFacialExpressionBlendShapeGetInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialExpressionBlendShapeGetInfoML) - defined by [XR_ML_facial_expression](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_facial_expression)"]
16349pub struct FacialExpressionBlendShapeGetInfoML {
16350    pub ty: StructureType,
16351    pub next: *const c_void,
16352}
16353impl FacialExpressionBlendShapeGetInfoML {
16354    pub const TYPE: StructureType = StructureType::FACIAL_EXPRESSION_BLEND_SHAPE_GET_INFO_ML;
16355}
16356#[repr(C)]
16357#[derive(Copy, Clone, Debug)]
16358#[doc = "See [XrRecommendedLayerResolutionMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRecommendedLayerResolutionMETA) - defined by [XR_META_recommended_layer_resolution](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_recommended_layer_resolution)"]
16359pub struct RecommendedLayerResolutionMETA {
16360    pub ty: StructureType,
16361    pub next: *mut c_void,
16362    pub recommended_image_dimensions: Extent2Di,
16363    pub is_valid: Bool32,
16364}
16365impl RecommendedLayerResolutionMETA {
16366    pub const TYPE: StructureType = StructureType::RECOMMENDED_LAYER_RESOLUTION_META;
16367    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16368    #[inline]
16369    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16370        let mut x = MaybeUninit::<Self>::uninit();
16371        unsafe {
16372            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16373                ty: Self::TYPE,
16374                next,
16375            });
16376        }
16377        x
16378    }
16379}
16380#[repr(C)]
16381#[derive(Copy, Clone, Debug)]
16382#[doc = "See [XrRecommendedLayerResolutionGetInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRecommendedLayerResolutionGetInfoMETA) - defined by [XR_META_recommended_layer_resolution](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_recommended_layer_resolution)"]
16383pub struct RecommendedLayerResolutionGetInfoMETA {
16384    pub ty: StructureType,
16385    pub next: *const c_void,
16386    pub layer: *const CompositionLayerBaseHeader,
16387    pub predicted_display_time: Time,
16388}
16389impl RecommendedLayerResolutionGetInfoMETA {
16390    pub const TYPE: StructureType = StructureType::RECOMMENDED_LAYER_RESOLUTION_GET_INFO_META;
16391}
16392#[repr(C)]
16393#[derive(Copy, Clone, Debug)]
16394#[doc = "See [XrSystemUserPresencePropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemUserPresencePropertiesEXT) - defined by [XR_EXT_user_presence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_user_presence)"]
16395pub struct SystemUserPresencePropertiesEXT {
16396    pub ty: StructureType,
16397    pub next: *mut c_void,
16398    pub supports_user_presence: Bool32,
16399}
16400impl SystemUserPresencePropertiesEXT {
16401    pub const TYPE: StructureType = StructureType::SYSTEM_USER_PRESENCE_PROPERTIES_EXT;
16402    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16403    #[inline]
16404    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16405        let mut x = MaybeUninit::<Self>::uninit();
16406        unsafe {
16407            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16408                ty: Self::TYPE,
16409                next,
16410            });
16411        }
16412        x
16413    }
16414}
16415#[repr(C)]
16416#[derive(Copy, Clone, Debug)]
16417#[doc = "See [XrEventDataUserPresenceChangedEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataUserPresenceChangedEXT) - defined by [XR_EXT_user_presence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_user_presence)"]
16418pub struct EventDataUserPresenceChangedEXT {
16419    pub ty: StructureType,
16420    pub next: *const c_void,
16421    pub session: Session,
16422    pub is_user_present: Bool32,
16423}
16424impl EventDataUserPresenceChangedEXT {
16425    pub const TYPE: StructureType = StructureType::EVENT_DATA_USER_PRESENCE_CHANGED_EXT;
16426}
16427#[repr(C)]
16428#[derive(Copy, Clone, Debug)]
16429#[doc = "See [XrFutureCompletionBaseHeaderEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFutureCompletionBaseHeaderEXT) - defined by [XR_EXT_future](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_future)"]
16430pub struct FutureCompletionBaseHeaderEXT {
16431    pub ty: StructureType,
16432    pub next: *mut c_void,
16433    pub future_result: Result,
16434}
16435#[repr(C)]
16436#[derive(Copy, Clone, Debug)]
16437#[doc = "See [XrFutureCompletionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFutureCompletionEXT) - defined by [XR_EXT_future](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_future)"]
16438pub struct FutureCompletionEXT {
16439    pub ty: StructureType,
16440    pub next: *mut c_void,
16441    pub future_result: Result,
16442}
16443impl FutureCompletionEXT {
16444    pub const TYPE: StructureType = StructureType::FUTURE_COMPLETION_EXT;
16445    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16446    #[inline]
16447    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16448        let mut x = MaybeUninit::<Self>::uninit();
16449        unsafe {
16450            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16451                ty: Self::TYPE,
16452                next,
16453            });
16454        }
16455        x
16456    }
16457}
16458#[repr(C)]
16459#[derive(Copy, Clone, Debug)]
16460#[doc = "See [XrFutureCancelInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFutureCancelInfoEXT) - defined by [XR_EXT_future](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_future)"]
16461pub struct FutureCancelInfoEXT {
16462    pub ty: StructureType,
16463    pub next: *const c_void,
16464    pub future: FutureEXT,
16465}
16466impl FutureCancelInfoEXT {
16467    pub const TYPE: StructureType = StructureType::FUTURE_CANCEL_INFO_EXT;
16468}
16469#[repr(C)]
16470#[derive(Copy, Clone, Debug)]
16471#[doc = "See [XrFuturePollInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFuturePollInfoEXT) - defined by [XR_EXT_future](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_future)"]
16472pub struct FuturePollInfoEXT {
16473    pub ty: StructureType,
16474    pub next: *const c_void,
16475    pub future: FutureEXT,
16476}
16477impl FuturePollInfoEXT {
16478    pub const TYPE: StructureType = StructureType::FUTURE_POLL_INFO_EXT;
16479}
16480#[repr(C)]
16481#[derive(Copy, Clone, Debug)]
16482#[doc = "See [XrFuturePollResultEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFuturePollResultEXT) - defined by [XR_EXT_future](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_future)"]
16483pub struct FuturePollResultEXT {
16484    pub ty: StructureType,
16485    pub next: *mut c_void,
16486    pub state: FutureStateEXT,
16487}
16488impl FuturePollResultEXT {
16489    pub const TYPE: StructureType = StructureType::FUTURE_POLL_RESULT_EXT;
16490    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16491    #[inline]
16492    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16493        let mut x = MaybeUninit::<Self>::uninit();
16494        unsafe {
16495            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16496                ty: Self::TYPE,
16497                next,
16498            });
16499        }
16500        x
16501    }
16502}
16503#[repr(C)]
16504#[derive(Copy, Clone, Debug)]
16505#[doc = "See [XrEnvironmentDepthProviderCreateInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthProviderCreateInfoMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
16506pub struct EnvironmentDepthProviderCreateInfoMETA {
16507    pub ty: StructureType,
16508    pub next: *const c_void,
16509    pub create_flags: EnvironmentDepthProviderCreateFlagsMETA,
16510}
16511impl EnvironmentDepthProviderCreateInfoMETA {
16512    pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_PROVIDER_CREATE_INFO_META;
16513}
16514#[repr(C)]
16515#[derive(Copy, Clone, Debug)]
16516#[doc = "See [XrEnvironmentDepthSwapchainCreateInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthSwapchainCreateInfoMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
16517pub struct EnvironmentDepthSwapchainCreateInfoMETA {
16518    pub ty: StructureType,
16519    pub next: *const c_void,
16520    pub create_flags: EnvironmentDepthSwapchainCreateFlagsMETA,
16521}
16522impl EnvironmentDepthSwapchainCreateInfoMETA {
16523    pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_SWAPCHAIN_CREATE_INFO_META;
16524}
16525#[repr(C)]
16526#[derive(Copy, Clone, Debug)]
16527#[doc = "See [XrEnvironmentDepthSwapchainStateMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthSwapchainStateMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
16528pub struct EnvironmentDepthSwapchainStateMETA {
16529    pub ty: StructureType,
16530    pub next: *mut c_void,
16531    pub width: u32,
16532    pub height: u32,
16533}
16534impl EnvironmentDepthSwapchainStateMETA {
16535    pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_SWAPCHAIN_STATE_META;
16536    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16537    #[inline]
16538    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16539        let mut x = MaybeUninit::<Self>::uninit();
16540        unsafe {
16541            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16542                ty: Self::TYPE,
16543                next,
16544            });
16545        }
16546        x
16547    }
16548}
16549#[repr(C)]
16550#[derive(Copy, Clone, Debug)]
16551#[doc = "See [XrEnvironmentDepthImageAcquireInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthImageAcquireInfoMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
16552pub struct EnvironmentDepthImageAcquireInfoMETA {
16553    pub ty: StructureType,
16554    pub next: *const c_void,
16555    pub space: Space,
16556    pub display_time: Time,
16557}
16558impl EnvironmentDepthImageAcquireInfoMETA {
16559    pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_IMAGE_ACQUIRE_INFO_META;
16560}
16561#[repr(C)]
16562#[derive(Copy, Clone, Debug)]
16563#[doc = "See [XrEnvironmentDepthImageViewMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthImageViewMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
16564pub struct EnvironmentDepthImageViewMETA {
16565    pub ty: StructureType,
16566    pub next: *const c_void,
16567    pub fov: Fovf,
16568    pub pose: Posef,
16569}
16570impl EnvironmentDepthImageViewMETA {
16571    pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_IMAGE_VIEW_META;
16572}
16573#[repr(C)]
16574#[derive(Copy, Clone, Debug)]
16575#[doc = "See [XrEnvironmentDepthImageMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthImageMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
16576pub struct EnvironmentDepthImageMETA {
16577    pub ty: StructureType,
16578    pub next: *const c_void,
16579    pub swapchain_index: u32,
16580    pub near_z: f32,
16581    pub far_z: f32,
16582    pub views: [EnvironmentDepthImageViewMETA; 2usize],
16583}
16584impl EnvironmentDepthImageMETA {
16585    pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_IMAGE_META;
16586}
16587#[repr(C)]
16588#[derive(Copy, Clone, Debug)]
16589#[doc = "See [XrEnvironmentDepthImageTimestampMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthImageTimestampMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
16590pub struct EnvironmentDepthImageTimestampMETA {
16591    pub ty: StructureType,
16592    pub next: *const c_void,
16593    pub capture_time: Time,
16594}
16595impl EnvironmentDepthImageTimestampMETA {
16596    pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_IMAGE_TIMESTAMP_META;
16597}
16598#[repr(C)]
16599#[derive(Copy, Clone, Debug)]
16600#[doc = "See [XrEnvironmentDepthHandRemovalSetInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthHandRemovalSetInfoMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
16601pub struct EnvironmentDepthHandRemovalSetInfoMETA {
16602    pub ty: StructureType,
16603    pub next: *const c_void,
16604    pub enabled: Bool32,
16605}
16606impl EnvironmentDepthHandRemovalSetInfoMETA {
16607    pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_HAND_REMOVAL_SET_INFO_META;
16608}
16609#[repr(C)]
16610#[derive(Copy, Clone, Debug)]
16611#[doc = "See [XrSystemEnvironmentDepthPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemEnvironmentDepthPropertiesMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
16612pub struct SystemEnvironmentDepthPropertiesMETA {
16613    pub ty: StructureType,
16614    pub next: *mut c_void,
16615    pub supports_environment_depth: Bool32,
16616    pub supports_hand_removal: Bool32,
16617}
16618impl SystemEnvironmentDepthPropertiesMETA {
16619    pub const TYPE: StructureType = StructureType::SYSTEM_ENVIRONMENT_DEPTH_PROPERTIES_META;
16620    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16621    #[inline]
16622    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16623        let mut x = MaybeUninit::<Self>::uninit();
16624        unsafe {
16625            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16626                ty: Self::TYPE,
16627                next,
16628            });
16629        }
16630        x
16631    }
16632}
16633#[repr(C)]
16634#[derive(Copy, Clone, Debug)]
16635#[doc = "See [XrSpacesLocateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpacesLocateInfo)"]
16636pub struct SpacesLocateInfo {
16637    pub ty: StructureType,
16638    pub next: *const c_void,
16639    pub base_space: Space,
16640    pub time: Time,
16641    pub space_count: u32,
16642    pub spaces: *const Space,
16643}
16644impl SpacesLocateInfo {
16645    pub const TYPE: StructureType = StructureType::SPACES_LOCATE_INFO;
16646}
16647pub type SpacesLocateInfoKHR = SpacesLocateInfo;
16648#[repr(C)]
16649#[derive(Copy, Clone, Debug)]
16650#[doc = "See [XrSpaceLocations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceLocations)"]
16651pub struct SpaceLocations {
16652    pub ty: StructureType,
16653    pub next: *mut c_void,
16654    pub location_count: u32,
16655    pub locations: *mut SpaceLocationData,
16656}
16657impl SpaceLocations {
16658    pub const TYPE: StructureType = StructureType::SPACE_LOCATIONS;
16659    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16660    #[inline]
16661    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16662        let mut x = MaybeUninit::<Self>::uninit();
16663        unsafe {
16664            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16665                ty: Self::TYPE,
16666                next,
16667            });
16668        }
16669        x
16670    }
16671}
16672pub type SpaceLocationsKHR = SpaceLocations;
16673#[repr(C)]
16674#[derive(Copy, Clone, Debug, Default, PartialEq)]
16675#[doc = "See [XrSpaceLocationData](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceLocationData)"]
16676pub struct SpaceLocationData {
16677    pub location_flags: SpaceLocationFlags,
16678    pub pose: Posef,
16679}
16680pub type SpaceLocationDataKHR = SpaceLocationData;
16681#[repr(C)]
16682#[derive(Copy, Clone, Debug)]
16683#[doc = "See [XrSpaceVelocities](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceVelocities)"]
16684pub struct SpaceVelocities {
16685    pub ty: StructureType,
16686    pub next: *mut c_void,
16687    pub velocity_count: u32,
16688    pub velocities: *mut SpaceVelocityData,
16689}
16690impl SpaceVelocities {
16691    pub const TYPE: StructureType = StructureType::SPACE_VELOCITIES;
16692    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16693    #[inline]
16694    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16695        let mut x = MaybeUninit::<Self>::uninit();
16696        unsafe {
16697            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16698                ty: Self::TYPE,
16699                next,
16700            });
16701        }
16702        x
16703    }
16704}
16705pub type SpaceVelocitiesKHR = SpaceVelocities;
16706#[repr(C)]
16707#[derive(Copy, Clone, Debug, Default, PartialEq)]
16708#[doc = "See [XrSpaceVelocityData](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceVelocityData)"]
16709pub struct SpaceVelocityData {
16710    pub velocity_flags: SpaceVelocityFlags,
16711    pub linear_velocity: Vector3f,
16712    pub angular_velocity: Vector3f,
16713}
16714pub type SpaceVelocityDataKHR = SpaceVelocityData;
16715#[repr(C)]
16716#[derive(Copy, Clone, Debug)]
16717#[doc = "See [XrSpatialCapabilityComponentTypesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityComponentTypesEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16718pub struct SpatialCapabilityComponentTypesEXT {
16719    pub ty: StructureType,
16720    pub next: *mut c_void,
16721    pub component_type_capacity_input: u32,
16722    pub component_type_count_output: u32,
16723    pub component_types: *mut SpatialComponentTypeEXT,
16724}
16725impl SpatialCapabilityComponentTypesEXT {
16726    pub const TYPE: StructureType = StructureType::SPATIAL_CAPABILITY_COMPONENT_TYPES_EXT;
16727    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16728    #[inline]
16729    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16730        let mut x = MaybeUninit::<Self>::uninit();
16731        unsafe {
16732            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16733                ty: Self::TYPE,
16734                next,
16735            });
16736        }
16737        x
16738    }
16739}
16740#[repr(C)]
16741#[derive(Copy, Clone, Debug)]
16742#[doc = "See [XrSpatialCapabilityConfigurationBaseHeaderEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityConfigurationBaseHeaderEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16743pub struct SpatialCapabilityConfigurationBaseHeaderEXT {
16744    pub ty: StructureType,
16745    pub next: *const c_void,
16746    pub capability: SpatialCapabilityEXT,
16747    pub enabled_component_count: u32,
16748    pub enabled_components: *const SpatialComponentTypeEXT,
16749}
16750#[repr(C)]
16751#[derive(Copy, Clone, Debug)]
16752#[doc = "See [XrSpatialContextCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialContextCreateInfoEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16753pub struct SpatialContextCreateInfoEXT {
16754    pub ty: StructureType,
16755    pub next: *const c_void,
16756    pub capability_config_count: u32,
16757    pub capability_configs: *const *const SpatialCapabilityConfigurationBaseHeaderEXT,
16758}
16759impl SpatialContextCreateInfoEXT {
16760    pub const TYPE: StructureType = StructureType::SPATIAL_CONTEXT_CREATE_INFO_EXT;
16761}
16762#[repr(C)]
16763#[derive(Copy, Clone, Debug)]
16764#[doc = "See [XrCreateSpatialContextCompletionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCreateSpatialContextCompletionEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16765pub struct CreateSpatialContextCompletionEXT {
16766    pub ty: StructureType,
16767    pub next: *mut c_void,
16768    pub future_result: Result,
16769    pub spatial_context: SpatialContextEXT,
16770}
16771impl CreateSpatialContextCompletionEXT {
16772    pub const TYPE: StructureType = StructureType::CREATE_SPATIAL_CONTEXT_COMPLETION_EXT;
16773    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16774    #[inline]
16775    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16776        let mut x = MaybeUninit::<Self>::uninit();
16777        unsafe {
16778            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16779                ty: Self::TYPE,
16780                next,
16781            });
16782        }
16783        x
16784    }
16785}
16786#[repr(C)]
16787#[derive(Copy, Clone, Debug)]
16788#[doc = "See [XrSpatialDiscoverySnapshotCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialDiscoverySnapshotCreateInfoEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16789pub struct SpatialDiscoverySnapshotCreateInfoEXT {
16790    pub ty: StructureType,
16791    pub next: *const c_void,
16792    pub component_type_count: u32,
16793    pub component_types: *const SpatialComponentTypeEXT,
16794}
16795impl SpatialDiscoverySnapshotCreateInfoEXT {
16796    pub const TYPE: StructureType = StructureType::SPATIAL_DISCOVERY_SNAPSHOT_CREATE_INFO_EXT;
16797}
16798#[repr(C)]
16799#[derive(Copy, Clone, Debug)]
16800#[doc = "See [XrCreateSpatialDiscoverySnapshotCompletionInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCreateSpatialDiscoverySnapshotCompletionInfoEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16801pub struct CreateSpatialDiscoverySnapshotCompletionInfoEXT {
16802    pub ty: StructureType,
16803    pub next: *const c_void,
16804    pub base_space: Space,
16805    pub time: Time,
16806    pub future: FutureEXT,
16807}
16808impl CreateSpatialDiscoverySnapshotCompletionInfoEXT {
16809    pub const TYPE: StructureType =
16810        StructureType::CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_INFO_EXT;
16811}
16812#[repr(C)]
16813#[derive(Copy, Clone, Debug)]
16814#[doc = "See [XrCreateSpatialDiscoverySnapshotCompletionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCreateSpatialDiscoverySnapshotCompletionEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16815pub struct CreateSpatialDiscoverySnapshotCompletionEXT {
16816    pub ty: StructureType,
16817    pub next: *mut c_void,
16818    pub future_result: Result,
16819    pub snapshot: SpatialSnapshotEXT,
16820}
16821impl CreateSpatialDiscoverySnapshotCompletionEXT {
16822    pub const TYPE: StructureType = StructureType::CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_EXT;
16823    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16824    #[inline]
16825    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16826        let mut x = MaybeUninit::<Self>::uninit();
16827        unsafe {
16828            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16829                ty: Self::TYPE,
16830                next,
16831            });
16832        }
16833        x
16834    }
16835}
16836#[repr(C)]
16837#[derive(Copy, Clone, Debug)]
16838#[doc = "See [XrSpatialComponentDataQueryConditionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentDataQueryConditionEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16839pub struct SpatialComponentDataQueryConditionEXT {
16840    pub ty: StructureType,
16841    pub next: *const c_void,
16842    pub component_type_count: u32,
16843    pub component_types: *const SpatialComponentTypeEXT,
16844}
16845impl SpatialComponentDataQueryConditionEXT {
16846    pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_DATA_QUERY_CONDITION_EXT;
16847}
16848#[repr(C)]
16849#[derive(Copy, Clone, Debug)]
16850#[doc = "See [XrSpatialComponentDataQueryResultEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentDataQueryResultEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16851pub struct SpatialComponentDataQueryResultEXT {
16852    pub ty: StructureType,
16853    pub next: *mut c_void,
16854    pub entity_id_capacity_input: u32,
16855    pub entity_id_count_output: u32,
16856    pub entity_ids: *mut SpatialEntityIdEXT,
16857    pub entity_state_capacity_input: u32,
16858    pub entity_state_count_output: u32,
16859    pub entity_states: *mut SpatialEntityTrackingStateEXT,
16860}
16861impl SpatialComponentDataQueryResultEXT {
16862    pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_DATA_QUERY_RESULT_EXT;
16863    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16864    #[inline]
16865    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16866        let mut x = MaybeUninit::<Self>::uninit();
16867        unsafe {
16868            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16869                ty: Self::TYPE,
16870                next,
16871            });
16872        }
16873        x
16874    }
16875}
16876#[repr(C)]
16877#[derive(Copy, Clone, Debug, Default, PartialEq)]
16878#[doc = "See [XrSpatialBufferEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialBufferEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16879pub struct SpatialBufferEXT {
16880    pub buffer_id: SpatialBufferIdEXT,
16881    pub buffer_type: SpatialBufferTypeEXT,
16882}
16883#[repr(C)]
16884#[derive(Copy, Clone, Debug)]
16885#[doc = "See [XrSpatialBufferGetInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialBufferGetInfoEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16886pub struct SpatialBufferGetInfoEXT {
16887    pub ty: StructureType,
16888    pub next: *const c_void,
16889    pub buffer_id: SpatialBufferIdEXT,
16890}
16891impl SpatialBufferGetInfoEXT {
16892    pub const TYPE: StructureType = StructureType::SPATIAL_BUFFER_GET_INFO_EXT;
16893}
16894#[repr(C)]
16895#[derive(Copy, Clone, Debug, Default, PartialEq)]
16896#[doc = "See [XrSpatialBounded2DDataEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialBounded2DDataEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16897pub struct SpatialBounded2DDataEXT {
16898    pub center: Posef,
16899    pub extents: Extent2Df,
16900}
16901#[repr(C)]
16902#[derive(Copy, Clone, Debug)]
16903#[doc = "See [XrSpatialComponentBounded2DListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentBounded2DListEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16904pub struct SpatialComponentBounded2DListEXT {
16905    pub ty: StructureType,
16906    pub next: *mut c_void,
16907    pub bound_count: u32,
16908    pub bounds: *mut SpatialBounded2DDataEXT,
16909}
16910impl SpatialComponentBounded2DListEXT {
16911    pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_BOUNDED_2D_LIST_EXT;
16912    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16913    #[inline]
16914    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16915        let mut x = MaybeUninit::<Self>::uninit();
16916        unsafe {
16917            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16918                ty: Self::TYPE,
16919                next,
16920            });
16921        }
16922        x
16923    }
16924}
16925#[repr(C)]
16926#[derive(Copy, Clone, Debug)]
16927#[doc = "See [XrSpatialComponentBounded3DListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentBounded3DListEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16928#[cfg(windows)]
16929pub struct SpatialComponentBounded3DListEXT {
16930    pub ty: StructureType,
16931    pub next: *mut c_void,
16932    pub bound_count: u32,
16933    pub bounds: *mut Boxf,
16934}
16935#[cfg(windows)]
16936impl SpatialComponentBounded3DListEXT {
16937    pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_BOUNDED_3D_LIST_EXT;
16938    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16939    #[inline]
16940    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16941        let mut x = MaybeUninit::<Self>::uninit();
16942        unsafe {
16943            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16944                ty: Self::TYPE,
16945                next,
16946            });
16947        }
16948        x
16949    }
16950}
16951#[repr(C)]
16952#[derive(Copy, Clone, Debug)]
16953#[doc = "See [XrSpatialComponentParentListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentParentListEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16954pub struct SpatialComponentParentListEXT {
16955    pub ty: StructureType,
16956    pub next: *mut c_void,
16957    pub parent_count: u32,
16958    pub parents: *mut SpatialEntityIdEXT,
16959}
16960impl SpatialComponentParentListEXT {
16961    pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_PARENT_LIST_EXT;
16962    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16963    #[inline]
16964    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16965        let mut x = MaybeUninit::<Self>::uninit();
16966        unsafe {
16967            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16968                ty: Self::TYPE,
16969                next,
16970            });
16971        }
16972        x
16973    }
16974}
16975#[repr(C)]
16976#[derive(Copy, Clone, Debug, Default, PartialEq)]
16977#[doc = "See [XrSpatialMeshDataEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialMeshDataEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16978pub struct SpatialMeshDataEXT {
16979    pub origin: Posef,
16980    pub vertex_buffer: SpatialBufferEXT,
16981    pub index_buffer: SpatialBufferEXT,
16982}
16983#[repr(C)]
16984#[derive(Copy, Clone, Debug)]
16985#[doc = "See [XrSpatialComponentMesh3DListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentMesh3DListEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16986pub struct SpatialComponentMesh3DListEXT {
16987    pub ty: StructureType,
16988    pub next: *mut c_void,
16989    pub mesh_count: u32,
16990    pub meshes: *mut SpatialMeshDataEXT,
16991}
16992impl SpatialComponentMesh3DListEXT {
16993    pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_MESH_3D_LIST_EXT;
16994    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16995    #[inline]
16996    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16997        let mut x = MaybeUninit::<Self>::uninit();
16998        unsafe {
16999            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17000                ty: Self::TYPE,
17001                next,
17002            });
17003        }
17004        x
17005    }
17006}
17007#[repr(C)]
17008#[derive(Copy, Clone, Debug)]
17009#[doc = "See [XrSpatialEntityFromIdCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityFromIdCreateInfoEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
17010pub struct SpatialEntityFromIdCreateInfoEXT {
17011    pub ty: StructureType,
17012    pub next: *const c_void,
17013    pub entity_id: SpatialEntityIdEXT,
17014}
17015impl SpatialEntityFromIdCreateInfoEXT {
17016    pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_FROM_ID_CREATE_INFO_EXT;
17017}
17018#[repr(C)]
17019#[derive(Copy, Clone, Debug)]
17020#[doc = "See [XrSpatialUpdateSnapshotCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialUpdateSnapshotCreateInfoEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
17021pub struct SpatialUpdateSnapshotCreateInfoEXT {
17022    pub ty: StructureType,
17023    pub next: *const c_void,
17024    pub entity_count: u32,
17025    pub entities: *const SpatialEntityEXT,
17026    pub component_type_count: u32,
17027    pub component_types: *const SpatialComponentTypeEXT,
17028    pub base_space: Space,
17029    pub time: Time,
17030}
17031impl SpatialUpdateSnapshotCreateInfoEXT {
17032    pub const TYPE: StructureType = StructureType::SPATIAL_UPDATE_SNAPSHOT_CREATE_INFO_EXT;
17033}
17034#[repr(C)]
17035#[derive(Copy, Clone, Debug)]
17036#[doc = "See [XrEventDataSpatialDiscoveryRecommendedEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpatialDiscoveryRecommendedEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
17037pub struct EventDataSpatialDiscoveryRecommendedEXT {
17038    pub ty: StructureType,
17039    pub next: *const c_void,
17040    pub spatial_context: SpatialContextEXT,
17041}
17042impl EventDataSpatialDiscoveryRecommendedEXT {
17043    pub const TYPE: StructureType = StructureType::EVENT_DATA_SPATIAL_DISCOVERY_RECOMMENDED_EXT;
17044}
17045#[repr(C)]
17046#[derive(Copy, Clone, Debug)]
17047#[doc = "See [XrSpatialFilterTrackingStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialFilterTrackingStateEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
17048pub struct SpatialFilterTrackingStateEXT {
17049    pub ty: StructureType,
17050    pub next: *const c_void,
17051    pub tracking_state: SpatialEntityTrackingStateEXT,
17052}
17053impl SpatialFilterTrackingStateEXT {
17054    pub const TYPE: StructureType = StructureType::SPATIAL_FILTER_TRACKING_STATE_EXT;
17055}
17056#[repr(C)]
17057#[derive(Copy, Clone, Debug)]
17058#[doc = "See [XrSpatialCapabilityConfigurationAnchorEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityConfigurationAnchorEXT) - defined by [XR_EXT_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_anchor)"]
17059pub struct SpatialCapabilityConfigurationAnchorEXT {
17060    pub ty: StructureType,
17061    pub next: *const c_void,
17062    pub capability: SpatialCapabilityEXT,
17063    pub enabled_component_count: u32,
17064    pub enabled_components: *const SpatialComponentTypeEXT,
17065}
17066impl SpatialCapabilityConfigurationAnchorEXT {
17067    pub const TYPE: StructureType = StructureType::SPATIAL_CAPABILITY_CONFIGURATION_ANCHOR_EXT;
17068}
17069#[repr(C)]
17070#[derive(Copy, Clone, Debug)]
17071#[doc = "See [XrSpatialComponentAnchorListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentAnchorListEXT) - defined by [XR_EXT_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_anchor)"]
17072pub struct SpatialComponentAnchorListEXT {
17073    pub ty: StructureType,
17074    pub next: *mut c_void,
17075    pub location_count: u32,
17076    pub locations: *mut Posef,
17077}
17078impl SpatialComponentAnchorListEXT {
17079    pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_ANCHOR_LIST_EXT;
17080    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17081    #[inline]
17082    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17083        let mut x = MaybeUninit::<Self>::uninit();
17084        unsafe {
17085            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17086                ty: Self::TYPE,
17087                next,
17088            });
17089        }
17090        x
17091    }
17092}
17093#[repr(C)]
17094#[derive(Copy, Clone, Debug)]
17095#[doc = "See [XrSpatialAnchorCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorCreateInfoEXT) - defined by [XR_EXT_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_anchor)"]
17096pub struct SpatialAnchorCreateInfoEXT {
17097    pub ty: StructureType,
17098    pub next: *const c_void,
17099    pub base_space: Space,
17100    pub time: Time,
17101    pub pose: Posef,
17102}
17103impl SpatialAnchorCreateInfoEXT {
17104    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_CREATE_INFO_EXT;
17105}
17106#[repr(C)]
17107#[derive(Copy, Clone, Debug)]
17108#[doc = "See [XrSpatialPersistenceContextCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPersistenceContextCreateInfoEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
17109pub struct SpatialPersistenceContextCreateInfoEXT {
17110    pub ty: StructureType,
17111    pub next: *const c_void,
17112    pub scope: SpatialPersistenceScopeEXT,
17113}
17114impl SpatialPersistenceContextCreateInfoEXT {
17115    pub const TYPE: StructureType = StructureType::SPATIAL_PERSISTENCE_CONTEXT_CREATE_INFO_EXT;
17116}
17117#[repr(C)]
17118#[derive(Copy, Clone, Debug)]
17119#[doc = "See [XrCreateSpatialPersistenceContextCompletionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCreateSpatialPersistenceContextCompletionEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
17120pub struct CreateSpatialPersistenceContextCompletionEXT {
17121    pub ty: StructureType,
17122    pub next: *mut c_void,
17123    pub future_result: Result,
17124    pub create_result: SpatialPersistenceContextResultEXT,
17125    pub persistence_context: SpatialPersistenceContextEXT,
17126}
17127impl CreateSpatialPersistenceContextCompletionEXT {
17128    pub const TYPE: StructureType =
17129        StructureType::CREATE_SPATIAL_PERSISTENCE_CONTEXT_COMPLETION_EXT;
17130    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17131    #[inline]
17132    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17133        let mut x = MaybeUninit::<Self>::uninit();
17134        unsafe {
17135            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17136                ty: Self::TYPE,
17137                next,
17138            });
17139        }
17140        x
17141    }
17142}
17143#[repr(C)]
17144#[derive(Copy, Clone, Debug)]
17145#[doc = "See [XrSpatialContextPersistenceConfigEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialContextPersistenceConfigEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
17146pub struct SpatialContextPersistenceConfigEXT {
17147    pub ty: StructureType,
17148    pub next: *const c_void,
17149    pub persistence_context_count: u32,
17150    pub persistence_contexts: *const SpatialPersistenceContextEXT,
17151}
17152impl SpatialContextPersistenceConfigEXT {
17153    pub const TYPE: StructureType = StructureType::SPATIAL_CONTEXT_PERSISTENCE_CONFIG_EXT;
17154}
17155#[repr(C)]
17156#[derive(Copy, Clone, Debug)]
17157#[doc = "See [XrSpatialDiscoveryPersistenceUuidFilterEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialDiscoveryPersistenceUuidFilterEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
17158pub struct SpatialDiscoveryPersistenceUuidFilterEXT {
17159    pub ty: StructureType,
17160    pub next: *const c_void,
17161    pub persisted_uuid_count: u32,
17162    pub persisted_uuids: *const Uuid,
17163}
17164impl SpatialDiscoveryPersistenceUuidFilterEXT {
17165    pub const TYPE: StructureType = StructureType::SPATIAL_DISCOVERY_PERSISTENCE_UUID_FILTER_EXT;
17166}
17167#[repr(C)]
17168#[derive(Copy, Clone, Debug)]
17169#[doc = "See [XrSpatialPersistenceDataEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPersistenceDataEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
17170pub struct SpatialPersistenceDataEXT {
17171    pub persist_uuid: Uuid,
17172    pub persist_state: SpatialPersistenceStateEXT,
17173}
17174#[repr(C)]
17175#[derive(Copy, Clone, Debug)]
17176#[doc = "See [XrSpatialComponentPersistenceListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentPersistenceListEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
17177pub struct SpatialComponentPersistenceListEXT {
17178    pub ty: StructureType,
17179    pub next: *mut c_void,
17180    pub persist_data_count: u32,
17181    pub persist_data: *mut SpatialPersistenceDataEXT,
17182}
17183impl SpatialComponentPersistenceListEXT {
17184    pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_PERSISTENCE_LIST_EXT;
17185    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17186    #[inline]
17187    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17188        let mut x = MaybeUninit::<Self>::uninit();
17189        unsafe {
17190            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17191                ty: Self::TYPE,
17192                next,
17193            });
17194        }
17195        x
17196    }
17197}
17198#[repr(C)]
17199#[derive(Copy, Clone, Debug)]
17200#[doc = "See [XrSpatialEntityPersistInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityPersistInfoEXT) - defined by [XR_EXT_spatial_persistence_operations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence_operations)"]
17201pub struct SpatialEntityPersistInfoEXT {
17202    pub ty: StructureType,
17203    pub next: *const c_void,
17204    pub spatial_context: SpatialContextEXT,
17205    pub spatial_entity_id: SpatialEntityIdEXT,
17206}
17207impl SpatialEntityPersistInfoEXT {
17208    pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_PERSIST_INFO_EXT;
17209}
17210#[repr(C)]
17211#[derive(Copy, Clone, Debug)]
17212#[doc = "See [XrPersistSpatialEntityCompletionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPersistSpatialEntityCompletionEXT) - defined by [XR_EXT_spatial_persistence_operations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence_operations)"]
17213pub struct PersistSpatialEntityCompletionEXT {
17214    pub ty: StructureType,
17215    pub next: *mut c_void,
17216    pub future_result: Result,
17217    pub persist_result: SpatialPersistenceContextResultEXT,
17218    pub persist_uuid: Uuid,
17219}
17220impl PersistSpatialEntityCompletionEXT {
17221    pub const TYPE: StructureType = StructureType::PERSIST_SPATIAL_ENTITY_COMPLETION_EXT;
17222    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17223    #[inline]
17224    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17225        let mut x = MaybeUninit::<Self>::uninit();
17226        unsafe {
17227            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17228                ty: Self::TYPE,
17229                next,
17230            });
17231        }
17232        x
17233    }
17234}
17235#[repr(C)]
17236#[derive(Copy, Clone, Debug)]
17237#[doc = "See [XrSpatialEntityUnpersistInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityUnpersistInfoEXT) - defined by [XR_EXT_spatial_persistence_operations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence_operations)"]
17238pub struct SpatialEntityUnpersistInfoEXT {
17239    pub ty: StructureType,
17240    pub next: *const c_void,
17241    pub persist_uuid: Uuid,
17242}
17243impl SpatialEntityUnpersistInfoEXT {
17244    pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_UNPERSIST_INFO_EXT;
17245}
17246#[repr(C)]
17247#[derive(Copy, Clone, Debug)]
17248#[doc = "See [XrUnpersistSpatialEntityCompletionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrUnpersistSpatialEntityCompletionEXT) - defined by [XR_EXT_spatial_persistence_operations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence_operations)"]
17249pub struct UnpersistSpatialEntityCompletionEXT {
17250    pub ty: StructureType,
17251    pub next: *mut c_void,
17252    pub future_result: Result,
17253    pub unpersist_result: SpatialPersistenceContextResultEXT,
17254}
17255impl UnpersistSpatialEntityCompletionEXT {
17256    pub const TYPE: StructureType = StructureType::UNPERSIST_SPATIAL_ENTITY_COMPLETION_EXT;
17257    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17258    #[inline]
17259    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17260        let mut x = MaybeUninit::<Self>::uninit();
17261        unsafe {
17262            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17263                ty: Self::TYPE,
17264                next,
17265            });
17266        }
17267        x
17268    }
17269}
17270#[repr(C)]
17271#[derive(Copy, Clone, Debug)]
17272#[doc = "See [XrSpatialCapabilityConfigurationPlaneTrackingEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityConfigurationPlaneTrackingEXT) - defined by [XR_EXT_spatial_plane_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_plane_tracking)"]
17273pub struct SpatialCapabilityConfigurationPlaneTrackingEXT {
17274    pub ty: StructureType,
17275    pub next: *const c_void,
17276    pub capability: SpatialCapabilityEXT,
17277    pub enabled_component_count: u32,
17278    pub enabled_components: *const SpatialComponentTypeEXT,
17279}
17280impl SpatialCapabilityConfigurationPlaneTrackingEXT {
17281    pub const TYPE: StructureType =
17282        StructureType::SPATIAL_CAPABILITY_CONFIGURATION_PLANE_TRACKING_EXT;
17283}
17284#[repr(C)]
17285#[derive(Copy, Clone, Debug)]
17286#[doc = "See [XrSpatialComponentPlaneAlignmentListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentPlaneAlignmentListEXT) - defined by [XR_EXT_spatial_plane_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_plane_tracking)"]
17287pub struct SpatialComponentPlaneAlignmentListEXT {
17288    pub ty: StructureType,
17289    pub next: *mut c_void,
17290    pub plane_alignment_count: u32,
17291    pub plane_alignments: *mut SpatialPlaneAlignmentEXT,
17292}
17293impl SpatialComponentPlaneAlignmentListEXT {
17294    pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_PLANE_ALIGNMENT_LIST_EXT;
17295    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17296    #[inline]
17297    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17298        let mut x = MaybeUninit::<Self>::uninit();
17299        unsafe {
17300            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17301                ty: Self::TYPE,
17302                next,
17303            });
17304        }
17305        x
17306    }
17307}
17308#[repr(C)]
17309#[derive(Copy, Clone, Debug)]
17310#[doc = "See [XrSpatialComponentMesh2DListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentMesh2DListEXT) - defined by [XR_EXT_spatial_plane_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_plane_tracking)"]
17311pub struct SpatialComponentMesh2DListEXT {
17312    pub ty: StructureType,
17313    pub next: *mut c_void,
17314    pub mesh_count: u32,
17315    pub meshes: *mut SpatialMeshDataEXT,
17316}
17317impl SpatialComponentMesh2DListEXT {
17318    pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_MESH_2D_LIST_EXT;
17319    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17320    #[inline]
17321    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17322        let mut x = MaybeUninit::<Self>::uninit();
17323        unsafe {
17324            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17325                ty: Self::TYPE,
17326                next,
17327            });
17328        }
17329        x
17330    }
17331}
17332#[repr(C)]
17333#[derive(Copy, Clone, Debug, Default, PartialEq)]
17334#[doc = "See [XrSpatialPolygon2DDataEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPolygon2DDataEXT) - defined by [XR_EXT_spatial_plane_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_plane_tracking)"]
17335pub struct SpatialPolygon2DDataEXT {
17336    pub origin: Posef,
17337    pub vertex_buffer: SpatialBufferEXT,
17338}
17339#[repr(C)]
17340#[derive(Copy, Clone, Debug)]
17341#[doc = "See [XrSpatialComponentPolygon2DListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentPolygon2DListEXT) - defined by [XR_EXT_spatial_plane_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_plane_tracking)"]
17342pub struct SpatialComponentPolygon2DListEXT {
17343    pub ty: StructureType,
17344    pub next: *mut c_void,
17345    pub polygon_count: u32,
17346    pub polygons: *mut SpatialPolygon2DDataEXT,
17347}
17348impl SpatialComponentPolygon2DListEXT {
17349    pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_POLYGON_2D_LIST_EXT;
17350    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17351    #[inline]
17352    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17353        let mut x = MaybeUninit::<Self>::uninit();
17354        unsafe {
17355            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17356                ty: Self::TYPE,
17357                next,
17358            });
17359        }
17360        x
17361    }
17362}
17363#[repr(C)]
17364#[derive(Copy, Clone, Debug)]
17365#[doc = "See [XrSpatialComponentPlaneSemanticLabelListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentPlaneSemanticLabelListEXT) - defined by [XR_EXT_spatial_plane_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_plane_tracking)"]
17366pub struct SpatialComponentPlaneSemanticLabelListEXT {
17367    pub ty: StructureType,
17368    pub next: *mut c_void,
17369    pub semantic_label_count: u32,
17370    pub semantic_labels: *mut SpatialPlaneSemanticLabelEXT,
17371}
17372impl SpatialComponentPlaneSemanticLabelListEXT {
17373    pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_PLANE_SEMANTIC_LABEL_LIST_EXT;
17374    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17375    #[inline]
17376    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17377        let mut x = MaybeUninit::<Self>::uninit();
17378        unsafe {
17379            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17380                ty: Self::TYPE,
17381                next,
17382            });
17383        }
17384        x
17385    }
17386}
17387#[repr(C)]
17388#[derive(Copy, Clone, Debug)]
17389#[doc = "See [XrSystemNotificationsSetInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemNotificationsSetInfoML) - defined by [XR_ML_system_notifications](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_system_notifications)"]
17390pub struct SystemNotificationsSetInfoML {
17391    pub ty: StructureType,
17392    pub next: *const c_void,
17393    pub suppress_notifications: Bool32,
17394}
17395impl SystemNotificationsSetInfoML {
17396    pub const TYPE: StructureType = StructureType::SYSTEM_NOTIFICATIONS_SET_INFO_ML;
17397}
17398#[repr(C)]
17399#[derive(Copy, Clone, Debug)]
17400#[doc = "See [XrSpatialAnchorsCreateInfoBaseHeaderML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsCreateInfoBaseHeaderML) - defined by [XR_ML_spatial_anchors](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors)"]
17401pub struct SpatialAnchorsCreateInfoBaseHeaderML {
17402    pub ty: StructureType,
17403    pub next: *const c_void,
17404}
17405#[repr(C)]
17406#[derive(Copy, Clone, Debug)]
17407#[doc = "See [XrSpatialAnchorsCreateInfoFromPoseML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsCreateInfoFromPoseML) - defined by [XR_ML_spatial_anchors](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors)"]
17408pub struct SpatialAnchorsCreateInfoFromPoseML {
17409    pub ty: StructureType,
17410    pub next: *const c_void,
17411    pub base_space: Space,
17412    pub pose_in_base_space: Posef,
17413    pub time: Time,
17414}
17415impl SpatialAnchorsCreateInfoFromPoseML {
17416    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_CREATE_INFO_FROM_POSE_ML;
17417}
17418#[repr(C)]
17419#[derive(Copy, Clone, Debug)]
17420#[doc = "See [XrCreateSpatialAnchorsCompletionML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCreateSpatialAnchorsCompletionML) - defined by [XR_ML_spatial_anchors](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors)"]
17421pub struct CreateSpatialAnchorsCompletionML {
17422    pub ty: StructureType,
17423    pub next: *mut c_void,
17424    pub future_result: Result,
17425    pub space_count: u32,
17426    pub spaces: *mut Space,
17427}
17428impl CreateSpatialAnchorsCompletionML {
17429    pub const TYPE: StructureType = StructureType::CREATE_SPATIAL_ANCHORS_COMPLETION_ML;
17430    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17431    #[inline]
17432    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17433        let mut x = MaybeUninit::<Self>::uninit();
17434        unsafe {
17435            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17436                ty: Self::TYPE,
17437                next,
17438            });
17439        }
17440        x
17441    }
17442}
17443#[repr(C)]
17444#[derive(Copy, Clone, Debug)]
17445#[doc = "See [XrSpatialAnchorStateML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorStateML) - defined by [XR_ML_spatial_anchors](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors)"]
17446pub struct SpatialAnchorStateML {
17447    pub ty: StructureType,
17448    pub next: *mut c_void,
17449    pub confidence: SpatialAnchorConfidenceML,
17450}
17451impl SpatialAnchorStateML {
17452    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_STATE_ML;
17453    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17454    #[inline]
17455    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17456        let mut x = MaybeUninit::<Self>::uninit();
17457        unsafe {
17458            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17459                ty: Self::TYPE,
17460                next,
17461            });
17462        }
17463        x
17464    }
17465}
17466#[repr(C)]
17467#[derive(Copy, Clone, Debug)]
17468#[doc = "See [XrSpatialAnchorsCreateStorageInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsCreateStorageInfoML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17469pub struct SpatialAnchorsCreateStorageInfoML {
17470    pub ty: StructureType,
17471    pub next: *const c_void,
17472}
17473impl SpatialAnchorsCreateStorageInfoML {
17474    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_CREATE_STORAGE_INFO_ML;
17475}
17476#[repr(C)]
17477#[derive(Copy, Clone, Debug)]
17478#[doc = "See [XrSpatialAnchorsQueryInfoBaseHeaderML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsQueryInfoBaseHeaderML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17479pub struct SpatialAnchorsQueryInfoBaseHeaderML {
17480    pub ty: StructureType,
17481    pub next: *const c_void,
17482}
17483#[repr(C)]
17484#[derive(Copy, Clone, Debug)]
17485#[doc = "See [XrSpatialAnchorsQueryInfoRadiusML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsQueryInfoRadiusML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17486pub struct SpatialAnchorsQueryInfoRadiusML {
17487    pub ty: StructureType,
17488    pub next: *const c_void,
17489    pub base_space: Space,
17490    pub center: Vector3f,
17491    pub time: Time,
17492    pub radius: f32,
17493}
17494impl SpatialAnchorsQueryInfoRadiusML {
17495    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_QUERY_INFO_RADIUS_ML;
17496}
17497#[repr(C)]
17498#[derive(Copy, Clone, Debug)]
17499#[doc = "See [XrSpatialAnchorsQueryCompletionML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsQueryCompletionML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17500pub struct SpatialAnchorsQueryCompletionML {
17501    pub ty: StructureType,
17502    pub next: *mut c_void,
17503    pub future_result: Result,
17504    pub uuid_capacity_input: u32,
17505    pub uuid_count_output: u32,
17506    pub uuids: *mut UuidEXT,
17507}
17508impl SpatialAnchorsQueryCompletionML {
17509    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_QUERY_COMPLETION_ML;
17510    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17511    #[inline]
17512    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17513        let mut x = MaybeUninit::<Self>::uninit();
17514        unsafe {
17515            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17516                ty: Self::TYPE,
17517                next,
17518            });
17519        }
17520        x
17521    }
17522}
17523#[repr(C)]
17524#[derive(Copy, Clone, Debug)]
17525#[doc = "See [XrSpatialAnchorsCreateInfoFromUuidsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsCreateInfoFromUuidsML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17526pub struct SpatialAnchorsCreateInfoFromUuidsML {
17527    pub ty: StructureType,
17528    pub next: *const c_void,
17529    pub storage: SpatialAnchorsStorageML,
17530    pub uuid_count: u32,
17531    pub uuids: *const UuidEXT,
17532}
17533impl SpatialAnchorsCreateInfoFromUuidsML {
17534    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_CREATE_INFO_FROM_UUIDS_ML;
17535}
17536#[repr(C)]
17537#[derive(Copy, Clone, Debug)]
17538#[doc = "See [XrSpatialAnchorsPublishInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsPublishInfoML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17539pub struct SpatialAnchorsPublishInfoML {
17540    pub ty: StructureType,
17541    pub next: *const c_void,
17542    pub anchor_count: u32,
17543    pub anchors: *const Space,
17544    pub expiration: u64,
17545}
17546impl SpatialAnchorsPublishInfoML {
17547    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_PUBLISH_INFO_ML;
17548}
17549#[repr(C)]
17550#[derive(Copy, Clone, Debug)]
17551#[doc = "See [XrSpatialAnchorsPublishCompletionML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsPublishCompletionML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17552pub struct SpatialAnchorsPublishCompletionML {
17553    pub ty: StructureType,
17554    pub next: *mut c_void,
17555    pub future_result: Result,
17556    pub uuid_count: u32,
17557    pub uuids: *mut UuidEXT,
17558}
17559impl SpatialAnchorsPublishCompletionML {
17560    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_PUBLISH_COMPLETION_ML;
17561    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17562    #[inline]
17563    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17564        let mut x = MaybeUninit::<Self>::uninit();
17565        unsafe {
17566            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17567                ty: Self::TYPE,
17568                next,
17569            });
17570        }
17571        x
17572    }
17573}
17574#[repr(C)]
17575#[derive(Copy, Clone, Debug)]
17576#[doc = "See [XrSpatialAnchorsDeleteInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsDeleteInfoML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17577pub struct SpatialAnchorsDeleteInfoML {
17578    pub ty: StructureType,
17579    pub next: *const c_void,
17580    pub uuid_count: u32,
17581    pub uuids: *const UuidEXT,
17582}
17583impl SpatialAnchorsDeleteInfoML {
17584    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_DELETE_INFO_ML;
17585}
17586#[repr(C)]
17587#[derive(Copy, Clone, Debug)]
17588#[doc = "See [XrSpatialAnchorsDeleteCompletionML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsDeleteCompletionML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17589pub struct SpatialAnchorsDeleteCompletionML {
17590    pub ty: StructureType,
17591    pub next: *mut c_void,
17592    pub future_result: Result,
17593}
17594impl SpatialAnchorsDeleteCompletionML {
17595    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_DELETE_COMPLETION_ML;
17596    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17597    #[inline]
17598    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17599        let mut x = MaybeUninit::<Self>::uninit();
17600        unsafe {
17601            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17602                ty: Self::TYPE,
17603                next,
17604            });
17605        }
17606        x
17607    }
17608}
17609#[repr(C)]
17610#[derive(Copy, Clone, Debug)]
17611#[doc = "See [XrSpatialAnchorsUpdateExpirationInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsUpdateExpirationInfoML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17612pub struct SpatialAnchorsUpdateExpirationInfoML {
17613    pub ty: StructureType,
17614    pub next: *const c_void,
17615    pub uuid_count: u32,
17616    pub uuids: *const UuidEXT,
17617    pub expiration: u64,
17618}
17619impl SpatialAnchorsUpdateExpirationInfoML {
17620    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_UPDATE_EXPIRATION_INFO_ML;
17621}
17622#[repr(C)]
17623#[derive(Copy, Clone, Debug)]
17624#[doc = "See [XrSpatialAnchorsUpdateExpirationCompletionML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsUpdateExpirationCompletionML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17625pub struct SpatialAnchorsUpdateExpirationCompletionML {
17626    pub ty: StructureType,
17627    pub next: *mut c_void,
17628    pub future_result: Result,
17629}
17630impl SpatialAnchorsUpdateExpirationCompletionML {
17631    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_ML;
17632    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17633    #[inline]
17634    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17635        let mut x = MaybeUninit::<Self>::uninit();
17636        unsafe {
17637            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17638                ty: Self::TYPE,
17639                next,
17640            });
17641        }
17642        x
17643    }
17644}
17645#[repr(C)]
17646#[derive(Copy, Clone, Debug, Default, PartialEq)]
17647#[doc = "See [XrSpatialAnchorCompletionResultML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorCompletionResultML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17648pub struct SpatialAnchorCompletionResultML {
17649    pub uuid: UuidEXT,
17650    pub result: Result,
17651}
17652#[repr(C)]
17653#[derive(Copy, Clone, Debug)]
17654#[doc = "See [XrSpatialAnchorsPublishCompletionDetailsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsPublishCompletionDetailsML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17655pub struct SpatialAnchorsPublishCompletionDetailsML {
17656    pub ty: StructureType,
17657    pub next: *mut c_void,
17658    pub result_count: u32,
17659    pub results: *mut SpatialAnchorCompletionResultML,
17660}
17661impl SpatialAnchorsPublishCompletionDetailsML {
17662    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_PUBLISH_COMPLETION_DETAILS_ML;
17663    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17664    #[inline]
17665    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17666        let mut x = MaybeUninit::<Self>::uninit();
17667        unsafe {
17668            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17669                ty: Self::TYPE,
17670                next,
17671            });
17672        }
17673        x
17674    }
17675}
17676#[repr(C)]
17677#[derive(Copy, Clone, Debug)]
17678#[doc = "See [XrSpatialAnchorsDeleteCompletionDetailsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsDeleteCompletionDetailsML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17679pub struct SpatialAnchorsDeleteCompletionDetailsML {
17680    pub ty: StructureType,
17681    pub next: *mut c_void,
17682    pub result_count: u32,
17683    pub results: *mut SpatialAnchorCompletionResultML,
17684}
17685impl SpatialAnchorsDeleteCompletionDetailsML {
17686    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_DELETE_COMPLETION_DETAILS_ML;
17687    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17688    #[inline]
17689    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17690        let mut x = MaybeUninit::<Self>::uninit();
17691        unsafe {
17692            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17693                ty: Self::TYPE,
17694                next,
17695            });
17696        }
17697        x
17698    }
17699}
17700#[repr(C)]
17701#[derive(Copy, Clone, Debug)]
17702#[doc = "See [XrSpatialAnchorsUpdateExpirationCompletionDetailsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsUpdateExpirationCompletionDetailsML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17703pub struct SpatialAnchorsUpdateExpirationCompletionDetailsML {
17704    pub ty: StructureType,
17705    pub next: *mut c_void,
17706    pub result_count: u32,
17707    pub results: *mut SpatialAnchorCompletionResultML,
17708}
17709impl SpatialAnchorsUpdateExpirationCompletionDetailsML {
17710    pub const TYPE: StructureType =
17711        StructureType::SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_DETAILS_ML;
17712    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17713    #[inline]
17714    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17715        let mut x = MaybeUninit::<Self>::uninit();
17716        unsafe {
17717            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17718                ty: Self::TYPE,
17719                next,
17720            });
17721        }
17722        x
17723    }
17724}
17725#[repr(C)]
17726#[derive(Copy, Clone, Debug)]
17727#[doc = "See [XrWorldMeshDetectorCreateInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshDetectorCreateInfoML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
17728pub struct WorldMeshDetectorCreateInfoML {
17729    pub ty: StructureType,
17730    pub next: *const c_void,
17731}
17732impl WorldMeshDetectorCreateInfoML {
17733    pub const TYPE: StructureType = StructureType::WORLD_MESH_DETECTOR_CREATE_INFO_ML;
17734}
17735#[repr(C)]
17736#[derive(Copy, Clone, Debug)]
17737#[doc = "See [XrWorldMeshStateRequestInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshStateRequestInfoML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
17738pub struct WorldMeshStateRequestInfoML {
17739    pub ty: StructureType,
17740    pub next: *const c_void,
17741    pub base_space: Space,
17742    pub time: Time,
17743    pub bounding_box_center: Posef,
17744    pub bounding_box_extents: Extent3DfEXT,
17745}
17746impl WorldMeshStateRequestInfoML {
17747    pub const TYPE: StructureType = StructureType::WORLD_MESH_STATE_REQUEST_INFO_ML;
17748}
17749#[repr(C)]
17750#[derive(Copy, Clone, Debug)]
17751#[doc = "See [XrWorldMeshBlockStateML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshBlockStateML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
17752pub struct WorldMeshBlockStateML {
17753    pub ty: StructureType,
17754    pub next: *mut c_void,
17755    pub uuid: UuidEXT,
17756    pub mesh_bounding_box_center: Posef,
17757    pub mesh_bounding_box_extents: Extent3DfEXT,
17758    pub last_update_time: Time,
17759    pub status: WorldMeshBlockStatusML,
17760}
17761impl WorldMeshBlockStateML {
17762    pub const TYPE: StructureType = StructureType::WORLD_MESH_BLOCK_STATE_ML;
17763    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17764    #[inline]
17765    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17766        let mut x = MaybeUninit::<Self>::uninit();
17767        unsafe {
17768            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17769                ty: Self::TYPE,
17770                next,
17771            });
17772        }
17773        x
17774    }
17775}
17776#[repr(C)]
17777#[derive(Copy, Clone, Debug)]
17778#[doc = "See [XrWorldMeshStateRequestCompletionML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshStateRequestCompletionML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
17779pub struct WorldMeshStateRequestCompletionML {
17780    pub ty: StructureType,
17781    pub next: *mut c_void,
17782    pub future_result: Result,
17783    pub timestamp: Time,
17784    pub mesh_block_state_capacity_input: u32,
17785    pub mesh_block_state_count_output: u32,
17786    pub mesh_block_states: *mut WorldMeshBlockStateML,
17787}
17788impl WorldMeshStateRequestCompletionML {
17789    pub const TYPE: StructureType = StructureType::WORLD_MESH_STATE_REQUEST_COMPLETION_ML;
17790    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17791    #[inline]
17792    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17793        let mut x = MaybeUninit::<Self>::uninit();
17794        unsafe {
17795            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17796                ty: Self::TYPE,
17797                next,
17798            });
17799        }
17800        x
17801    }
17802}
17803#[repr(C)]
17804#[derive(Copy, Clone, Debug)]
17805#[doc = "See [XrWorldMeshBufferRecommendedSizeInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshBufferRecommendedSizeInfoML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
17806pub struct WorldMeshBufferRecommendedSizeInfoML {
17807    pub ty: StructureType,
17808    pub next: *const c_void,
17809    pub max_block_count: u32,
17810}
17811impl WorldMeshBufferRecommendedSizeInfoML {
17812    pub const TYPE: StructureType = StructureType::WORLD_MESH_BUFFER_RECOMMENDED_SIZE_INFO_ML;
17813}
17814#[repr(C)]
17815#[derive(Copy, Clone, Debug)]
17816#[doc = "See [XrWorldMeshBufferSizeML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshBufferSizeML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
17817pub struct WorldMeshBufferSizeML {
17818    pub ty: StructureType,
17819    pub next: *mut c_void,
17820    pub size: u32,
17821}
17822impl WorldMeshBufferSizeML {
17823    pub const TYPE: StructureType = StructureType::WORLD_MESH_BUFFER_SIZE_ML;
17824    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17825    #[inline]
17826    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17827        let mut x = MaybeUninit::<Self>::uninit();
17828        unsafe {
17829            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17830                ty: Self::TYPE,
17831                next,
17832            });
17833        }
17834        x
17835    }
17836}
17837#[repr(C)]
17838#[derive(Copy, Clone, Debug)]
17839#[doc = "See [XrWorldMeshBufferML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshBufferML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
17840pub struct WorldMeshBufferML {
17841    pub ty: StructureType,
17842    pub next: *mut c_void,
17843    pub buffer_size: u32,
17844    pub buffer: *mut c_void,
17845}
17846impl WorldMeshBufferML {
17847    pub const TYPE: StructureType = StructureType::WORLD_MESH_BUFFER_ML;
17848    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17849    #[inline]
17850    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17851        let mut x = MaybeUninit::<Self>::uninit();
17852        unsafe {
17853            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17854                ty: Self::TYPE,
17855                next,
17856            });
17857        }
17858        x
17859    }
17860}
17861#[repr(C)]
17862#[derive(Copy, Clone, Debug)]
17863#[doc = "See [XrWorldMeshBlockRequestML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshBlockRequestML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
17864pub struct WorldMeshBlockRequestML {
17865    pub ty: StructureType,
17866    pub next: *mut c_void,
17867    pub uuid: UuidEXT,
17868    pub lod: WorldMeshDetectorLodML,
17869}
17870impl WorldMeshBlockRequestML {
17871    pub const TYPE: StructureType = StructureType::WORLD_MESH_BLOCK_REQUEST_ML;
17872    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17873    #[inline]
17874    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17875        let mut x = MaybeUninit::<Self>::uninit();
17876        unsafe {
17877            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17878                ty: Self::TYPE,
17879                next,
17880            });
17881        }
17882        x
17883    }
17884}
17885#[repr(C)]
17886#[derive(Copy, Clone, Debug)]
17887#[doc = "See [XrWorldMeshGetInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshGetInfoML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
17888pub struct WorldMeshGetInfoML {
17889    pub ty: StructureType,
17890    pub next: *const c_void,
17891    pub flags: WorldMeshDetectorFlagsML,
17892    pub fill_hole_length: f32,
17893    pub disconnected_component_area: f32,
17894    pub block_count: u32,
17895    pub blocks: *mut WorldMeshBlockRequestML,
17896}
17897impl WorldMeshGetInfoML {
17898    pub const TYPE: StructureType = StructureType::WORLD_MESH_GET_INFO_ML;
17899}
17900#[repr(C)]
17901#[derive(Copy, Clone, Debug)]
17902#[doc = "See [XrWorldMeshBlockML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshBlockML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
17903pub struct WorldMeshBlockML {
17904    pub ty: StructureType,
17905    pub next: *mut c_void,
17906    pub uuid: UuidEXT,
17907    pub block_result: WorldMeshBlockResultML,
17908    pub lod: WorldMeshDetectorLodML,
17909    pub flags: WorldMeshDetectorFlagsML,
17910    pub index_count: u32,
17911    pub index_buffer: *mut u16,
17912    pub vertex_count: u32,
17913    pub vertex_buffer: *mut Vector3f,
17914    pub normal_count: u32,
17915    pub normal_buffer: *mut Vector3f,
17916    pub confidence_count: u32,
17917    pub confidence_buffer: *mut f32,
17918}
17919impl WorldMeshBlockML {
17920    pub const TYPE: StructureType = StructureType::WORLD_MESH_BLOCK_ML;
17921    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17922    #[inline]
17923    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17924        let mut x = MaybeUninit::<Self>::uninit();
17925        unsafe {
17926            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17927                ty: Self::TYPE,
17928                next,
17929            });
17930        }
17931        x
17932    }
17933}
17934#[repr(C)]
17935#[derive(Copy, Clone, Debug)]
17936#[doc = "See [XrWorldMeshRequestCompletionInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshRequestCompletionInfoML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
17937pub struct WorldMeshRequestCompletionInfoML {
17938    pub ty: StructureType,
17939    pub next: *const c_void,
17940    pub mesh_space: Space,
17941    pub mesh_space_locate_time: Time,
17942}
17943impl WorldMeshRequestCompletionInfoML {
17944    pub const TYPE: StructureType = StructureType::WORLD_MESH_REQUEST_COMPLETION_INFO_ML;
17945}
17946#[repr(C)]
17947#[derive(Copy, Clone, Debug)]
17948#[doc = "See [XrWorldMeshRequestCompletionML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshRequestCompletionML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
17949pub struct WorldMeshRequestCompletionML {
17950    pub ty: StructureType,
17951    pub next: *mut c_void,
17952    pub future_result: Result,
17953    pub block_count: u32,
17954    pub blocks: *mut WorldMeshBlockML,
17955}
17956impl WorldMeshRequestCompletionML {
17957    pub const TYPE: StructureType = StructureType::WORLD_MESH_REQUEST_COMPLETION_ML;
17958    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17959    #[inline]
17960    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17961        let mut x = MaybeUninit::<Self>::uninit();
17962        unsafe {
17963            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17964                ty: Self::TYPE,
17965                next,
17966            });
17967        }
17968        x
17969    }
17970}
17971#[repr(C)]
17972#[derive(Copy, Clone, Debug)]
17973#[doc = "See [XrEventDataPassthroughLayerResumedMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataPassthroughLayerResumedMETA) - defined by [XR_META_passthrough_layer_resumed_event](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_layer_resumed_event)"]
17974pub struct EventDataPassthroughLayerResumedMETA {
17975    pub ty: StructureType,
17976    pub next: *const c_void,
17977    pub layer: PassthroughLayerFB,
17978}
17979impl EventDataPassthroughLayerResumedMETA {
17980    pub const TYPE: StructureType = StructureType::EVENT_DATA_PASSTHROUGH_LAYER_RESUMED_META;
17981}
17982#[repr(C)]
17983#[derive(Copy, Clone, Debug)]
17984#[doc = "See [XrRenderModelCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelCreateInfoEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
17985pub struct RenderModelCreateInfoEXT {
17986    pub ty: StructureType,
17987    pub next: *const c_void,
17988    pub render_model_id: RenderModelIdEXT,
17989    pub gltf_extension_count: u32,
17990    pub gltf_extensions: *const *const c_char,
17991}
17992impl RenderModelCreateInfoEXT {
17993    pub const TYPE: StructureType = StructureType::RENDER_MODEL_CREATE_INFO_EXT;
17994}
17995#[repr(C)]
17996#[derive(Copy, Clone, Debug)]
17997#[doc = "See [XrRenderModelPropertiesGetInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelPropertiesGetInfoEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
17998pub struct RenderModelPropertiesGetInfoEXT {
17999    pub ty: StructureType,
18000    pub next: *const c_void,
18001}
18002impl RenderModelPropertiesGetInfoEXT {
18003    pub const TYPE: StructureType = StructureType::RENDER_MODEL_PROPERTIES_GET_INFO_EXT;
18004}
18005#[repr(C)]
18006#[derive(Copy, Clone, Debug)]
18007#[doc = "See [XrRenderModelPropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelPropertiesEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
18008pub struct RenderModelPropertiesEXT {
18009    pub ty: StructureType,
18010    pub next: *mut c_void,
18011    pub cache_id: UuidEXT,
18012    pub animatable_node_count: u32,
18013}
18014impl RenderModelPropertiesEXT {
18015    pub const TYPE: StructureType = StructureType::RENDER_MODEL_PROPERTIES_EXT;
18016    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18017    #[inline]
18018    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18019        let mut x = MaybeUninit::<Self>::uninit();
18020        unsafe {
18021            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18022                ty: Self::TYPE,
18023                next,
18024            });
18025        }
18026        x
18027    }
18028}
18029#[repr(C)]
18030#[derive(Copy, Clone, Debug)]
18031#[doc = "See [XrRenderModelSpaceCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelSpaceCreateInfoEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
18032pub struct RenderModelSpaceCreateInfoEXT {
18033    pub ty: StructureType,
18034    pub next: *const c_void,
18035    pub render_model: RenderModelEXT,
18036}
18037impl RenderModelSpaceCreateInfoEXT {
18038    pub const TYPE: StructureType = StructureType::RENDER_MODEL_SPACE_CREATE_INFO_EXT;
18039}
18040#[repr(C)]
18041#[derive(Copy, Clone, Debug)]
18042#[doc = "See [XrRenderModelAssetCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelAssetCreateInfoEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
18043pub struct RenderModelAssetCreateInfoEXT {
18044    pub ty: StructureType,
18045    pub next: *const c_void,
18046    pub cache_id: UuidEXT,
18047}
18048impl RenderModelAssetCreateInfoEXT {
18049    pub const TYPE: StructureType = StructureType::RENDER_MODEL_ASSET_CREATE_INFO_EXT;
18050}
18051#[repr(C)]
18052#[derive(Copy, Clone, Debug)]
18053#[doc = "See [XrRenderModelAssetDataGetInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelAssetDataGetInfoEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
18054pub struct RenderModelAssetDataGetInfoEXT {
18055    pub ty: StructureType,
18056    pub next: *const c_void,
18057}
18058impl RenderModelAssetDataGetInfoEXT {
18059    pub const TYPE: StructureType = StructureType::RENDER_MODEL_ASSET_DATA_GET_INFO_EXT;
18060}
18061#[repr(C)]
18062#[derive(Copy, Clone, Debug)]
18063#[doc = "See [XrRenderModelAssetDataEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelAssetDataEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
18064pub struct RenderModelAssetDataEXT {
18065    pub ty: StructureType,
18066    pub next: *mut c_void,
18067    pub buffer_capacity_input: u32,
18068    pub buffer_count_output: u32,
18069    pub buffer: *mut u8,
18070}
18071impl RenderModelAssetDataEXT {
18072    pub const TYPE: StructureType = StructureType::RENDER_MODEL_ASSET_DATA_EXT;
18073    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18074    #[inline]
18075    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18076        let mut x = MaybeUninit::<Self>::uninit();
18077        unsafe {
18078            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18079                ty: Self::TYPE,
18080                next,
18081            });
18082        }
18083        x
18084    }
18085}
18086#[repr(C)]
18087#[derive(Copy, Clone, Debug)]
18088#[doc = "See [XrRenderModelAssetPropertiesGetInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelAssetPropertiesGetInfoEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
18089pub struct RenderModelAssetPropertiesGetInfoEXT {
18090    pub ty: StructureType,
18091    pub next: *const c_void,
18092}
18093impl RenderModelAssetPropertiesGetInfoEXT {
18094    pub const TYPE: StructureType = StructureType::RENDER_MODEL_ASSET_PROPERTIES_GET_INFO_EXT;
18095}
18096#[repr(C)]
18097#[derive(Copy, Clone, Debug)]
18098#[doc = "See [XrRenderModelAssetNodePropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelAssetNodePropertiesEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
18099pub struct RenderModelAssetNodePropertiesEXT {
18100    pub unique_name: [c_char; MAX_RENDER_MODEL_ASSET_NODE_NAME_SIZE_EXT],
18101}
18102#[repr(C)]
18103#[derive(Copy, Clone, Debug)]
18104#[doc = "See [XrRenderModelAssetPropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelAssetPropertiesEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
18105pub struct RenderModelAssetPropertiesEXT {
18106    pub ty: StructureType,
18107    pub next: *mut c_void,
18108    pub node_property_count: u32,
18109    pub node_properties: *mut RenderModelAssetNodePropertiesEXT,
18110}
18111impl RenderModelAssetPropertiesEXT {
18112    pub const TYPE: StructureType = StructureType::RENDER_MODEL_ASSET_PROPERTIES_EXT;
18113    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18114    #[inline]
18115    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18116        let mut x = MaybeUninit::<Self>::uninit();
18117        unsafe {
18118            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18119                ty: Self::TYPE,
18120                next,
18121            });
18122        }
18123        x
18124    }
18125}
18126#[repr(C)]
18127#[derive(Copy, Clone, Debug)]
18128#[doc = "See [XrRenderModelStateGetInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelStateGetInfoEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
18129pub struct RenderModelStateGetInfoEXT {
18130    pub ty: StructureType,
18131    pub next: *const c_void,
18132    pub display_time: Time,
18133}
18134impl RenderModelStateGetInfoEXT {
18135    pub const TYPE: StructureType = StructureType::RENDER_MODEL_STATE_GET_INFO_EXT;
18136}
18137#[repr(C)]
18138#[derive(Copy, Clone, Debug, Default, PartialEq)]
18139#[doc = "See [XrRenderModelNodeStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelNodeStateEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
18140pub struct RenderModelNodeStateEXT {
18141    pub node_pose: Posef,
18142    pub is_visible: Bool32,
18143}
18144#[repr(C)]
18145#[derive(Copy, Clone, Debug)]
18146#[doc = "See [XrRenderModelStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelStateEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
18147pub struct RenderModelStateEXT {
18148    pub ty: StructureType,
18149    pub next: *mut c_void,
18150    pub node_state_count: u32,
18151    pub node_states: *mut RenderModelNodeStateEXT,
18152}
18153impl RenderModelStateEXT {
18154    pub const TYPE: StructureType = StructureType::RENDER_MODEL_STATE_EXT;
18155    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18156    #[inline]
18157    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18158        let mut x = MaybeUninit::<Self>::uninit();
18159        unsafe {
18160            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18161                ty: Self::TYPE,
18162                next,
18163            });
18164        }
18165        x
18166    }
18167}
18168#[repr(C)]
18169#[derive(Copy, Clone, Debug)]
18170#[doc = "See [XrInteractionRenderModelIdsEnumerateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInteractionRenderModelIdsEnumerateInfoEXT) - defined by [XR_EXT_interaction_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_interaction_render_model)"]
18171pub struct InteractionRenderModelIdsEnumerateInfoEXT {
18172    pub ty: StructureType,
18173    pub next: *const c_void,
18174}
18175impl InteractionRenderModelIdsEnumerateInfoEXT {
18176    pub const TYPE: StructureType = StructureType::INTERACTION_RENDER_MODEL_IDS_ENUMERATE_INFO_EXT;
18177}
18178#[repr(C)]
18179#[derive(Copy, Clone, Debug)]
18180#[doc = "See [XrInteractionRenderModelSubactionPathInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInteractionRenderModelSubactionPathInfoEXT) - defined by [XR_EXT_interaction_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_interaction_render_model)"]
18181pub struct InteractionRenderModelSubactionPathInfoEXT {
18182    pub ty: StructureType,
18183    pub next: *const c_void,
18184}
18185impl InteractionRenderModelSubactionPathInfoEXT {
18186    pub const TYPE: StructureType = StructureType::INTERACTION_RENDER_MODEL_SUBACTION_PATH_INFO_EXT;
18187}
18188#[repr(C)]
18189#[derive(Copy, Clone, Debug)]
18190#[doc = "See [XrInteractionRenderModelTopLevelUserPathGetInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInteractionRenderModelTopLevelUserPathGetInfoEXT) - defined by [XR_EXT_interaction_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_interaction_render_model)"]
18191pub struct InteractionRenderModelTopLevelUserPathGetInfoEXT {
18192    pub ty: StructureType,
18193    pub next: *const c_void,
18194    pub top_level_user_path_count: u32,
18195    pub top_level_user_paths: *const Path,
18196}
18197impl InteractionRenderModelTopLevelUserPathGetInfoEXT {
18198    pub const TYPE: StructureType =
18199        StructureType::INTERACTION_RENDER_MODEL_TOP_LEVEL_USER_PATH_GET_INFO_EXT;
18200}
18201#[repr(C)]
18202#[derive(Copy, Clone, Debug)]
18203#[doc = "See [XrEventDataInteractionRenderModelsChangedEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataInteractionRenderModelsChangedEXT) - defined by [XR_EXT_interaction_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_interaction_render_model)"]
18204pub struct EventDataInteractionRenderModelsChangedEXT {
18205    pub ty: StructureType,
18206    pub next: *const c_void,
18207}
18208impl EventDataInteractionRenderModelsChangedEXT {
18209    pub const TYPE: StructureType = StructureType::EVENT_DATA_INTERACTION_RENDER_MODELS_CHANGED_EXT;
18210}
18211#[repr(C)]
18212#[derive(Copy, Clone, Debug)]
18213#[doc = "See [XrSystemSpatialSensingPropertiesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpatialSensingPropertiesBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18214pub struct SystemSpatialSensingPropertiesBD {
18215    pub ty: StructureType,
18216    pub next: *mut c_void,
18217    pub supports_spatial_sensing: Bool32,
18218}
18219impl SystemSpatialSensingPropertiesBD {
18220    pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_SENSING_PROPERTIES_BD;
18221    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18222    #[inline]
18223    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18224        let mut x = MaybeUninit::<Self>::uninit();
18225        unsafe {
18226            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18227                ty: Self::TYPE,
18228                next,
18229            });
18230        }
18231        x
18232    }
18233}
18234#[repr(C)]
18235#[derive(Copy, Clone, Debug)]
18236#[doc = "See [XrSpatialEntityComponentGetInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentGetInfoBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18237pub struct SpatialEntityComponentGetInfoBD {
18238    pub ty: StructureType,
18239    pub next: *const c_void,
18240    pub entity_id: SpatialEntityIdBD,
18241    pub component_type: SpatialEntityComponentTypeBD,
18242}
18243impl SpatialEntityComponentGetInfoBD {
18244    pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_COMPONENT_GET_INFO_BD;
18245}
18246#[repr(C)]
18247#[derive(Copy, Clone, Debug)]
18248#[doc = "See [XrSpatialEntityComponentDataBaseHeaderBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentDataBaseHeaderBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18249pub struct SpatialEntityComponentDataBaseHeaderBD {
18250    pub ty: StructureType,
18251    pub next: *mut c_void,
18252}
18253#[repr(C)]
18254#[derive(Copy, Clone, Debug)]
18255#[doc = "See [XrSpatialEntityLocationGetInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityLocationGetInfoBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18256pub struct SpatialEntityLocationGetInfoBD {
18257    pub ty: StructureType,
18258    pub next: *const c_void,
18259    pub base_space: Space,
18260}
18261impl SpatialEntityLocationGetInfoBD {
18262    pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_LOCATION_GET_INFO_BD;
18263}
18264#[repr(C)]
18265#[derive(Copy, Clone, Debug)]
18266#[doc = "See [XrSpatialEntityComponentDataLocationBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentDataLocationBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18267pub struct SpatialEntityComponentDataLocationBD {
18268    pub ty: StructureType,
18269    pub next: *mut c_void,
18270    pub location: SpaceLocation,
18271}
18272impl SpatialEntityComponentDataLocationBD {
18273    pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_COMPONENT_DATA_LOCATION_BD;
18274    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18275    #[inline]
18276    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18277        let mut x = MaybeUninit::<Self>::uninit();
18278        unsafe {
18279            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18280                ty: Self::TYPE,
18281                next,
18282            });
18283        }
18284        x
18285    }
18286}
18287#[repr(C)]
18288#[derive(Copy, Clone, Debug)]
18289#[doc = "See [XrSpatialEntityComponentDataSemanticBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentDataSemanticBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18290pub struct SpatialEntityComponentDataSemanticBD {
18291    pub ty: StructureType,
18292    pub next: *mut c_void,
18293    pub label_capacity_input: u32,
18294    pub label_count_output: u32,
18295    pub labels: *mut SemanticLabelBD,
18296}
18297impl SpatialEntityComponentDataSemanticBD {
18298    pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_COMPONENT_DATA_SEMANTIC_BD;
18299    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18300    #[inline]
18301    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18302        let mut x = MaybeUninit::<Self>::uninit();
18303        unsafe {
18304            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18305                ty: Self::TYPE,
18306                next,
18307            });
18308        }
18309        x
18310    }
18311}
18312#[repr(C)]
18313#[derive(Copy, Clone, Debug)]
18314#[doc = "See [XrSpatialEntityComponentDataBoundingBox2DBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentDataBoundingBox2DBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18315pub struct SpatialEntityComponentDataBoundingBox2DBD {
18316    pub ty: StructureType,
18317    pub next: *mut c_void,
18318    pub bounding_box2_d: Rect2Df,
18319}
18320impl SpatialEntityComponentDataBoundingBox2DBD {
18321    pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_2D_BD;
18322    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18323    #[inline]
18324    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18325        let mut x = MaybeUninit::<Self>::uninit();
18326        unsafe {
18327            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18328                ty: Self::TYPE,
18329                next,
18330            });
18331        }
18332        x
18333    }
18334}
18335#[repr(C)]
18336#[derive(Copy, Clone, Debug)]
18337#[doc = "See [XrSpatialEntityComponentDataPolygonBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentDataPolygonBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18338pub struct SpatialEntityComponentDataPolygonBD {
18339    pub ty: StructureType,
18340    pub next: *mut c_void,
18341    pub vertex_capacity_input: u32,
18342    pub vertex_count_output: u32,
18343    pub vertices: *mut Vector2f,
18344}
18345impl SpatialEntityComponentDataPolygonBD {
18346    pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_COMPONENT_DATA_POLYGON_BD;
18347    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18348    #[inline]
18349    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18350        let mut x = MaybeUninit::<Self>::uninit();
18351        unsafe {
18352            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18353                ty: Self::TYPE,
18354                next,
18355            });
18356        }
18357        x
18358    }
18359}
18360#[repr(C)]
18361#[derive(Copy, Clone, Debug)]
18362#[doc = "See [XrSpatialEntityComponentDataBoundingBox3DBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentDataBoundingBox3DBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18363pub struct SpatialEntityComponentDataBoundingBox3DBD {
18364    pub ty: StructureType,
18365    pub next: *mut c_void,
18366    pub bounding_box3_d: Boxf,
18367}
18368impl SpatialEntityComponentDataBoundingBox3DBD {
18369    pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_3D_BD;
18370    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18371    #[inline]
18372    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18373        let mut x = MaybeUninit::<Self>::uninit();
18374        unsafe {
18375            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18376                ty: Self::TYPE,
18377                next,
18378            });
18379        }
18380        x
18381    }
18382}
18383#[repr(C)]
18384#[derive(Copy, Clone, Debug)]
18385#[doc = "See [XrSpatialEntityComponentDataTriangleMeshBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentDataTriangleMeshBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18386pub struct SpatialEntityComponentDataTriangleMeshBD {
18387    pub ty: StructureType,
18388    pub next: *mut c_void,
18389    pub vertex_capacity_input: u32,
18390    pub vertex_count_output: u32,
18391    pub vertices: *mut Vector3f,
18392    pub index_capacity_input: u32,
18393    pub index_count_output: u32,
18394    pub indices: *mut u16,
18395}
18396impl SpatialEntityComponentDataTriangleMeshBD {
18397    pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_COMPONENT_DATA_TRIANGLE_MESH_BD;
18398    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18399    #[inline]
18400    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18401        let mut x = MaybeUninit::<Self>::uninit();
18402        unsafe {
18403            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18404                ty: Self::TYPE,
18405                next,
18406            });
18407        }
18408        x
18409    }
18410}
18411#[repr(C)]
18412#[derive(Copy, Clone, Debug)]
18413#[doc = "See [XrSenseDataProviderCreateInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataProviderCreateInfoBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18414pub struct SenseDataProviderCreateInfoBD {
18415    pub ty: StructureType,
18416    pub next: *const c_void,
18417    pub provider_type: SenseDataProviderTypeBD,
18418}
18419impl SenseDataProviderCreateInfoBD {
18420    pub const TYPE: StructureType = StructureType::SENSE_DATA_PROVIDER_CREATE_INFO_BD;
18421}
18422#[repr(C)]
18423#[derive(Copy, Clone, Debug)]
18424#[doc = "See [XrSenseDataProviderStartInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataProviderStartInfoBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18425pub struct SenseDataProviderStartInfoBD {
18426    pub ty: StructureType,
18427    pub next: *const c_void,
18428}
18429impl SenseDataProviderStartInfoBD {
18430    pub const TYPE: StructureType = StructureType::SENSE_DATA_PROVIDER_START_INFO_BD;
18431}
18432#[repr(C)]
18433#[derive(Copy, Clone, Debug)]
18434#[doc = "See [XrEventDataSenseDataProviderStateChangedBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSenseDataProviderStateChangedBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18435pub struct EventDataSenseDataProviderStateChangedBD {
18436    pub ty: StructureType,
18437    pub next: *const c_void,
18438    pub provider: SenseDataProviderBD,
18439    pub new_state: SenseDataProviderStateBD,
18440}
18441impl EventDataSenseDataProviderStateChangedBD {
18442    pub const TYPE: StructureType = StructureType::EVENT_DATA_SENSE_DATA_PROVIDER_STATE_CHANGED_BD;
18443}
18444#[repr(C)]
18445#[derive(Copy, Clone, Debug)]
18446#[doc = "See [XrEventDataSenseDataUpdatedBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSenseDataUpdatedBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18447pub struct EventDataSenseDataUpdatedBD {
18448    pub ty: StructureType,
18449    pub next: *const c_void,
18450    pub provider: SenseDataProviderBD,
18451}
18452impl EventDataSenseDataUpdatedBD {
18453    pub const TYPE: StructureType = StructureType::EVENT_DATA_SENSE_DATA_UPDATED_BD;
18454}
18455#[repr(C)]
18456#[derive(Copy, Clone, Debug)]
18457#[doc = "See [XrSenseDataQueryInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataQueryInfoBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18458pub struct SenseDataQueryInfoBD {
18459    pub ty: StructureType,
18460    pub next: *const c_void,
18461}
18462impl SenseDataQueryInfoBD {
18463    pub const TYPE: StructureType = StructureType::SENSE_DATA_QUERY_INFO_BD;
18464}
18465#[repr(C)]
18466#[derive(Copy, Clone, Debug)]
18467#[doc = "See [XrSenseDataFilterUuidBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataFilterUuidBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18468pub struct SenseDataFilterUuidBD {
18469    pub ty: StructureType,
18470    pub next: *const c_void,
18471    pub uuid_count: u32,
18472    pub uuids: *const UuidEXT,
18473}
18474impl SenseDataFilterUuidBD {
18475    pub const TYPE: StructureType = StructureType::SENSE_DATA_FILTER_UUID_BD;
18476}
18477#[repr(C)]
18478#[derive(Copy, Clone, Debug)]
18479#[doc = "See [XrSenseDataFilterSemanticBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataFilterSemanticBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18480pub struct SenseDataFilterSemanticBD {
18481    pub ty: StructureType,
18482    pub next: *const c_void,
18483    pub label_count: u32,
18484    pub labels: *const SemanticLabelBD,
18485}
18486impl SenseDataFilterSemanticBD {
18487    pub const TYPE: StructureType = StructureType::SENSE_DATA_FILTER_SEMANTIC_BD;
18488}
18489#[repr(C)]
18490#[derive(Copy, Clone, Debug)]
18491#[doc = "See [XrSenseDataQueryCompletionBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataQueryCompletionBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18492pub struct SenseDataQueryCompletionBD {
18493    pub ty: StructureType,
18494    pub next: *mut c_void,
18495    pub future_result: Result,
18496    pub snapshot: SenseDataSnapshotBD,
18497}
18498impl SenseDataQueryCompletionBD {
18499    pub const TYPE: StructureType = StructureType::SENSE_DATA_QUERY_COMPLETION_BD;
18500    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18501    #[inline]
18502    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18503        let mut x = MaybeUninit::<Self>::uninit();
18504        unsafe {
18505            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18506                ty: Self::TYPE,
18507                next,
18508            });
18509        }
18510        x
18511    }
18512}
18513#[repr(C)]
18514#[derive(Copy, Clone, Debug)]
18515#[doc = "See [XrQueriedSenseDataGetInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrQueriedSenseDataGetInfoBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18516pub struct QueriedSenseDataGetInfoBD {
18517    pub ty: StructureType,
18518    pub next: *const c_void,
18519}
18520impl QueriedSenseDataGetInfoBD {
18521    pub const TYPE: StructureType = StructureType::QUERIED_SENSE_DATA_GET_INFO_BD;
18522}
18523#[repr(C)]
18524#[derive(Copy, Clone, Debug)]
18525#[doc = "See [XrQueriedSenseDataBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrQueriedSenseDataBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18526pub struct QueriedSenseDataBD {
18527    pub ty: StructureType,
18528    pub next: *mut c_void,
18529    pub state_capacity_input: u32,
18530    pub state_count_output: u32,
18531    pub states: *mut SpatialEntityStateBD,
18532}
18533impl QueriedSenseDataBD {
18534    pub const TYPE: StructureType = StructureType::QUERIED_SENSE_DATA_BD;
18535    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18536    #[inline]
18537    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18538        let mut x = MaybeUninit::<Self>::uninit();
18539        unsafe {
18540            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18541                ty: Self::TYPE,
18542                next,
18543            });
18544        }
18545        x
18546    }
18547}
18548#[repr(C)]
18549#[derive(Copy, Clone, Debug)]
18550#[doc = "See [XrSpatialEntityStateBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityStateBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18551pub struct SpatialEntityStateBD {
18552    pub ty: StructureType,
18553    pub next: *mut c_void,
18554    pub entity_id: SpatialEntityIdBD,
18555    pub last_update_time: Time,
18556    pub uuid: UuidEXT,
18557}
18558impl SpatialEntityStateBD {
18559    pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_STATE_BD;
18560    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18561    #[inline]
18562    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18563        let mut x = MaybeUninit::<Self>::uninit();
18564        unsafe {
18565            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18566                ty: Self::TYPE,
18567                next,
18568            });
18569        }
18570        x
18571    }
18572}
18573#[repr(C)]
18574#[derive(Copy, Clone, Debug)]
18575#[doc = "See [XrSpatialEntityAnchorCreateInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityAnchorCreateInfoBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18576pub struct SpatialEntityAnchorCreateInfoBD {
18577    pub ty: StructureType,
18578    pub next: *const c_void,
18579    pub snapshot: SenseDataSnapshotBD,
18580    pub entity_id: SpatialEntityIdBD,
18581}
18582impl SpatialEntityAnchorCreateInfoBD {
18583    pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_ANCHOR_CREATE_INFO_BD;
18584}
18585#[repr(C)]
18586#[derive(Copy, Clone, Debug)]
18587#[doc = "See [XrAnchorSpaceCreateInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAnchorSpaceCreateInfoBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18588pub struct AnchorSpaceCreateInfoBD {
18589    pub ty: StructureType,
18590    pub next: *const c_void,
18591    pub anchor: AnchorBD,
18592    pub pose_in_anchor_space: Posef,
18593}
18594impl AnchorSpaceCreateInfoBD {
18595    pub const TYPE: StructureType = StructureType::ANCHOR_SPACE_CREATE_INFO_BD;
18596}
18597#[repr(C)]
18598#[derive(Copy, Clone, Debug)]
18599#[doc = "See [XrSystemSpatialAnchorPropertiesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpatialAnchorPropertiesBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
18600pub struct SystemSpatialAnchorPropertiesBD {
18601    pub ty: StructureType,
18602    pub next: *mut c_void,
18603    pub supports_spatial_anchor: Bool32,
18604}
18605impl SystemSpatialAnchorPropertiesBD {
18606    pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_ANCHOR_PROPERTIES_BD;
18607    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18608    #[inline]
18609    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18610        let mut x = MaybeUninit::<Self>::uninit();
18611        unsafe {
18612            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18613                ty: Self::TYPE,
18614                next,
18615            });
18616        }
18617        x
18618    }
18619}
18620#[repr(C)]
18621#[derive(Copy, Clone, Debug)]
18622#[doc = "See [XrSpatialAnchorCreateInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorCreateInfoBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
18623pub struct SpatialAnchorCreateInfoBD {
18624    pub ty: StructureType,
18625    pub next: *const c_void,
18626    pub space: Space,
18627    pub pose: Posef,
18628    pub time: Time,
18629}
18630impl SpatialAnchorCreateInfoBD {
18631    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_CREATE_INFO_BD;
18632}
18633#[repr(C)]
18634#[derive(Copy, Clone, Debug)]
18635#[doc = "See [XrSpatialAnchorCreateCompletionBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorCreateCompletionBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
18636pub struct SpatialAnchorCreateCompletionBD {
18637    pub ty: StructureType,
18638    pub next: *mut c_void,
18639    pub future_result: Result,
18640    pub uuid: UuidEXT,
18641    pub anchor: AnchorBD,
18642}
18643impl SpatialAnchorCreateCompletionBD {
18644    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_CREATE_COMPLETION_BD;
18645    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18646    #[inline]
18647    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18648        let mut x = MaybeUninit::<Self>::uninit();
18649        unsafe {
18650            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18651                ty: Self::TYPE,
18652                next,
18653            });
18654        }
18655        x
18656    }
18657}
18658#[repr(C)]
18659#[derive(Copy, Clone, Debug)]
18660#[doc = "See [XrSpatialAnchorPersistInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorPersistInfoBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
18661pub struct SpatialAnchorPersistInfoBD {
18662    pub ty: StructureType,
18663    pub next: *const c_void,
18664    pub location: PersistenceLocationBD,
18665    pub anchor: AnchorBD,
18666}
18667impl SpatialAnchorPersistInfoBD {
18668    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_PERSIST_INFO_BD;
18669}
18670#[repr(C)]
18671#[derive(Copy, Clone, Debug)]
18672#[doc = "See [XrSpatialAnchorUnpersistInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorUnpersistInfoBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
18673pub struct SpatialAnchorUnpersistInfoBD {
18674    pub ty: StructureType,
18675    pub next: *const c_void,
18676    pub location: PersistenceLocationBD,
18677    pub anchor: AnchorBD,
18678}
18679impl SpatialAnchorUnpersistInfoBD {
18680    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_UNPERSIST_INFO_BD;
18681}
18682#[repr(C)]
18683#[derive(Copy, Clone, Debug)]
18684#[doc = "See [XrSystemSpatialAnchorSharingPropertiesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpatialAnchorSharingPropertiesBD) - defined by [XR_BD_spatial_anchor_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor_sharing)"]
18685pub struct SystemSpatialAnchorSharingPropertiesBD {
18686    pub ty: StructureType,
18687    pub next: *mut c_void,
18688    pub supports_spatial_anchor_sharing: Bool32,
18689}
18690impl SystemSpatialAnchorSharingPropertiesBD {
18691    pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_ANCHOR_SHARING_PROPERTIES_BD;
18692    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18693    #[inline]
18694    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18695        let mut x = MaybeUninit::<Self>::uninit();
18696        unsafe {
18697            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18698                ty: Self::TYPE,
18699                next,
18700            });
18701        }
18702        x
18703    }
18704}
18705#[repr(C)]
18706#[derive(Copy, Clone, Debug)]
18707#[doc = "See [XrSpatialAnchorShareInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorShareInfoBD) - defined by [XR_BD_spatial_anchor_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor_sharing)"]
18708pub struct SpatialAnchorShareInfoBD {
18709    pub ty: StructureType,
18710    pub next: *const c_void,
18711    pub anchor: AnchorBD,
18712}
18713impl SpatialAnchorShareInfoBD {
18714    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_SHARE_INFO_BD;
18715}
18716#[repr(C)]
18717#[derive(Copy, Clone, Debug)]
18718#[doc = "See [XrSharedSpatialAnchorDownloadInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSharedSpatialAnchorDownloadInfoBD) - defined by [XR_BD_spatial_anchor_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor_sharing)"]
18719pub struct SharedSpatialAnchorDownloadInfoBD {
18720    pub ty: StructureType,
18721    pub next: *const c_void,
18722    pub uuid: UuidEXT,
18723}
18724impl SharedSpatialAnchorDownloadInfoBD {
18725    pub const TYPE: StructureType = StructureType::SHARED_SPATIAL_ANCHOR_DOWNLOAD_INFO_BD;
18726}
18727#[repr(C)]
18728#[derive(Copy, Clone, Debug)]
18729#[doc = "See [XrSystemSpatialMeshPropertiesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpatialMeshPropertiesBD) - defined by [XR_BD_spatial_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_mesh)"]
18730pub struct SystemSpatialMeshPropertiesBD {
18731    pub ty: StructureType,
18732    pub next: *mut c_void,
18733    pub supports_spatial_mesh: Bool32,
18734}
18735impl SystemSpatialMeshPropertiesBD {
18736    pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_MESH_PROPERTIES_BD;
18737    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18738    #[inline]
18739    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18740        let mut x = MaybeUninit::<Self>::uninit();
18741        unsafe {
18742            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18743                ty: Self::TYPE,
18744                next,
18745            });
18746        }
18747        x
18748    }
18749}
18750#[repr(C)]
18751#[derive(Copy, Clone, Debug)]
18752#[doc = "See [XrSenseDataProviderCreateInfoSpatialMeshBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataProviderCreateInfoSpatialMeshBD) - defined by [XR_BD_spatial_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_mesh)"]
18753pub struct SenseDataProviderCreateInfoSpatialMeshBD {
18754    pub ty: StructureType,
18755    pub next: *const c_void,
18756    pub config_flags: SpatialMeshConfigFlagsBD,
18757    pub lod: SpatialMeshLodBD,
18758}
18759impl SenseDataProviderCreateInfoSpatialMeshBD {
18760    pub const TYPE: StructureType = StructureType::SENSE_DATA_PROVIDER_CREATE_INFO_SPATIAL_MESH_BD;
18761}
18762#[repr(C)]
18763#[derive(Copy, Clone, Debug)]
18764#[doc = "See [XrSystemSpatialScenePropertiesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpatialScenePropertiesBD) - defined by [XR_BD_spatial_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_scene)"]
18765pub struct SystemSpatialScenePropertiesBD {
18766    pub ty: StructureType,
18767    pub next: *mut c_void,
18768    pub supports_spatial_scene: Bool32,
18769}
18770impl SystemSpatialScenePropertiesBD {
18771    pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_SCENE_PROPERTIES_BD;
18772    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18773    #[inline]
18774    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18775        let mut x = MaybeUninit::<Self>::uninit();
18776        unsafe {
18777            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18778                ty: Self::TYPE,
18779                next,
18780            });
18781        }
18782        x
18783    }
18784}
18785#[repr(C)]
18786#[derive(Copy, Clone, Debug)]
18787#[doc = "See [XrSceneCaptureInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneCaptureInfoBD) - defined by [XR_BD_spatial_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_scene)"]
18788pub struct SceneCaptureInfoBD {
18789    pub ty: StructureType,
18790    pub next: *const c_void,
18791}
18792impl SceneCaptureInfoBD {
18793    pub const TYPE: StructureType = StructureType::SCENE_CAPTURE_INFO_BD;
18794}
18795#[repr(C)]
18796#[derive(Copy, Clone, Debug)]
18797#[doc = "See [XrSystemSpatialPlanePropertiesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpatialPlanePropertiesBD) - defined by [XR_BD_spatial_plane](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_plane)"]
18798pub struct SystemSpatialPlanePropertiesBD {
18799    pub ty: StructureType,
18800    pub next: *mut c_void,
18801    pub supports_spatial_plane: Bool32,
18802}
18803impl SystemSpatialPlanePropertiesBD {
18804    pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_PLANE_PROPERTIES_BD;
18805    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18806    #[inline]
18807    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18808        let mut x = MaybeUninit::<Self>::uninit();
18809        unsafe {
18810            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18811                ty: Self::TYPE,
18812                next,
18813            });
18814        }
18815        x
18816    }
18817}
18818#[repr(C)]
18819#[derive(Copy, Clone, Debug)]
18820#[doc = "See [XrSpatialEntityComponentDataPlaneOrientationBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentDataPlaneOrientationBD) - defined by [XR_BD_spatial_plane](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_plane)"]
18821pub struct SpatialEntityComponentDataPlaneOrientationBD {
18822    pub ty: StructureType,
18823    pub next: *mut c_void,
18824    pub orientation: PlaneOrientationBD,
18825}
18826impl SpatialEntityComponentDataPlaneOrientationBD {
18827    pub const TYPE: StructureType =
18828        StructureType::SPATIAL_ENTITY_COMPONENT_DATA_PLANE_ORIENTATION_BD;
18829    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18830    #[inline]
18831    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18832        let mut x = MaybeUninit::<Self>::uninit();
18833        unsafe {
18834            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18835                ty: Self::TYPE,
18836                next,
18837            });
18838        }
18839        x
18840    }
18841}
18842#[repr(C)]
18843#[derive(Copy, Clone, Debug)]
18844#[doc = "See [XrSenseDataFilterPlaneOrientationBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataFilterPlaneOrientationBD) - defined by [XR_BD_spatial_plane](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_plane)"]
18845pub struct SenseDataFilterPlaneOrientationBD {
18846    pub ty: StructureType,
18847    pub next: *const c_void,
18848    pub orientation_count: u32,
18849    pub orientations: *mut PlaneOrientationBD,
18850}
18851impl SenseDataFilterPlaneOrientationBD {
18852    pub const TYPE: StructureType = StructureType::SENSE_DATA_FILTER_PLANE_ORIENTATION_BD;
18853}
18854#[repr(C)]
18855#[derive(Copy, Clone, Debug)]
18856#[doc = "See [XrSystemSimultaneousHandsAndControllersPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSimultaneousHandsAndControllersPropertiesMETA) - defined by [XR_META_simultaneous_hands_and_controllers](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_simultaneous_hands_and_controllers)"]
18857pub struct SystemSimultaneousHandsAndControllersPropertiesMETA {
18858    pub ty: StructureType,
18859    pub next: *mut c_void,
18860    pub supports_simultaneous_hands_and_controllers: Bool32,
18861}
18862impl SystemSimultaneousHandsAndControllersPropertiesMETA {
18863    pub const TYPE: StructureType =
18864        StructureType::SYSTEM_SIMULTANEOUS_HANDS_AND_CONTROLLERS_PROPERTIES_META;
18865    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18866    #[inline]
18867    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18868        let mut x = MaybeUninit::<Self>::uninit();
18869        unsafe {
18870            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18871                ty: Self::TYPE,
18872                next,
18873            });
18874        }
18875        x
18876    }
18877}
18878#[repr(C)]
18879#[derive(Copy, Clone, Debug)]
18880#[doc = "See [XrSimultaneousHandsAndControllersTrackingResumeInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSimultaneousHandsAndControllersTrackingResumeInfoMETA) - defined by [XR_META_simultaneous_hands_and_controllers](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_simultaneous_hands_and_controllers)"]
18881pub struct SimultaneousHandsAndControllersTrackingResumeInfoMETA {
18882    pub ty: StructureType,
18883    pub next: *const c_void,
18884}
18885impl SimultaneousHandsAndControllersTrackingResumeInfoMETA {
18886    pub const TYPE: StructureType =
18887        StructureType::SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_RESUME_INFO_META;
18888}
18889#[repr(C)]
18890#[derive(Copy, Clone, Debug)]
18891#[doc = "See [XrSimultaneousHandsAndControllersTrackingPauseInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSimultaneousHandsAndControllersTrackingPauseInfoMETA) - defined by [XR_META_simultaneous_hands_and_controllers](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_simultaneous_hands_and_controllers)"]
18892pub struct SimultaneousHandsAndControllersTrackingPauseInfoMETA {
18893    pub ty: StructureType,
18894    pub next: *const c_void,
18895}
18896impl SimultaneousHandsAndControllersTrackingPauseInfoMETA {
18897    pub const TYPE: StructureType =
18898        StructureType::SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_PAUSE_INFO_META;
18899}
18900#[repr(C)]
18901#[derive(Copy, Clone, Debug)]
18902#[doc = "See [XrLoaderInitInfoPropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLoaderInitInfoPropertiesEXT) - defined by [XR_EXT_loader_init_properties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_loader_init_properties)"]
18903pub struct LoaderInitInfoPropertiesEXT {
18904    pub ty: StructureType,
18905    pub next: *const c_void,
18906    pub property_value_count: u32,
18907    pub property_values: *const LoaderInitPropertyValueEXT,
18908}
18909impl LoaderInitInfoPropertiesEXT {
18910    pub const TYPE: StructureType = StructureType::LOADER_INIT_INFO_PROPERTIES_EXT;
18911}
18912#[repr(C)]
18913#[derive(Copy, Clone, Debug)]
18914#[doc = "See [XrLoaderInitPropertyValueEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLoaderInitPropertyValueEXT)"]
18915pub struct LoaderInitPropertyValueEXT {
18916    pub name: *const c_char,
18917    pub value: *const c_char,
18918}
18919#[repr(C)]
18920#[derive(Copy, Clone, Debug)]
18921#[doc = "See [XrSpatialCapabilityConfigurationArucoMarkerEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityConfigurationArucoMarkerEXT) - defined by [XR_EXT_spatial_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_marker_tracking)"]
18922pub struct SpatialCapabilityConfigurationArucoMarkerEXT {
18923    pub ty: StructureType,
18924    pub next: *const c_void,
18925    pub capability: SpatialCapabilityEXT,
18926    pub enabled_component_count: u32,
18927    pub enabled_components: *const SpatialComponentTypeEXT,
18928    pub ar_uco_dict: SpatialMarkerArucoDictEXT,
18929}
18930impl SpatialCapabilityConfigurationArucoMarkerEXT {
18931    pub const TYPE: StructureType =
18932        StructureType::SPATIAL_CAPABILITY_CONFIGURATION_ARUCO_MARKER_EXT;
18933}
18934#[repr(C)]
18935#[derive(Copy, Clone, Debug)]
18936#[doc = "See [XrSpatialCapabilityConfigurationAprilTagEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityConfigurationAprilTagEXT) - defined by [XR_EXT_spatial_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_marker_tracking)"]
18937pub struct SpatialCapabilityConfigurationAprilTagEXT {
18938    pub ty: StructureType,
18939    pub next: *const c_void,
18940    pub capability: SpatialCapabilityEXT,
18941    pub enabled_component_count: u32,
18942    pub enabled_components: *const SpatialComponentTypeEXT,
18943    pub april_dict: SpatialMarkerAprilTagDictEXT,
18944}
18945impl SpatialCapabilityConfigurationAprilTagEXT {
18946    pub const TYPE: StructureType = StructureType::SPATIAL_CAPABILITY_CONFIGURATION_APRIL_TAG_EXT;
18947}
18948#[repr(C)]
18949#[derive(Copy, Clone, Debug)]
18950#[doc = "See [XrSpatialCapabilityConfigurationQrCodeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityConfigurationQrCodeEXT) - defined by [XR_EXT_spatial_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_marker_tracking)"]
18951pub struct SpatialCapabilityConfigurationQrCodeEXT {
18952    pub ty: StructureType,
18953    pub next: *const c_void,
18954    pub capability: SpatialCapabilityEXT,
18955    pub enabled_component_count: u32,
18956    pub enabled_components: *const SpatialComponentTypeEXT,
18957}
18958impl SpatialCapabilityConfigurationQrCodeEXT {
18959    pub const TYPE: StructureType = StructureType::SPATIAL_CAPABILITY_CONFIGURATION_QR_CODE_EXT;
18960}
18961#[repr(C)]
18962#[derive(Copy, Clone, Debug)]
18963#[doc = "See [XrSpatialCapabilityConfigurationMicroQrCodeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityConfigurationMicroQrCodeEXT) - defined by [XR_EXT_spatial_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_marker_tracking)"]
18964pub struct SpatialCapabilityConfigurationMicroQrCodeEXT {
18965    pub ty: StructureType,
18966    pub next: *const c_void,
18967    pub capability: SpatialCapabilityEXT,
18968    pub enabled_component_count: u32,
18969    pub enabled_components: *const SpatialComponentTypeEXT,
18970}
18971impl SpatialCapabilityConfigurationMicroQrCodeEXT {
18972    pub const TYPE: StructureType =
18973        StructureType::SPATIAL_CAPABILITY_CONFIGURATION_MICRO_QR_CODE_EXT;
18974}
18975#[repr(C)]
18976#[derive(Copy, Clone, Debug)]
18977#[doc = "See [XrSpatialMarkerSizeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialMarkerSizeEXT) - defined by [XR_EXT_spatial_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_marker_tracking)"]
18978pub struct SpatialMarkerSizeEXT {
18979    pub ty: StructureType,
18980    pub next: *const c_void,
18981    pub marker_side_length: f32,
18982}
18983impl SpatialMarkerSizeEXT {
18984    pub const TYPE: StructureType = StructureType::SPATIAL_MARKER_SIZE_EXT;
18985}
18986#[repr(C)]
18987#[derive(Copy, Clone, Debug)]
18988#[doc = "See [XrSpatialMarkerStaticOptimizationEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialMarkerStaticOptimizationEXT) - defined by [XR_EXT_spatial_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_marker_tracking)"]
18989pub struct SpatialMarkerStaticOptimizationEXT {
18990    pub ty: StructureType,
18991    pub next: *const c_void,
18992    pub optimize_for_static_marker: Bool32,
18993}
18994impl SpatialMarkerStaticOptimizationEXT {
18995    pub const TYPE: StructureType = StructureType::SPATIAL_MARKER_STATIC_OPTIMIZATION_EXT;
18996}
18997#[repr(C)]
18998#[derive(Copy, Clone, Debug, PartialEq)]
18999#[doc = "See [XrSpatialMarkerDataEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialMarkerDataEXT) - defined by [XR_EXT_spatial_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_marker_tracking)"]
19000pub struct SpatialMarkerDataEXT {
19001    pub capability: SpatialCapabilityEXT,
19002    pub marker_id: u32,
19003    pub data: SpatialBufferEXT,
19004}
19005#[repr(C)]
19006#[derive(Copy, Clone, Debug)]
19007#[doc = "See [XrSpatialComponentMarkerListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentMarkerListEXT) - defined by [XR_EXT_spatial_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_marker_tracking)"]
19008pub struct SpatialComponentMarkerListEXT {
19009    pub ty: StructureType,
19010    pub next: *mut c_void,
19011    pub marker_count: u32,
19012    pub markers: *mut SpatialMarkerDataEXT,
19013}
19014impl SpatialComponentMarkerListEXT {
19015    pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_MARKER_LIST_EXT;
19016    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19017    #[inline]
19018    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19019        let mut x = MaybeUninit::<Self>::uninit();
19020        unsafe {
19021            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19022                ty: Self::TYPE,
19023                next,
19024            });
19025        }
19026        x
19027    }
19028}
19029#[repr(C)]
19030#[derive(Copy, Clone, Debug)]
19031#[doc = "See [XrSystemFacialSimulationPropertiesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemFacialSimulationPropertiesBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
19032pub struct SystemFacialSimulationPropertiesBD {
19033    pub ty: StructureType,
19034    pub next: *mut c_void,
19035    pub supports_face_tracking: Bool32,
19036}
19037impl SystemFacialSimulationPropertiesBD {
19038    pub const TYPE: StructureType = StructureType::SYSTEM_FACIAL_SIMULATION_PROPERTIES_BD;
19039    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19040    #[inline]
19041    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19042        let mut x = MaybeUninit::<Self>::uninit();
19043        unsafe {
19044            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19045                ty: Self::TYPE,
19046                next,
19047            });
19048        }
19049        x
19050    }
19051}
19052#[repr(C)]
19053#[derive(Copy, Clone, Debug)]
19054#[doc = "See [XrFaceTrackerCreateInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackerCreateInfoBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
19055pub struct FaceTrackerCreateInfoBD {
19056    pub ty: StructureType,
19057    pub next: *const c_void,
19058    pub mode: FacialSimulationModeBD,
19059}
19060impl FaceTrackerCreateInfoBD {
19061    pub const TYPE: StructureType = StructureType::FACE_TRACKER_CREATE_INFO_BD;
19062}
19063#[repr(C)]
19064#[derive(Copy, Clone, Debug)]
19065#[doc = "See [XrFacialSimulationDataGetInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialSimulationDataGetInfoBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
19066pub struct FacialSimulationDataGetInfoBD {
19067    pub ty: StructureType,
19068    pub next: *const c_void,
19069    pub time: Time,
19070}
19071impl FacialSimulationDataGetInfoBD {
19072    pub const TYPE: StructureType = StructureType::FACIAL_SIMULATION_DATA_GET_INFO_BD;
19073}
19074#[repr(C)]
19075#[derive(Copy, Clone, Debug)]
19076#[doc = "See [XrFacialSimulationDataBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialSimulationDataBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
19077pub struct FacialSimulationDataBD {
19078    pub ty: StructureType,
19079    pub next: *mut c_void,
19080    pub face_expression_weight_count: u32,
19081    pub face_expression_weights: *mut f32,
19082    pub is_upper_face_data_valid: Bool32,
19083    pub is_lower_face_data_valid: Bool32,
19084    pub time: Time,
19085}
19086impl FacialSimulationDataBD {
19087    pub const TYPE: StructureType = StructureType::FACIAL_SIMULATION_DATA_BD;
19088    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19089    #[inline]
19090    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19091        let mut x = MaybeUninit::<Self>::uninit();
19092        unsafe {
19093            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19094                ty: Self::TYPE,
19095                next,
19096            });
19097        }
19098        x
19099    }
19100}
19101#[repr(C)]
19102#[derive(Copy, Clone, Debug)]
19103#[doc = "See [XrLipExpressionDataBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLipExpressionDataBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
19104pub struct LipExpressionDataBD {
19105    pub ty: StructureType,
19106    pub next: *mut c_void,
19107    pub lipsync_expression_weight_count: u32,
19108    pub lipsync_expression_weights: *mut f32,
19109}
19110impl LipExpressionDataBD {
19111    pub const TYPE: StructureType = StructureType::LIP_EXPRESSION_DATA_BD;
19112    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19113    #[inline]
19114    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19115        let mut x = MaybeUninit::<Self>::uninit();
19116        unsafe {
19117            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19118                ty: Self::TYPE,
19119                next,
19120            });
19121        }
19122        x
19123    }
19124}
19125#[doc = r" Function pointer prototypes"]
19126pub mod pfn {
19127    use super::*;
19128    pub use crate::platform::EglGetProcAddressMNDX;
19129    pub type VoidFunction = unsafe extern "system" fn();
19130    pub type DebugUtilsMessengerCallbackEXT = unsafe extern "system" fn(
19131        DebugUtilsMessageSeverityFlagsEXT,
19132        DebugUtilsMessageTypeFlagsEXT,
19133        *const DebugUtilsMessengerCallbackDataEXT,
19134        *mut c_void,
19135    ) -> Bool32;
19136    #[doc = "See [xrNegotiateLoaderRuntimeInterface](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrNegotiateLoaderRuntimeInterface)"]
19137    pub type NegotiateLoaderRuntimeInterface = unsafe extern "system" fn(
19138        loader_info: *const NegotiateLoaderInfo,
19139        runtime_request: *mut NegotiateRuntimeRequest,
19140    ) -> Result;
19141    #[doc = "See [xrNegotiateLoaderApiLayerInterface](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrNegotiateLoaderApiLayerInterface)"]
19142    pub type NegotiateLoaderApiLayerInterface = unsafe extern "system" fn(
19143        loader_info: *const NegotiateLoaderInfo,
19144        layer_name: *const c_char,
19145        api_layer_request: *mut NegotiateApiLayerRequest,
19146    ) -> Result;
19147    #[doc = "See [xrCreateApiLayerInstance](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateApiLayerInstance)"]
19148    pub type CreateApiLayerInstance = unsafe extern "system" fn(
19149        info: *const InstanceCreateInfo,
19150        layer_info: *const ApiLayerCreateInfo,
19151        instance: *mut Instance,
19152    ) -> Result;
19153    #[doc = "See [xrGetInstanceProcAddr](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetInstanceProcAddr)"]
19154    pub type GetInstanceProcAddr = unsafe extern "system" fn(
19155        instance: Instance,
19156        name: *const c_char,
19157        function: *mut Option<pfn::VoidFunction>,
19158    ) -> Result;
19159    #[doc = "See [xrEnumerateApiLayerProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateApiLayerProperties)"]
19160    pub type EnumerateApiLayerProperties = unsafe extern "system" fn(
19161        property_capacity_input: u32,
19162        property_count_output: *mut u32,
19163        properties: *mut ApiLayerProperties,
19164    ) -> Result;
19165    #[doc = "See [xrEnumerateInstanceExtensionProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateInstanceExtensionProperties)"]
19166    pub type EnumerateInstanceExtensionProperties = unsafe extern "system" fn(
19167        layer_name: *const c_char,
19168        property_capacity_input: u32,
19169        property_count_output: *mut u32,
19170        properties: *mut ExtensionProperties,
19171    ) -> Result;
19172    #[doc = "See [xrCreateInstance](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateInstance)"]
19173    pub type CreateInstance = unsafe extern "system" fn(
19174        create_info: *const InstanceCreateInfo,
19175        instance: *mut Instance,
19176    ) -> Result;
19177    #[doc = "See [xrDestroyInstance](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyInstance)"]
19178    pub type DestroyInstance = unsafe extern "system" fn(instance: Instance) -> Result;
19179    #[doc = "See [xrResultToString](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrResultToString)"]
19180    pub type ResultToString =
19181        unsafe extern "system" fn(instance: Instance, value: Result, buffer: *mut c_char) -> Result;
19182    #[doc = "See [xrStructureTypeToString](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStructureTypeToString)"]
19183    pub type StructureTypeToString = unsafe extern "system" fn(
19184        instance: Instance,
19185        value: StructureType,
19186        buffer: *mut c_char,
19187    ) -> Result;
19188    #[doc = "See [xrStructureTypeToString2KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStructureTypeToString2KHR) - defined by [XR_KHR_extended_struct_name_lengths](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_extended_struct_name_lengths)"]
19189    pub type StructureTypeToString2KHR = unsafe extern "system" fn(
19190        instance: Instance,
19191        value: StructureType,
19192        buffer: *mut c_char,
19193    ) -> Result;
19194    #[doc = "See [xrGetInstanceProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetInstanceProperties)"]
19195    pub type GetInstanceProperties = unsafe extern "system" fn(
19196        instance: Instance,
19197        instance_properties: *mut InstanceProperties,
19198    ) -> Result;
19199    #[doc = "See [xrGetSystem](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSystem)"]
19200    pub type GetSystem = unsafe extern "system" fn(
19201        instance: Instance,
19202        get_info: *const SystemGetInfo,
19203        system_id: *mut SystemId,
19204    ) -> Result;
19205    #[doc = "See [xrGetSystemProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSystemProperties)"]
19206    pub type GetSystemProperties = unsafe extern "system" fn(
19207        instance: Instance,
19208        system_id: SystemId,
19209        properties: *mut SystemProperties,
19210    ) -> Result;
19211    #[doc = "See [xrCreateSession](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSession)"]
19212    pub type CreateSession = unsafe extern "system" fn(
19213        instance: Instance,
19214        create_info: *const SessionCreateInfo,
19215        session: *mut Session,
19216    ) -> Result;
19217    #[doc = "See [xrDestroySession](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySession)"]
19218    pub type DestroySession = unsafe extern "system" fn(session: Session) -> Result;
19219    #[doc = "See [xrDestroySpace](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpace)"]
19220    pub type DestroySpace = unsafe extern "system" fn(space: Space) -> Result;
19221    #[doc = "See [xrEnumerateSwapchainFormats](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSwapchainFormats)"]
19222    pub type EnumerateSwapchainFormats = unsafe extern "system" fn(
19223        session: Session,
19224        format_capacity_input: u32,
19225        format_count_output: *mut u32,
19226        formats: *mut i64,
19227    ) -> Result;
19228    #[doc = "See [xrCreateSwapchain](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSwapchain)"]
19229    pub type CreateSwapchain = unsafe extern "system" fn(
19230        session: Session,
19231        create_info: *const SwapchainCreateInfo,
19232        swapchain: *mut Swapchain,
19233    ) -> Result;
19234    #[doc = "See [xrDestroySwapchain](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySwapchain)"]
19235    pub type DestroySwapchain = unsafe extern "system" fn(swapchain: Swapchain) -> Result;
19236    #[doc = "See [xrEnumerateSwapchainImages](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSwapchainImages)"]
19237    pub type EnumerateSwapchainImages = unsafe extern "system" fn(
19238        swapchain: Swapchain,
19239        image_capacity_input: u32,
19240        image_count_output: *mut u32,
19241        images: *mut SwapchainImageBaseHeader,
19242    ) -> Result;
19243    #[doc = "See [xrAcquireSwapchainImage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrAcquireSwapchainImage)"]
19244    pub type AcquireSwapchainImage = unsafe extern "system" fn(
19245        swapchain: Swapchain,
19246        acquire_info: *const SwapchainImageAcquireInfo,
19247        index: *mut u32,
19248    ) -> Result;
19249    #[doc = "See [xrWaitSwapchainImage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrWaitSwapchainImage)"]
19250    pub type WaitSwapchainImage = unsafe extern "system" fn(
19251        swapchain: Swapchain,
19252        wait_info: *const SwapchainImageWaitInfo,
19253    ) -> Result;
19254    #[doc = "See [xrReleaseSwapchainImage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrReleaseSwapchainImage)"]
19255    pub type ReleaseSwapchainImage = unsafe extern "system" fn(
19256        swapchain: Swapchain,
19257        release_info: *const SwapchainImageReleaseInfo,
19258    ) -> Result;
19259    #[doc = "See [xrBeginSession](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrBeginSession)"]
19260    pub type BeginSession =
19261        unsafe extern "system" fn(session: Session, begin_info: *const SessionBeginInfo) -> Result;
19262    #[doc = "See [xrEndSession](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEndSession)"]
19263    pub type EndSession = unsafe extern "system" fn(session: Session) -> Result;
19264    #[doc = "See [xrRequestExitSession](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRequestExitSession)"]
19265    pub type RequestExitSession = unsafe extern "system" fn(session: Session) -> Result;
19266    #[doc = "See [xrEnumerateReferenceSpaces](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateReferenceSpaces)"]
19267    pub type EnumerateReferenceSpaces = unsafe extern "system" fn(
19268        session: Session,
19269        space_capacity_input: u32,
19270        space_count_output: *mut u32,
19271        spaces: *mut ReferenceSpaceType,
19272    ) -> Result;
19273    #[doc = "See [xrCreateReferenceSpace](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateReferenceSpace)"]
19274    pub type CreateReferenceSpace = unsafe extern "system" fn(
19275        session: Session,
19276        create_info: *const ReferenceSpaceCreateInfo,
19277        space: *mut Space,
19278    ) -> Result;
19279    #[doc = "See [xrCreateActionSpace](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateActionSpace)"]
19280    pub type CreateActionSpace = unsafe extern "system" fn(
19281        session: Session,
19282        create_info: *const ActionSpaceCreateInfo,
19283        space: *mut Space,
19284    ) -> Result;
19285    #[doc = "See [xrLocateSpace](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLocateSpace)"]
19286    pub type LocateSpace = unsafe extern "system" fn(
19287        space: Space,
19288        base_space: Space,
19289        time: Time,
19290        location: *mut SpaceLocation,
19291    ) -> Result;
19292    #[doc = "See [xrEnumerateViewConfigurations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateViewConfigurations)"]
19293    pub type EnumerateViewConfigurations = unsafe extern "system" fn(
19294        instance: Instance,
19295        system_id: SystemId,
19296        view_configuration_type_capacity_input: u32,
19297        view_configuration_type_count_output: *mut u32,
19298        view_configuration_types: *mut ViewConfigurationType,
19299    ) -> Result;
19300    #[doc = "See [xrEnumerateEnvironmentBlendModes](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateEnvironmentBlendModes)"]
19301    pub type EnumerateEnvironmentBlendModes = unsafe extern "system" fn(
19302        instance: Instance,
19303        system_id: SystemId,
19304        view_configuration_type: ViewConfigurationType,
19305        environment_blend_mode_capacity_input: u32,
19306        environment_blend_mode_count_output: *mut u32,
19307        environment_blend_modes: *mut EnvironmentBlendMode,
19308    ) -> Result;
19309    #[doc = "See [xrGetViewConfigurationProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetViewConfigurationProperties)"]
19310    pub type GetViewConfigurationProperties = unsafe extern "system" fn(
19311        instance: Instance,
19312        system_id: SystemId,
19313        view_configuration_type: ViewConfigurationType,
19314        configuration_properties: *mut ViewConfigurationProperties,
19315    ) -> Result;
19316    #[doc = "See [xrEnumerateViewConfigurationViews](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateViewConfigurationViews)"]
19317    pub type EnumerateViewConfigurationViews = unsafe extern "system" fn(
19318        instance: Instance,
19319        system_id: SystemId,
19320        view_configuration_type: ViewConfigurationType,
19321        view_capacity_input: u32,
19322        view_count_output: *mut u32,
19323        views: *mut ViewConfigurationView,
19324    ) -> Result;
19325    #[doc = "See [xrBeginFrame](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrBeginFrame)"]
19326    pub type BeginFrame = unsafe extern "system" fn(
19327        session: Session,
19328        frame_begin_info: *const FrameBeginInfo,
19329    ) -> Result;
19330    #[doc = "See [xrLocateViews](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLocateViews)"]
19331    pub type LocateViews = unsafe extern "system" fn(
19332        session: Session,
19333        view_locate_info: *const ViewLocateInfo,
19334        view_state: *mut ViewState,
19335        view_capacity_input: u32,
19336        view_count_output: *mut u32,
19337        views: *mut View,
19338    ) -> Result;
19339    #[doc = "See [xrEndFrame](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEndFrame)"]
19340    pub type EndFrame =
19341        unsafe extern "system" fn(session: Session, frame_end_info: *const FrameEndInfo) -> Result;
19342    #[doc = "See [xrWaitFrame](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrWaitFrame)"]
19343    pub type WaitFrame = unsafe extern "system" fn(
19344        session: Session,
19345        frame_wait_info: *const FrameWaitInfo,
19346        frame_state: *mut FrameState,
19347    ) -> Result;
19348    #[doc = "See [xrApplyHapticFeedback](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrApplyHapticFeedback)"]
19349    pub type ApplyHapticFeedback = unsafe extern "system" fn(
19350        session: Session,
19351        haptic_action_info: *const HapticActionInfo,
19352        haptic_feedback: *const HapticBaseHeader,
19353    ) -> Result;
19354    #[doc = "See [xrStopHapticFeedback](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStopHapticFeedback)"]
19355    pub type StopHapticFeedback = unsafe extern "system" fn(
19356        session: Session,
19357        haptic_action_info: *const HapticActionInfo,
19358    ) -> Result;
19359    #[doc = "See [xrPollEvent](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPollEvent)"]
19360    pub type PollEvent =
19361        unsafe extern "system" fn(instance: Instance, event_data: *mut EventDataBuffer) -> Result;
19362    #[doc = "See [xrStringToPath](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStringToPath)"]
19363    pub type StringToPath = unsafe extern "system" fn(
19364        instance: Instance,
19365        path_string: *const c_char,
19366        path: *mut Path,
19367    ) -> Result;
19368    #[doc = "See [xrPathToString](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPathToString)"]
19369    pub type PathToString = unsafe extern "system" fn(
19370        instance: Instance,
19371        path: Path,
19372        buffer_capacity_input: u32,
19373        buffer_count_output: *mut u32,
19374        buffer: *mut c_char,
19375    ) -> Result;
19376    #[doc = "See [xrGetReferenceSpaceBoundsRect](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetReferenceSpaceBoundsRect)"]
19377    pub type GetReferenceSpaceBoundsRect = unsafe extern "system" fn(
19378        session: Session,
19379        reference_space_type: ReferenceSpaceType,
19380        bounds: *mut Extent2Df,
19381    ) -> Result;
19382    #[cfg(target_os = "android")]
19383    #[doc = "See [xrSetAndroidApplicationThreadKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetAndroidApplicationThreadKHR) - defined by [XR_KHR_android_thread_settings](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_android_thread_settings)"]
19384    pub type SetAndroidApplicationThreadKHR = unsafe extern "system" fn(
19385        session: Session,
19386        thread_type: AndroidThreadTypeKHR,
19387        thread_id: u32,
19388    ) -> Result;
19389    #[cfg(target_os = "android")]
19390    #[doc = "See [xrCreateSwapchainAndroidSurfaceKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSwapchainAndroidSurfaceKHR) - defined by [XR_KHR_android_surface_swapchain](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_android_surface_swapchain)"]
19391    pub type CreateSwapchainAndroidSurfaceKHR = unsafe extern "system" fn(
19392        session: Session,
19393        info: *const SwapchainCreateInfo,
19394        swapchain: *mut Swapchain,
19395        surface: *mut jobject,
19396    ) -> Result;
19397    #[doc = "See [xrGetActionStateBoolean](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetActionStateBoolean)"]
19398    pub type GetActionStateBoolean = unsafe extern "system" fn(
19399        session: Session,
19400        get_info: *const ActionStateGetInfo,
19401        state: *mut ActionStateBoolean,
19402    ) -> Result;
19403    #[doc = "See [xrGetActionStateFloat](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetActionStateFloat)"]
19404    pub type GetActionStateFloat = unsafe extern "system" fn(
19405        session: Session,
19406        get_info: *const ActionStateGetInfo,
19407        state: *mut ActionStateFloat,
19408    ) -> Result;
19409    #[doc = "See [xrGetActionStateVector2f](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetActionStateVector2f)"]
19410    pub type GetActionStateVector2f = unsafe extern "system" fn(
19411        session: Session,
19412        get_info: *const ActionStateGetInfo,
19413        state: *mut ActionStateVector2f,
19414    ) -> Result;
19415    #[doc = "See [xrGetActionStatePose](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetActionStatePose)"]
19416    pub type GetActionStatePose = unsafe extern "system" fn(
19417        session: Session,
19418        get_info: *const ActionStateGetInfo,
19419        state: *mut ActionStatePose,
19420    ) -> Result;
19421    #[doc = "See [xrCreateActionSet](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateActionSet)"]
19422    pub type CreateActionSet = unsafe extern "system" fn(
19423        instance: Instance,
19424        create_info: *const ActionSetCreateInfo,
19425        action_set: *mut ActionSet,
19426    ) -> Result;
19427    #[doc = "See [xrDestroyActionSet](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyActionSet)"]
19428    pub type DestroyActionSet = unsafe extern "system" fn(action_set: ActionSet) -> Result;
19429    #[doc = "See [xrCreateAction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateAction)"]
19430    pub type CreateAction = unsafe extern "system" fn(
19431        action_set: ActionSet,
19432        create_info: *const ActionCreateInfo,
19433        action: *mut Action,
19434    ) -> Result;
19435    #[doc = "See [xrDestroyAction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyAction)"]
19436    pub type DestroyAction = unsafe extern "system" fn(action: Action) -> Result;
19437    #[doc = "See [xrSuggestInteractionProfileBindings](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSuggestInteractionProfileBindings)"]
19438    pub type SuggestInteractionProfileBindings = unsafe extern "system" fn(
19439        instance: Instance,
19440        suggested_bindings: *const InteractionProfileSuggestedBinding,
19441    ) -> Result;
19442    #[doc = "See [xrAttachSessionActionSets](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrAttachSessionActionSets)"]
19443    pub type AttachSessionActionSets = unsafe extern "system" fn(
19444        session: Session,
19445        attach_info: *const SessionActionSetsAttachInfo,
19446    ) -> Result;
19447    #[doc = "See [xrGetCurrentInteractionProfile](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetCurrentInteractionProfile)"]
19448    pub type GetCurrentInteractionProfile = unsafe extern "system" fn(
19449        session: Session,
19450        top_level_user_path: Path,
19451        interaction_profile: *mut InteractionProfileState,
19452    ) -> Result;
19453    #[doc = "See [xrSyncActions](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSyncActions)"]
19454    pub type SyncActions =
19455        unsafe extern "system" fn(session: Session, sync_info: *const ActionsSyncInfo) -> Result;
19456    #[doc = "See [xrEnumerateBoundSourcesForAction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateBoundSourcesForAction)"]
19457    pub type EnumerateBoundSourcesForAction = unsafe extern "system" fn(
19458        session: Session,
19459        enumerate_info: *const BoundSourcesForActionEnumerateInfo,
19460        source_capacity_input: u32,
19461        source_count_output: *mut u32,
19462        sources: *mut Path,
19463    ) -> Result;
19464    #[doc = "See [xrGetInputSourceLocalizedName](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetInputSourceLocalizedName)"]
19465    pub type GetInputSourceLocalizedName = unsafe extern "system" fn(
19466        session: Session,
19467        get_info: *const InputSourceLocalizedNameGetInfo,
19468        buffer_capacity_input: u32,
19469        buffer_count_output: *mut u32,
19470        buffer: *mut c_char,
19471    ) -> Result;
19472    #[doc = "See [xrGetVulkanInstanceExtensionsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVulkanInstanceExtensionsKHR) - defined by [XR_KHR_vulkan_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable)"]
19473    pub type GetVulkanInstanceExtensionsKHR = unsafe extern "system" fn(
19474        instance: Instance,
19475        system_id: SystemId,
19476        buffer_capacity_input: u32,
19477        buffer_count_output: *mut u32,
19478        buffer: *mut c_char,
19479    ) -> Result;
19480    #[doc = "See [xrGetVulkanDeviceExtensionsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVulkanDeviceExtensionsKHR) - defined by [XR_KHR_vulkan_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable)"]
19481    pub type GetVulkanDeviceExtensionsKHR = unsafe extern "system" fn(
19482        instance: Instance,
19483        system_id: SystemId,
19484        buffer_capacity_input: u32,
19485        buffer_count_output: *mut u32,
19486        buffer: *mut c_char,
19487    ) -> Result;
19488    #[doc = "See [xrGetVulkanGraphicsDeviceKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVulkanGraphicsDeviceKHR) - defined by [XR_KHR_vulkan_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable)"]
19489    pub type GetVulkanGraphicsDeviceKHR = unsafe extern "system" fn(
19490        instance: Instance,
19491        system_id: SystemId,
19492        vk_instance: VkInstance,
19493        vk_physical_device: *mut VkPhysicalDevice,
19494    ) -> Result;
19495    #[doc = "See [xrGetOpenGLGraphicsRequirementsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetOpenGLGraphicsRequirementsKHR) - defined by [XR_KHR_opengl_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_enable)"]
19496    pub type GetOpenGLGraphicsRequirementsKHR = unsafe extern "system" fn(
19497        instance: Instance,
19498        system_id: SystemId,
19499        graphics_requirements: *mut GraphicsRequirementsOpenGLKHR,
19500    ) -> Result;
19501    #[doc = "See [xrGetOpenGLESGraphicsRequirementsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetOpenGLESGraphicsRequirementsKHR) - defined by [XR_KHR_opengl_es_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_es_enable)"]
19502    pub type GetOpenGLESGraphicsRequirementsKHR = unsafe extern "system" fn(
19503        instance: Instance,
19504        system_id: SystemId,
19505        graphics_requirements: *mut GraphicsRequirementsOpenGLESKHR,
19506    ) -> Result;
19507    #[doc = "See [xrGetVulkanGraphicsRequirementsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVulkanGraphicsRequirementsKHR) - defined by [XR_KHR_vulkan_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable)"]
19508    pub type GetVulkanGraphicsRequirementsKHR = unsafe extern "system" fn(
19509        instance: Instance,
19510        system_id: SystemId,
19511        graphics_requirements: *mut GraphicsRequirementsVulkanKHR,
19512    ) -> Result;
19513    #[cfg(windows)]
19514    #[doc = "See [xrGetD3D11GraphicsRequirementsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetD3D11GraphicsRequirementsKHR) - defined by [XR_KHR_D3D11_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_D3D11_enable)"]
19515    pub type GetD3D11GraphicsRequirementsKHR = unsafe extern "system" fn(
19516        instance: Instance,
19517        system_id: SystemId,
19518        graphics_requirements: *mut GraphicsRequirementsD3D11KHR,
19519    ) -> Result;
19520    #[cfg(windows)]
19521    #[doc = "See [xrGetD3D12GraphicsRequirementsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetD3D12GraphicsRequirementsKHR) - defined by [XR_KHR_D3D12_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_D3D12_enable)"]
19522    pub type GetD3D12GraphicsRequirementsKHR = unsafe extern "system" fn(
19523        instance: Instance,
19524        system_id: SystemId,
19525        graphics_requirements: *mut GraphicsRequirementsD3D12KHR,
19526    ) -> Result;
19527    #[cfg(target_vendor = "apple")]
19528    #[doc = "See [xrGetMetalGraphicsRequirementsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetMetalGraphicsRequirementsKHR) - defined by [XR_KHR_metal_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_metal_enable)"]
19529    pub type GetMetalGraphicsRequirementsKHR = unsafe extern "system" fn(
19530        instance: Instance,
19531        system_id: SystemId,
19532        graphics_requirements: *mut GraphicsRequirementsMetalKHR,
19533    ) -> Result;
19534    #[doc = "See [xrPerfSettingsSetPerformanceLevelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPerfSettingsSetPerformanceLevelEXT) - defined by [XR_EXT_performance_settings](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_performance_settings)"]
19535    pub type PerfSettingsSetPerformanceLevelEXT = unsafe extern "system" fn(
19536        session: Session,
19537        domain: PerfSettingsDomainEXT,
19538        level: PerfSettingsLevelEXT,
19539    ) -> Result;
19540    #[doc = "See [xrThermalGetTemperatureTrendEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrThermalGetTemperatureTrendEXT) - defined by [XR_EXT_thermal_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_thermal_query)"]
19541    pub type ThermalGetTemperatureTrendEXT = unsafe extern "system" fn(
19542        session: Session,
19543        domain: PerfSettingsDomainEXT,
19544        notification_level: *mut PerfSettingsNotificationLevelEXT,
19545        temp_headroom: *mut f32,
19546        temp_slope: *mut f32,
19547    ) -> Result;
19548    #[doc = "See [xrSetDebugUtilsObjectNameEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetDebugUtilsObjectNameEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
19549    pub type SetDebugUtilsObjectNameEXT = unsafe extern "system" fn(
19550        instance: Instance,
19551        name_info: *const DebugUtilsObjectNameInfoEXT,
19552    ) -> Result;
19553    #[doc = "See [xrCreateDebugUtilsMessengerEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateDebugUtilsMessengerEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
19554    pub type CreateDebugUtilsMessengerEXT = unsafe extern "system" fn(
19555        instance: Instance,
19556        create_info: *const DebugUtilsMessengerCreateInfoEXT,
19557        messenger: *mut DebugUtilsMessengerEXT,
19558    ) -> Result;
19559    #[doc = "See [xrDestroyDebugUtilsMessengerEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyDebugUtilsMessengerEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
19560    pub type DestroyDebugUtilsMessengerEXT =
19561        unsafe extern "system" fn(messenger: DebugUtilsMessengerEXT) -> Result;
19562    #[doc = "See [xrSubmitDebugUtilsMessageEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSubmitDebugUtilsMessageEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
19563    pub type SubmitDebugUtilsMessageEXT = unsafe extern "system" fn(
19564        instance: Instance,
19565        message_severity: DebugUtilsMessageSeverityFlagsEXT,
19566        message_types: DebugUtilsMessageTypeFlagsEXT,
19567        callback_data: *const DebugUtilsMessengerCallbackDataEXT,
19568    ) -> Result;
19569    #[doc = "See [xrSessionBeginDebugUtilsLabelRegionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSessionBeginDebugUtilsLabelRegionEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
19570    pub type SessionBeginDebugUtilsLabelRegionEXT = unsafe extern "system" fn(
19571        session: Session,
19572        label_info: *const DebugUtilsLabelEXT,
19573    ) -> Result;
19574    #[doc = "See [xrSessionEndDebugUtilsLabelRegionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSessionEndDebugUtilsLabelRegionEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
19575    pub type SessionEndDebugUtilsLabelRegionEXT =
19576        unsafe extern "system" fn(session: Session) -> Result;
19577    #[doc = "See [xrSessionInsertDebugUtilsLabelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSessionInsertDebugUtilsLabelEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
19578    pub type SessionInsertDebugUtilsLabelEXT = unsafe extern "system" fn(
19579        session: Session,
19580        label_info: *const DebugUtilsLabelEXT,
19581    ) -> Result;
19582    #[cfg(windows)]
19583    #[doc = "See [xrConvertTimeToWin32PerformanceCounterKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrConvertTimeToWin32PerformanceCounterKHR) - defined by [XR_KHR_win32_convert_performance_counter_time](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_win32_convert_performance_counter_time)"]
19584    pub type ConvertTimeToWin32PerformanceCounterKHR = unsafe extern "system" fn(
19585        instance: Instance,
19586        time: Time,
19587        performance_counter: *mut LARGE_INTEGER,
19588    ) -> Result;
19589    #[cfg(windows)]
19590    #[doc = "See [xrConvertWin32PerformanceCounterToTimeKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrConvertWin32PerformanceCounterToTimeKHR) - defined by [XR_KHR_win32_convert_performance_counter_time](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_win32_convert_performance_counter_time)"]
19591    pub type ConvertWin32PerformanceCounterToTimeKHR = unsafe extern "system" fn(
19592        instance: Instance,
19593        performance_counter: *const LARGE_INTEGER,
19594        time: *mut Time,
19595    ) -> Result;
19596    #[doc = "See [xrCreateVulkanInstanceKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateVulkanInstanceKHR) - defined by [XR_KHR_vulkan_enable2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable2)"]
19597    pub type CreateVulkanInstanceKHR = unsafe extern "system" fn(
19598        instance: Instance,
19599        create_info: *const VulkanInstanceCreateInfoKHR,
19600        vulkan_instance: *mut VkInstance,
19601        vulkan_result: *mut VkResult,
19602    ) -> Result;
19603    #[doc = "See [xrCreateVulkanDeviceKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateVulkanDeviceKHR) - defined by [XR_KHR_vulkan_enable2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable2)"]
19604    pub type CreateVulkanDeviceKHR = unsafe extern "system" fn(
19605        instance: Instance,
19606        create_info: *const VulkanDeviceCreateInfoKHR,
19607        vulkan_device: *mut VkDevice,
19608        vulkan_result: *mut VkResult,
19609    ) -> Result;
19610    #[doc = "See [xrGetVulkanGraphicsDevice2KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVulkanGraphicsDevice2KHR) - defined by [XR_KHR_vulkan_enable2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable2)"]
19611    pub type GetVulkanGraphicsDevice2KHR = unsafe extern "system" fn(
19612        instance: Instance,
19613        get_info: *const VulkanGraphicsDeviceGetInfoKHR,
19614        vulkan_physical_device: *mut VkPhysicalDevice,
19615    ) -> Result;
19616    #[doc = "See [xrConvertTimeToTimespecTimeKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrConvertTimeToTimespecTimeKHR) - defined by [XR_KHR_convert_timespec_time](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_convert_timespec_time)"]
19617    pub type ConvertTimeToTimespecTimeKHR = unsafe extern "system" fn(
19618        instance: Instance,
19619        time: Time,
19620        timespec_time: *mut timespec,
19621    ) -> Result;
19622    #[doc = "See [xrConvertTimespecTimeToTimeKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrConvertTimespecTimeToTimeKHR) - defined by [XR_KHR_convert_timespec_time](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_convert_timespec_time)"]
19623    pub type ConvertTimespecTimeToTimeKHR = unsafe extern "system" fn(
19624        instance: Instance,
19625        timespec_time: *const timespec,
19626        time: *mut Time,
19627    ) -> Result;
19628    #[doc = "See [xrGetVisibilityMaskKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVisibilityMaskKHR) - defined by [XR_KHR_visibility_mask](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_visibility_mask)"]
19629    pub type GetVisibilityMaskKHR = unsafe extern "system" fn(
19630        session: Session,
19631        view_configuration_type: ViewConfigurationType,
19632        view_index: u32,
19633        visibility_mask_type: VisibilityMaskTypeKHR,
19634        visibility_mask: *mut VisibilityMaskKHR,
19635    ) -> Result;
19636    #[doc = "See [xrCreateSpatialAnchorMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorMSFT) - defined by [XR_MSFT_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor)"]
19637    pub type CreateSpatialAnchorMSFT = unsafe extern "system" fn(
19638        session: Session,
19639        create_info: *const SpatialAnchorCreateInfoMSFT,
19640        anchor: *mut SpatialAnchorMSFT,
19641    ) -> Result;
19642    #[doc = "See [xrCreateSpatialAnchorSpaceMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorSpaceMSFT) - defined by [XR_MSFT_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor)"]
19643    pub type CreateSpatialAnchorSpaceMSFT = unsafe extern "system" fn(
19644        session: Session,
19645        create_info: *const SpatialAnchorSpaceCreateInfoMSFT,
19646        space: *mut Space,
19647    ) -> Result;
19648    #[doc = "See [xrDestroySpatialAnchorMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpatialAnchorMSFT) - defined by [XR_MSFT_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor)"]
19649    pub type DestroySpatialAnchorMSFT =
19650        unsafe extern "system" fn(anchor: SpatialAnchorMSFT) -> Result;
19651    #[doc = "See [xrSetInputDeviceActiveEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetInputDeviceActiveEXT) - defined by [XR_EXT_conformance_automation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_conformance_automation)"]
19652    pub type SetInputDeviceActiveEXT = unsafe extern "system" fn(
19653        session: Session,
19654        interaction_profile: Path,
19655        top_level_path: Path,
19656        is_active: Bool32,
19657    ) -> Result;
19658    #[doc = "See [xrSetInputDeviceStateBoolEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetInputDeviceStateBoolEXT) - defined by [XR_EXT_conformance_automation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_conformance_automation)"]
19659    pub type SetInputDeviceStateBoolEXT = unsafe extern "system" fn(
19660        session: Session,
19661        top_level_path: Path,
19662        input_source_path: Path,
19663        state: Bool32,
19664    ) -> Result;
19665    #[doc = "See [xrSetInputDeviceStateFloatEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetInputDeviceStateFloatEXT) - defined by [XR_EXT_conformance_automation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_conformance_automation)"]
19666    pub type SetInputDeviceStateFloatEXT = unsafe extern "system" fn(
19667        session: Session,
19668        top_level_path: Path,
19669        input_source_path: Path,
19670        state: f32,
19671    ) -> Result;
19672    #[doc = "See [xrSetInputDeviceStateVector2fEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetInputDeviceStateVector2fEXT) - defined by [XR_EXT_conformance_automation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_conformance_automation)"]
19673    pub type SetInputDeviceStateVector2fEXT = unsafe extern "system" fn(
19674        session: Session,
19675        top_level_path: Path,
19676        input_source_path: Path,
19677        state: Vector2f,
19678    ) -> Result;
19679    #[doc = "See [xrSetInputDeviceLocationEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetInputDeviceLocationEXT) - defined by [XR_EXT_conformance_automation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_conformance_automation)"]
19680    pub type SetInputDeviceLocationEXT = unsafe extern "system" fn(
19681        session: Session,
19682        top_level_path: Path,
19683        input_source_path: Path,
19684        space: Space,
19685        pose: Posef,
19686    ) -> Result;
19687    #[doc = "See [xrInitializeLoaderKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrInitializeLoaderKHR) - defined by [XR_KHR_loader_init](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_loader_init)"]
19688    pub type InitializeLoaderKHR =
19689        unsafe extern "system" fn(loader_init_info: *const LoaderInitInfoBaseHeaderKHR) -> Result;
19690    #[doc = "See [xrCreateSpatialGraphNodeSpaceMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialGraphNodeSpaceMSFT) - defined by [XR_MSFT_spatial_graph_bridge](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_graph_bridge)"]
19691    pub type CreateSpatialGraphNodeSpaceMSFT = unsafe extern "system" fn(
19692        session: Session,
19693        create_info: *const SpatialGraphNodeSpaceCreateInfoMSFT,
19694        space: *mut Space,
19695    ) -> Result;
19696    #[doc = "See [xrTryCreateSpatialGraphStaticNodeBindingMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrTryCreateSpatialGraphStaticNodeBindingMSFT) - defined by [XR_MSFT_spatial_graph_bridge](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_graph_bridge)"]
19697    pub type TryCreateSpatialGraphStaticNodeBindingMSFT = unsafe extern "system" fn(
19698        session: Session,
19699        create_info: *const SpatialGraphStaticNodeBindingCreateInfoMSFT,
19700        node_binding: *mut SpatialGraphNodeBindingMSFT,
19701    ) -> Result;
19702    #[doc = "See [xrDestroySpatialGraphNodeBindingMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpatialGraphNodeBindingMSFT) - defined by [XR_MSFT_spatial_graph_bridge](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_graph_bridge)"]
19703    pub type DestroySpatialGraphNodeBindingMSFT =
19704        unsafe extern "system" fn(node_binding: SpatialGraphNodeBindingMSFT) -> Result;
19705    #[doc = "See [xrGetSpatialGraphNodeBindingPropertiesMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialGraphNodeBindingPropertiesMSFT) - defined by [XR_MSFT_spatial_graph_bridge](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_graph_bridge)"]
19706    pub type GetSpatialGraphNodeBindingPropertiesMSFT = unsafe extern "system" fn(
19707        node_binding: SpatialGraphNodeBindingMSFT,
19708        get_info: *const SpatialGraphNodeBindingPropertiesGetInfoMSFT,
19709        properties: *mut SpatialGraphNodeBindingPropertiesMSFT,
19710    ) -> Result;
19711    #[doc = "See [xrCreateHandTrackerEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateHandTrackerEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
19712    pub type CreateHandTrackerEXT = unsafe extern "system" fn(
19713        session: Session,
19714        create_info: *const HandTrackerCreateInfoEXT,
19715        hand_tracker: *mut HandTrackerEXT,
19716    ) -> Result;
19717    #[doc = "See [xrDestroyHandTrackerEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyHandTrackerEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
19718    pub type DestroyHandTrackerEXT =
19719        unsafe extern "system" fn(hand_tracker: HandTrackerEXT) -> Result;
19720    #[doc = "See [xrLocateHandJointsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLocateHandJointsEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
19721    pub type LocateHandJointsEXT = unsafe extern "system" fn(
19722        hand_tracker: HandTrackerEXT,
19723        locate_info: *const HandJointsLocateInfoEXT,
19724        locations: *mut HandJointLocationsEXT,
19725    ) -> Result;
19726    #[doc = "See [xrCreateFaceTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateFaceTrackerFB) - defined by [XR_FB_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking)"]
19727    pub type CreateFaceTrackerFB = unsafe extern "system" fn(
19728        session: Session,
19729        create_info: *const FaceTrackerCreateInfoFB,
19730        face_tracker: *mut FaceTrackerFB,
19731    ) -> Result;
19732    #[doc = "See [xrDestroyFaceTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyFaceTrackerFB) - defined by [XR_FB_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking)"]
19733    pub type DestroyFaceTrackerFB =
19734        unsafe extern "system" fn(face_tracker: FaceTrackerFB) -> Result;
19735    #[doc = "See [xrGetFaceExpressionWeightsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetFaceExpressionWeightsFB) - defined by [XR_FB_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking)"]
19736    pub type GetFaceExpressionWeightsFB = unsafe extern "system" fn(
19737        face_tracker: FaceTrackerFB,
19738        expression_info: *const FaceExpressionInfoFB,
19739        expression_weights: *mut FaceExpressionWeightsFB,
19740    ) -> Result;
19741    #[doc = "See [xrCreateFaceTracker2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateFaceTracker2FB) - defined by [XR_FB_face_tracking2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking2)"]
19742    pub type CreateFaceTracker2FB = unsafe extern "system" fn(
19743        session: Session,
19744        create_info: *const FaceTrackerCreateInfo2FB,
19745        face_tracker: *mut FaceTracker2FB,
19746    ) -> Result;
19747    #[doc = "See [xrDestroyFaceTracker2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyFaceTracker2FB) - defined by [XR_FB_face_tracking2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking2)"]
19748    pub type DestroyFaceTracker2FB =
19749        unsafe extern "system" fn(face_tracker: FaceTracker2FB) -> Result;
19750    #[doc = "See [xrGetFaceExpressionWeights2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetFaceExpressionWeights2FB) - defined by [XR_FB_face_tracking2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking2)"]
19751    pub type GetFaceExpressionWeights2FB = unsafe extern "system" fn(
19752        face_tracker: FaceTracker2FB,
19753        expression_info: *const FaceExpressionInfo2FB,
19754        expression_weights: *mut FaceExpressionWeights2FB,
19755    ) -> Result;
19756    #[doc = "See [xrCreateBodyTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateBodyTrackerFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
19757    pub type CreateBodyTrackerFB = unsafe extern "system" fn(
19758        session: Session,
19759        create_info: *const BodyTrackerCreateInfoFB,
19760        body_tracker: *mut BodyTrackerFB,
19761    ) -> Result;
19762    #[doc = "See [xrDestroyBodyTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyBodyTrackerFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
19763    pub type DestroyBodyTrackerFB =
19764        unsafe extern "system" fn(body_tracker: BodyTrackerFB) -> Result;
19765    #[doc = "See [xrLocateBodyJointsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLocateBodyJointsFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
19766    pub type LocateBodyJointsFB = unsafe extern "system" fn(
19767        body_tracker: BodyTrackerFB,
19768        locate_info: *const BodyJointsLocateInfoFB,
19769        locations: *mut BodyJointLocationsFB,
19770    ) -> Result;
19771    #[doc = "See [xrGetBodySkeletonFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetBodySkeletonFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
19772    pub type GetBodySkeletonFB = unsafe extern "system" fn(
19773        body_tracker: BodyTrackerFB,
19774        skeleton: *mut BodySkeletonFB,
19775    ) -> Result;
19776    #[doc = "See [xrSuggestBodyTrackingCalibrationOverrideMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSuggestBodyTrackingCalibrationOverrideMETA) - defined by [XR_META_body_tracking_calibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_body_tracking_calibration)"]
19777    pub type SuggestBodyTrackingCalibrationOverrideMETA = unsafe extern "system" fn(
19778        body_tracker: BodyTrackerFB,
19779        calibration_info: *const BodyTrackingCalibrationInfoMETA,
19780    ) -> Result;
19781    #[doc = "See [xrResetBodyTrackingCalibrationMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrResetBodyTrackingCalibrationMETA) - defined by [XR_META_body_tracking_calibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_body_tracking_calibration)"]
19782    pub type ResetBodyTrackingCalibrationMETA =
19783        unsafe extern "system" fn(body_tracker: BodyTrackerFB) -> Result;
19784    #[doc = "See [xrCreateEyeTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateEyeTrackerFB) - defined by [XR_FB_eye_tracking_social](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_eye_tracking_social)"]
19785    pub type CreateEyeTrackerFB = unsafe extern "system" fn(
19786        session: Session,
19787        create_info: *const EyeTrackerCreateInfoFB,
19788        eye_tracker: *mut EyeTrackerFB,
19789    ) -> Result;
19790    #[doc = "See [xrDestroyEyeTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyEyeTrackerFB) - defined by [XR_FB_eye_tracking_social](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_eye_tracking_social)"]
19791    pub type DestroyEyeTrackerFB = unsafe extern "system" fn(eye_tracker: EyeTrackerFB) -> Result;
19792    #[doc = "See [xrGetEyeGazesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetEyeGazesFB) - defined by [XR_FB_eye_tracking_social](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_eye_tracking_social)"]
19793    pub type GetEyeGazesFB = unsafe extern "system" fn(
19794        eye_tracker: EyeTrackerFB,
19795        gaze_info: *const EyeGazesInfoFB,
19796        eye_gazes: *mut EyeGazesFB,
19797    ) -> Result;
19798    #[doc = "See [xrCreateHandMeshSpaceMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateHandMeshSpaceMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
19799    pub type CreateHandMeshSpaceMSFT = unsafe extern "system" fn(
19800        hand_tracker: HandTrackerEXT,
19801        create_info: *const HandMeshSpaceCreateInfoMSFT,
19802        space: *mut Space,
19803    ) -> Result;
19804    #[doc = "See [xrUpdateHandMeshMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUpdateHandMeshMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
19805    pub type UpdateHandMeshMSFT = unsafe extern "system" fn(
19806        hand_tracker: HandTrackerEXT,
19807        update_info: *const HandMeshUpdateInfoMSFT,
19808        hand_mesh: *mut HandMeshMSFT,
19809    ) -> Result;
19810    #[doc = "See [xrGetControllerModelKeyMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetControllerModelKeyMSFT) - defined by [XR_MSFT_controller_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_controller_model)"]
19811    pub type GetControllerModelKeyMSFT = unsafe extern "system" fn(
19812        session: Session,
19813        top_level_user_path: Path,
19814        controller_model_key_state: *mut ControllerModelKeyStateMSFT,
19815    ) -> Result;
19816    #[doc = "See [xrLoadControllerModelMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLoadControllerModelMSFT) - defined by [XR_MSFT_controller_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_controller_model)"]
19817    pub type LoadControllerModelMSFT = unsafe extern "system" fn(
19818        session: Session,
19819        model_key: ControllerModelKeyMSFT,
19820        buffer_capacity_input: u32,
19821        buffer_count_output: *mut u32,
19822        buffer: *mut u8,
19823    ) -> Result;
19824    #[doc = "See [xrGetControllerModelPropertiesMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetControllerModelPropertiesMSFT) - defined by [XR_MSFT_controller_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_controller_model)"]
19825    pub type GetControllerModelPropertiesMSFT = unsafe extern "system" fn(
19826        session: Session,
19827        model_key: ControllerModelKeyMSFT,
19828        properties: *mut ControllerModelPropertiesMSFT,
19829    ) -> Result;
19830    #[doc = "See [xrGetControllerModelStateMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetControllerModelStateMSFT) - defined by [XR_MSFT_controller_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_controller_model)"]
19831    pub type GetControllerModelStateMSFT = unsafe extern "system" fn(
19832        session: Session,
19833        model_key: ControllerModelKeyMSFT,
19834        state: *mut ControllerModelStateMSFT,
19835    ) -> Result;
19836    #[doc = "See [xrEnumerateDisplayRefreshRatesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateDisplayRefreshRatesFB) - defined by [XR_FB_display_refresh_rate](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_display_refresh_rate)"]
19837    pub type EnumerateDisplayRefreshRatesFB = unsafe extern "system" fn(
19838        session: Session,
19839        display_refresh_rate_capacity_input: u32,
19840        display_refresh_rate_count_output: *mut u32,
19841        display_refresh_rates: *mut f32,
19842    ) -> Result;
19843    #[doc = "See [xrGetDisplayRefreshRateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetDisplayRefreshRateFB) - defined by [XR_FB_display_refresh_rate](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_display_refresh_rate)"]
19844    pub type GetDisplayRefreshRateFB =
19845        unsafe extern "system" fn(session: Session, display_refresh_rate: *mut f32) -> Result;
19846    #[doc = "See [xrRequestDisplayRefreshRateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRequestDisplayRefreshRateFB) - defined by [XR_FB_display_refresh_rate](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_display_refresh_rate)"]
19847    pub type RequestDisplayRefreshRateFB =
19848        unsafe extern "system" fn(session: Session, display_refresh_rate: f32) -> Result;
19849    #[cfg(windows)]
19850    #[doc = "See [xrCreateSpatialAnchorFromPerceptionAnchorMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorFromPerceptionAnchorMSFT) - defined by [XR_MSFT_perception_anchor_interop](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_perception_anchor_interop)"]
19851    pub type CreateSpatialAnchorFromPerceptionAnchorMSFT = unsafe extern "system" fn(
19852        session: Session,
19853        perception_anchor: *mut IUnknown,
19854        anchor: *mut SpatialAnchorMSFT,
19855    ) -> Result;
19856    #[cfg(windows)]
19857    #[doc = "See [xrTryGetPerceptionAnchorFromSpatialAnchorMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrTryGetPerceptionAnchorFromSpatialAnchorMSFT) - defined by [XR_MSFT_perception_anchor_interop](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_perception_anchor_interop)"]
19858    pub type TryGetPerceptionAnchorFromSpatialAnchorMSFT = unsafe extern "system" fn(
19859        session: Session,
19860        anchor: SpatialAnchorMSFT,
19861        perception_anchor: *mut *mut IUnknown,
19862    ) -> Result;
19863    #[doc = "See [xrUpdateSwapchainFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUpdateSwapchainFB) - defined by [XR_FB_swapchain_update_state](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_swapchain_update_state)"]
19864    pub type UpdateSwapchainFB = unsafe extern "system" fn(
19865        swapchain: Swapchain,
19866        state: *const SwapchainStateBaseHeaderFB,
19867    ) -> Result;
19868    #[doc = "See [xrGetSwapchainStateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSwapchainStateFB) - defined by [XR_FB_swapchain_update_state](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_swapchain_update_state)"]
19869    pub type GetSwapchainStateFB = unsafe extern "system" fn(
19870        swapchain: Swapchain,
19871        state: *mut SwapchainStateBaseHeaderFB,
19872    ) -> Result;
19873    #[doc = "See [xrEnumerateColorSpacesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateColorSpacesFB) - defined by [XR_FB_color_space](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_color_space)"]
19874    pub type EnumerateColorSpacesFB = unsafe extern "system" fn(
19875        session: Session,
19876        color_space_capacity_input: u32,
19877        color_space_count_output: *mut u32,
19878        color_spaces: *mut ColorSpaceFB,
19879    ) -> Result;
19880    #[doc = "See [xrSetColorSpaceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetColorSpaceFB) - defined by [XR_FB_color_space](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_color_space)"]
19881    pub type SetColorSpaceFB =
19882        unsafe extern "system" fn(session: Session, color_space: ColorSpaceFB) -> Result;
19883    #[doc = "See [xrCreateFoveationProfileFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateFoveationProfileFB) - defined by [XR_FB_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_foveation)"]
19884    pub type CreateFoveationProfileFB = unsafe extern "system" fn(
19885        session: Session,
19886        create_info: *const FoveationProfileCreateInfoFB,
19887        profile: *mut FoveationProfileFB,
19888    ) -> Result;
19889    #[doc = "See [xrDestroyFoveationProfileFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyFoveationProfileFB) - defined by [XR_FB_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_foveation)"]
19890    pub type DestroyFoveationProfileFB =
19891        unsafe extern "system" fn(profile: FoveationProfileFB) -> Result;
19892    #[doc = "See [xrGetFoveationEyeTrackedStateMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetFoveationEyeTrackedStateMETA) - defined by [XR_META_foveation_eye_tracked](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_foveation_eye_tracked)"]
19893    pub type GetFoveationEyeTrackedStateMETA = unsafe extern "system" fn(
19894        session: Session,
19895        foveation_state: *mut FoveationEyeTrackedStateMETA,
19896    ) -> Result;
19897    #[doc = "See [xrGetHandMeshFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetHandMeshFB) - defined by [XR_FB_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_hand_tracking_mesh)"]
19898    pub type GetHandMeshFB = unsafe extern "system" fn(
19899        hand_tracker: HandTrackerEXT,
19900        mesh: *mut HandTrackingMeshFB,
19901    ) -> Result;
19902    #[doc = "See [xrEnumerateRenderModelPathsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateRenderModelPathsFB) - defined by [XR_FB_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_render_model)"]
19903    pub type EnumerateRenderModelPathsFB = unsafe extern "system" fn(
19904        session: Session,
19905        path_capacity_input: u32,
19906        path_count_output: *mut u32,
19907        paths: *mut RenderModelPathInfoFB,
19908    ) -> Result;
19909    #[doc = "See [xrGetRenderModelPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetRenderModelPropertiesFB) - defined by [XR_FB_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_render_model)"]
19910    pub type GetRenderModelPropertiesFB = unsafe extern "system" fn(
19911        session: Session,
19912        path: Path,
19913        properties: *mut RenderModelPropertiesFB,
19914    ) -> Result;
19915    #[doc = "See [xrLoadRenderModelFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLoadRenderModelFB) - defined by [XR_FB_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_render_model)"]
19916    pub type LoadRenderModelFB = unsafe extern "system" fn(
19917        session: Session,
19918        info: *const RenderModelLoadInfoFB,
19919        buffer: *mut RenderModelBufferFB,
19920    ) -> Result;
19921    #[doc = "See [xrQuerySystemTrackedKeyboardFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQuerySystemTrackedKeyboardFB) - defined by [XR_FB_keyboard_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_keyboard_tracking)"]
19922    pub type QuerySystemTrackedKeyboardFB = unsafe extern "system" fn(
19923        session: Session,
19924        query_info: *const KeyboardTrackingQueryFB,
19925        keyboard: *mut KeyboardTrackingDescriptionFB,
19926    ) -> Result;
19927    #[doc = "See [xrCreateKeyboardSpaceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateKeyboardSpaceFB) - defined by [XR_FB_keyboard_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_keyboard_tracking)"]
19928    pub type CreateKeyboardSpaceFB = unsafe extern "system" fn(
19929        session: Session,
19930        create_info: *const KeyboardSpaceCreateInfoFB,
19931        keyboard_space: *mut Space,
19932    ) -> Result;
19933    #[doc = "See [xrSetEnvironmentDepthEstimationVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetEnvironmentDepthEstimationVARJO) - defined by [XR_VARJO_environment_depth_estimation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_environment_depth_estimation)"]
19934    pub type SetEnvironmentDepthEstimationVARJO =
19935        unsafe extern "system" fn(session: Session, enabled: Bool32) -> Result;
19936    #[doc = "See [xrEnumerateReprojectionModesMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateReprojectionModesMSFT) - defined by [XR_MSFT_composition_layer_reprojection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_composition_layer_reprojection)"]
19937    pub type EnumerateReprojectionModesMSFT = unsafe extern "system" fn(
19938        instance: Instance,
19939        system_id: SystemId,
19940        view_configuration_type: ViewConfigurationType,
19941        mode_capacity_input: u32,
19942        mode_count_output: *mut u32,
19943        modes: *mut ReprojectionModeMSFT,
19944    ) -> Result;
19945    #[doc = "See [xrGetAudioOutputDeviceGuidOculus](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetAudioOutputDeviceGuidOculus) - defined by [XR_OCULUS_audio_device_guid](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_OCULUS_audio_device_guid)"]
19946    pub type GetAudioOutputDeviceGuidOculus =
19947        unsafe extern "system" fn(instance: Instance, buffer: *mut wchar_t) -> Result;
19948    #[doc = "See [xrGetAudioInputDeviceGuidOculus](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetAudioInputDeviceGuidOculus) - defined by [XR_OCULUS_audio_device_guid](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_OCULUS_audio_device_guid)"]
19949    pub type GetAudioInputDeviceGuidOculus =
19950        unsafe extern "system" fn(instance: Instance, buffer: *mut wchar_t) -> Result;
19951    #[doc = "See [xrCreateSpatialAnchorFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
19952    pub type CreateSpatialAnchorFB = unsafe extern "system" fn(
19953        session: Session,
19954        info: *const SpatialAnchorCreateInfoFB,
19955        request_id: *mut AsyncRequestIdFB,
19956    ) -> Result;
19957    #[doc = "See [xrGetSpaceUuidFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceUuidFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
19958    pub type GetSpaceUuidFB = unsafe extern "system" fn(space: Space, uuid: *mut UuidEXT) -> Result;
19959    #[doc = "See [xrEnumerateSpaceSupportedComponentsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSpaceSupportedComponentsFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
19960    pub type EnumerateSpaceSupportedComponentsFB = unsafe extern "system" fn(
19961        space: Space,
19962        component_type_capacity_input: u32,
19963        component_type_count_output: *mut u32,
19964        component_types: *mut SpaceComponentTypeFB,
19965    ) -> Result;
19966    #[doc = "See [xrSetSpaceComponentStatusFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetSpaceComponentStatusFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
19967    pub type SetSpaceComponentStatusFB = unsafe extern "system" fn(
19968        space: Space,
19969        info: *const SpaceComponentStatusSetInfoFB,
19970        request_id: *mut AsyncRequestIdFB,
19971    ) -> Result;
19972    #[doc = "See [xrGetSpaceComponentStatusFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceComponentStatusFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
19973    pub type GetSpaceComponentStatusFB = unsafe extern "system" fn(
19974        space: Space,
19975        component_type: SpaceComponentTypeFB,
19976        status: *mut SpaceComponentStatusFB,
19977    ) -> Result;
19978    #[doc = "See [xrCreateTriangleMeshFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateTriangleMeshFB) - defined by [XR_FB_triangle_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_triangle_mesh)"]
19979    pub type CreateTriangleMeshFB = unsafe extern "system" fn(
19980        session: Session,
19981        create_info: *const TriangleMeshCreateInfoFB,
19982        out_triangle_mesh: *mut TriangleMeshFB,
19983    ) -> Result;
19984    #[doc = "See [xrDestroyTriangleMeshFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyTriangleMeshFB) - defined by [XR_FB_triangle_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_triangle_mesh)"]
19985    pub type DestroyTriangleMeshFB = unsafe extern "system" fn(mesh: TriangleMeshFB) -> Result;
19986    #[doc = "See [xrTriangleMeshGetVertexBufferFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrTriangleMeshGetVertexBufferFB) - defined by [XR_FB_triangle_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_triangle_mesh)"]
19987    pub type TriangleMeshGetVertexBufferFB = unsafe extern "system" fn(
19988        mesh: TriangleMeshFB,
19989        out_vertex_buffer: *mut *mut Vector3f,
19990    ) -> Result;
19991    #[doc = "See [xrTriangleMeshGetIndexBufferFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrTriangleMeshGetIndexBufferFB) - defined by [XR_FB_triangle_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_triangle_mesh)"]
19992    pub type TriangleMeshGetIndexBufferFB =
19993        unsafe extern "system" fn(mesh: TriangleMeshFB, out_index_buffer: *mut *mut u32) -> Result;
19994    #[doc = "See [xrTriangleMeshBeginUpdateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrTriangleMeshBeginUpdateFB) - defined by [XR_FB_triangle_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_triangle_mesh)"]
19995    pub type TriangleMeshBeginUpdateFB = unsafe extern "system" fn(mesh: TriangleMeshFB) -> Result;
19996    #[doc = "See [xrTriangleMeshEndUpdateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrTriangleMeshEndUpdateFB) - defined by [XR_FB_triangle_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_triangle_mesh)"]
19997    pub type TriangleMeshEndUpdateFB = unsafe extern "system" fn(
19998        mesh: TriangleMeshFB,
19999        vertex_count: u32,
20000        triangle_count: u32,
20001    ) -> Result;
20002    #[doc = "See [xrTriangleMeshBeginVertexBufferUpdateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrTriangleMeshBeginVertexBufferUpdateFB) - defined by [XR_FB_triangle_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_triangle_mesh)"]
20003    pub type TriangleMeshBeginVertexBufferUpdateFB =
20004        unsafe extern "system" fn(mesh: TriangleMeshFB, out_vertex_count: *mut u32) -> Result;
20005    #[doc = "See [xrTriangleMeshEndVertexBufferUpdateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrTriangleMeshEndVertexBufferUpdateFB) - defined by [XR_FB_triangle_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_triangle_mesh)"]
20006    pub type TriangleMeshEndVertexBufferUpdateFB =
20007        unsafe extern "system" fn(mesh: TriangleMeshFB) -> Result;
20008    #[doc = "See [xrCreatePassthroughFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreatePassthroughFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
20009    pub type CreatePassthroughFB = unsafe extern "system" fn(
20010        session: Session,
20011        create_info: *const PassthroughCreateInfoFB,
20012        out_passthrough: *mut PassthroughFB,
20013    ) -> Result;
20014    #[doc = "See [xrDestroyPassthroughFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyPassthroughFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
20015    pub type DestroyPassthroughFB = unsafe extern "system" fn(passthrough: PassthroughFB) -> Result;
20016    #[doc = "See [xrPassthroughStartFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPassthroughStartFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
20017    pub type PassthroughStartFB = unsafe extern "system" fn(passthrough: PassthroughFB) -> Result;
20018    #[doc = "See [xrPassthroughPauseFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPassthroughPauseFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
20019    pub type PassthroughPauseFB = unsafe extern "system" fn(passthrough: PassthroughFB) -> Result;
20020    #[doc = "See [xrCreatePassthroughLayerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreatePassthroughLayerFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
20021    pub type CreatePassthroughLayerFB = unsafe extern "system" fn(
20022        session: Session,
20023        create_info: *const PassthroughLayerCreateInfoFB,
20024        out_layer: *mut PassthroughLayerFB,
20025    ) -> Result;
20026    #[doc = "See [xrDestroyPassthroughLayerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyPassthroughLayerFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
20027    pub type DestroyPassthroughLayerFB =
20028        unsafe extern "system" fn(layer: PassthroughLayerFB) -> Result;
20029    #[doc = "See [xrPassthroughLayerPauseFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPassthroughLayerPauseFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
20030    pub type PassthroughLayerPauseFB =
20031        unsafe extern "system" fn(layer: PassthroughLayerFB) -> Result;
20032    #[doc = "See [xrPassthroughLayerResumeFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPassthroughLayerResumeFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
20033    pub type PassthroughLayerResumeFB =
20034        unsafe extern "system" fn(layer: PassthroughLayerFB) -> Result;
20035    #[doc = "See [xrPassthroughLayerSetStyleFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPassthroughLayerSetStyleFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
20036    pub type PassthroughLayerSetStyleFB = unsafe extern "system" fn(
20037        layer: PassthroughLayerFB,
20038        style: *const PassthroughStyleFB,
20039    ) -> Result;
20040    #[doc = "See [xrCreateGeometryInstanceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateGeometryInstanceFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
20041    pub type CreateGeometryInstanceFB = unsafe extern "system" fn(
20042        session: Session,
20043        create_info: *const GeometryInstanceCreateInfoFB,
20044        out_geometry_instance: *mut GeometryInstanceFB,
20045    ) -> Result;
20046    #[doc = "See [xrDestroyGeometryInstanceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyGeometryInstanceFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
20047    pub type DestroyGeometryInstanceFB =
20048        unsafe extern "system" fn(instance: GeometryInstanceFB) -> Result;
20049    #[doc = "See [xrGeometryInstanceSetTransformFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGeometryInstanceSetTransformFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
20050    pub type GeometryInstanceSetTransformFB = unsafe extern "system" fn(
20051        instance: GeometryInstanceFB,
20052        transformation: *const GeometryInstanceTransformFB,
20053    ) -> Result;
20054    #[doc = "See [xrQuerySpacesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQuerySpacesFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
20055    pub type QuerySpacesFB = unsafe extern "system" fn(
20056        session: Session,
20057        info: *const SpaceQueryInfoBaseHeaderFB,
20058        request_id: *mut AsyncRequestIdFB,
20059    ) -> Result;
20060    #[doc = "See [xrRetrieveSpaceQueryResultsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRetrieveSpaceQueryResultsFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
20061    pub type RetrieveSpaceQueryResultsFB = unsafe extern "system" fn(
20062        session: Session,
20063        request_id: AsyncRequestIdFB,
20064        results: *mut SpaceQueryResultsFB,
20065    ) -> Result;
20066    #[doc = "See [xrSaveSpaceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSaveSpaceFB) - defined by [XR_FB_spatial_entity_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_storage)"]
20067    pub type SaveSpaceFB = unsafe extern "system" fn(
20068        session: Session,
20069        info: *const SpaceSaveInfoFB,
20070        request_id: *mut AsyncRequestIdFB,
20071    ) -> Result;
20072    #[doc = "See [xrEraseSpaceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEraseSpaceFB) - defined by [XR_FB_spatial_entity_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_storage)"]
20073    pub type EraseSpaceFB = unsafe extern "system" fn(
20074        session: Session,
20075        info: *const SpaceEraseInfoFB,
20076        request_id: *mut AsyncRequestIdFB,
20077    ) -> Result;
20078    #[doc = "See [xrSaveSpaceListFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSaveSpaceListFB) - defined by [XR_FB_spatial_entity_storage_batch](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_storage_batch)"]
20079    pub type SaveSpaceListFB = unsafe extern "system" fn(
20080        session: Session,
20081        info: *const SpaceListSaveInfoFB,
20082        request_id: *mut AsyncRequestIdFB,
20083    ) -> Result;
20084    #[doc = "See [xrShareSpacesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrShareSpacesFB) - defined by [XR_FB_spatial_entity_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_sharing)"]
20085    pub type ShareSpacesFB = unsafe extern "system" fn(
20086        session: Session,
20087        info: *const SpaceShareInfoFB,
20088        request_id: *mut AsyncRequestIdFB,
20089    ) -> Result;
20090    #[doc = "See [xrGetSpaceContainerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceContainerFB) - defined by [XR_FB_spatial_entity_container](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_container)"]
20091    pub type GetSpaceContainerFB = unsafe extern "system" fn(
20092        session: Session,
20093        space: Space,
20094        space_container_output: *mut SpaceContainerFB,
20095    ) -> Result;
20096    #[doc = "See [xrGetSpaceTriangleMeshMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceTriangleMeshMETA) - defined by [XR_META_spatial_entity_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_mesh)"]
20097    pub type GetSpaceTriangleMeshMETA = unsafe extern "system" fn(
20098        space: Space,
20099        get_info: *const SpaceTriangleMeshGetInfoMETA,
20100        triangle_mesh_output: *mut SpaceTriangleMeshMETA,
20101    ) -> Result;
20102    #[doc = "See [xrGetSpaceBoundingBox2DFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceBoundingBox2DFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
20103    pub type GetSpaceBoundingBox2DFB = unsafe extern "system" fn(
20104        session: Session,
20105        space: Space,
20106        bounding_box2_d_output: *mut Rect2Df,
20107    ) -> Result;
20108    #[doc = "See [xrGetSpaceBoundingBox3DFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceBoundingBox3DFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
20109    pub type GetSpaceBoundingBox3DFB = unsafe extern "system" fn(
20110        session: Session,
20111        space: Space,
20112        bounding_box3_d_output: *mut Rect3DfFB,
20113    ) -> Result;
20114    #[doc = "See [xrGetSpaceSemanticLabelsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceSemanticLabelsFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
20115    pub type GetSpaceSemanticLabelsFB = unsafe extern "system" fn(
20116        session: Session,
20117        space: Space,
20118        semantic_labels_output: *mut SemanticLabelsFB,
20119    ) -> Result;
20120    #[doc = "See [xrGetSpaceBoundary2DFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceBoundary2DFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
20121    pub type GetSpaceBoundary2DFB = unsafe extern "system" fn(
20122        session: Session,
20123        space: Space,
20124        boundary2_d_output: *mut Boundary2DFB,
20125    ) -> Result;
20126    #[doc = "See [xrGetSpaceRoomLayoutFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceRoomLayoutFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
20127    pub type GetSpaceRoomLayoutFB = unsafe extern "system" fn(
20128        session: Session,
20129        space: Space,
20130        room_layout_output: *mut RoomLayoutFB,
20131    ) -> Result;
20132    #[doc = "See [xrRequestSceneCaptureFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRequestSceneCaptureFB) - defined by [XR_FB_scene_capture](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene_capture)"]
20133    pub type RequestSceneCaptureFB = unsafe extern "system" fn(
20134        session: Session,
20135        info: *const SceneCaptureRequestInfoFB,
20136        request_id: *mut AsyncRequestIdFB,
20137    ) -> Result;
20138    #[doc = "See [xrPassthroughLayerSetKeyboardHandsIntensityFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPassthroughLayerSetKeyboardHandsIntensityFB) - defined by [XR_FB_passthrough_keyboard_hands](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough_keyboard_hands)"]
20139    pub type PassthroughLayerSetKeyboardHandsIntensityFB = unsafe extern "system" fn(
20140        layer: PassthroughLayerFB,
20141        intensity: *const PassthroughKeyboardHandsIntensityFB,
20142    ) -> Result;
20143    #[doc = "See [xrStartColocationDiscoveryMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStartColocationDiscoveryMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
20144    pub type StartColocationDiscoveryMETA = unsafe extern "system" fn(
20145        session: Session,
20146        info: *const ColocationDiscoveryStartInfoMETA,
20147        discovery_request_id: *mut AsyncRequestIdFB,
20148    ) -> Result;
20149    #[doc = "See [xrStopColocationDiscoveryMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStopColocationDiscoveryMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
20150    pub type StopColocationDiscoveryMETA = unsafe extern "system" fn(
20151        session: Session,
20152        info: *const ColocationDiscoveryStopInfoMETA,
20153        request_id: *mut AsyncRequestIdFB,
20154    ) -> Result;
20155    #[doc = "See [xrStartColocationAdvertisementMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStartColocationAdvertisementMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
20156    pub type StartColocationAdvertisementMETA = unsafe extern "system" fn(
20157        session: Session,
20158        info: *const ColocationAdvertisementStartInfoMETA,
20159        advertisement_request_id: *mut AsyncRequestIdFB,
20160    ) -> Result;
20161    #[doc = "See [xrStopColocationAdvertisementMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStopColocationAdvertisementMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
20162    pub type StopColocationAdvertisementMETA = unsafe extern "system" fn(
20163        session: Session,
20164        info: *const ColocationAdvertisementStopInfoMETA,
20165        request_id: *mut AsyncRequestIdFB,
20166    ) -> Result;
20167    #[doc = "See [xrShareSpacesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrShareSpacesMETA) - defined by [XR_META_spatial_entity_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_sharing)"]
20168    pub type ShareSpacesMETA = unsafe extern "system" fn(
20169        session: Session,
20170        info: *const ShareSpacesInfoMETA,
20171        request_id: *mut AsyncRequestIdFB,
20172    ) -> Result;
20173    #[doc = "See [xrCreateSpatialAnchorStoreConnectionMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorStoreConnectionMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
20174    pub type CreateSpatialAnchorStoreConnectionMSFT = unsafe extern "system" fn(
20175        session: Session,
20176        spatial_anchor_store: *mut SpatialAnchorStoreConnectionMSFT,
20177    ) -> Result;
20178    #[doc = "See [xrDestroySpatialAnchorStoreConnectionMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpatialAnchorStoreConnectionMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
20179    pub type DestroySpatialAnchorStoreConnectionMSFT =
20180        unsafe extern "system" fn(spatial_anchor_store: SpatialAnchorStoreConnectionMSFT) -> Result;
20181    #[doc = "See [xrPersistSpatialAnchorMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPersistSpatialAnchorMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
20182    pub type PersistSpatialAnchorMSFT = unsafe extern "system" fn(
20183        spatial_anchor_store: SpatialAnchorStoreConnectionMSFT,
20184        spatial_anchor_persistence_info: *const SpatialAnchorPersistenceInfoMSFT,
20185    ) -> Result;
20186    #[doc = "See [xrEnumeratePersistedSpatialAnchorNamesMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumeratePersistedSpatialAnchorNamesMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
20187    pub type EnumeratePersistedSpatialAnchorNamesMSFT = unsafe extern "system" fn(
20188        spatial_anchor_store: SpatialAnchorStoreConnectionMSFT,
20189        spatial_anchor_name_capacity_input: u32,
20190        spatial_anchor_name_count_output: *mut u32,
20191        spatial_anchor_names: *mut SpatialAnchorPersistenceNameMSFT,
20192    ) -> Result;
20193    #[doc = "See [xrCreateSpatialAnchorFromPersistedNameMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorFromPersistedNameMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
20194    pub type CreateSpatialAnchorFromPersistedNameMSFT = unsafe extern "system" fn(
20195        session: Session,
20196        spatial_anchor_create_info: *const SpatialAnchorFromPersistedAnchorCreateInfoMSFT,
20197        spatial_anchor: *mut SpatialAnchorMSFT,
20198    ) -> Result;
20199    #[doc = "See [xrUnpersistSpatialAnchorMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUnpersistSpatialAnchorMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
20200    pub type UnpersistSpatialAnchorMSFT = unsafe extern "system" fn(
20201        spatial_anchor_store: SpatialAnchorStoreConnectionMSFT,
20202        spatial_anchor_persistence_name: *const SpatialAnchorPersistenceNameMSFT,
20203    ) -> Result;
20204    #[doc = "See [xrClearSpatialAnchorStoreMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrClearSpatialAnchorStoreMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
20205    pub type ClearSpatialAnchorStoreMSFT =
20206        unsafe extern "system" fn(spatial_anchor_store: SpatialAnchorStoreConnectionMSFT) -> Result;
20207    #[doc = "See [xrCreateBodyTrackerBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateBodyTrackerBD) - defined by [XR_BD_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_body_tracking)"]
20208    pub type CreateBodyTrackerBD = unsafe extern "system" fn(
20209        session: Session,
20210        create_info: *const BodyTrackerCreateInfoBD,
20211        body_tracker: *mut BodyTrackerBD,
20212    ) -> Result;
20213    #[doc = "See [xrDestroyBodyTrackerBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyBodyTrackerBD) - defined by [XR_BD_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_body_tracking)"]
20214    pub type DestroyBodyTrackerBD =
20215        unsafe extern "system" fn(body_tracker: BodyTrackerBD) -> Result;
20216    #[doc = "See [xrLocateBodyJointsBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLocateBodyJointsBD) - defined by [XR_BD_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_body_tracking)"]
20217    pub type LocateBodyJointsBD = unsafe extern "system" fn(
20218        body_tracker: BodyTrackerBD,
20219        locate_info: *const BodyJointsLocateInfoBD,
20220        locations: *mut BodyJointLocationsBD,
20221    ) -> Result;
20222    #[doc = "See [xrCreateFacialTrackerHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateFacialTrackerHTC) - defined by [XR_HTC_facial_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_facial_tracking)"]
20223    pub type CreateFacialTrackerHTC = unsafe extern "system" fn(
20224        session: Session,
20225        create_info: *const FacialTrackerCreateInfoHTC,
20226        facial_tracker: *mut FacialTrackerHTC,
20227    ) -> Result;
20228    #[doc = "See [xrDestroyFacialTrackerHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyFacialTrackerHTC) - defined by [XR_HTC_facial_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_facial_tracking)"]
20229    pub type DestroyFacialTrackerHTC =
20230        unsafe extern "system" fn(facial_tracker: FacialTrackerHTC) -> Result;
20231    #[doc = "See [xrGetFacialExpressionsHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetFacialExpressionsHTC) - defined by [XR_HTC_facial_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_facial_tracking)"]
20232    pub type GetFacialExpressionsHTC = unsafe extern "system" fn(
20233        facial_tracker: FacialTrackerHTC,
20234        facial_expressions: *mut FacialExpressionsHTC,
20235    ) -> Result;
20236    #[doc = "See [xrCreatePassthroughHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreatePassthroughHTC) - defined by [XR_HTC_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_passthrough)"]
20237    pub type CreatePassthroughHTC = unsafe extern "system" fn(
20238        session: Session,
20239        create_info: *const PassthroughCreateInfoHTC,
20240        passthrough: *mut PassthroughHTC,
20241    ) -> Result;
20242    #[doc = "See [xrDestroyPassthroughHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyPassthroughHTC) - defined by [XR_HTC_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_passthrough)"]
20243    pub type DestroyPassthroughHTC =
20244        unsafe extern "system" fn(passthrough: PassthroughHTC) -> Result;
20245    #[doc = "See [xrCreateSpatialAnchorHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorHTC) - defined by [XR_HTC_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_anchor)"]
20246    pub type CreateSpatialAnchorHTC = unsafe extern "system" fn(
20247        session: Session,
20248        create_info: *const SpatialAnchorCreateInfoHTC,
20249        anchor: *mut Space,
20250    ) -> Result;
20251    #[doc = "See [xrGetSpatialAnchorNameHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialAnchorNameHTC) - defined by [XR_HTC_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_anchor)"]
20252    pub type GetSpatialAnchorNameHTC =
20253        unsafe extern "system" fn(anchor: Space, name: *mut SpatialAnchorNameHTC) -> Result;
20254    #[doc = "See [xrEnumerateViveTrackerPathsHTCX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateViveTrackerPathsHTCX) - defined by [XR_HTCX_vive_tracker_interaction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTCX_vive_tracker_interaction)"]
20255    pub type EnumerateViveTrackerPathsHTCX = unsafe extern "system" fn(
20256        instance: Instance,
20257        path_capacity_input: u32,
20258        path_count_output: *mut u32,
20259        paths: *mut ViveTrackerPathsHTCX,
20260    ) -> Result;
20261    #[doc = "See [xrCreateBodyTrackerHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateBodyTrackerHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
20262    pub type CreateBodyTrackerHTC = unsafe extern "system" fn(
20263        session: Session,
20264        create_info: *const BodyTrackerCreateInfoHTC,
20265        body_tracker: *mut BodyTrackerHTC,
20266    ) -> Result;
20267    #[doc = "See [xrDestroyBodyTrackerHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyBodyTrackerHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
20268    pub type DestroyBodyTrackerHTC =
20269        unsafe extern "system" fn(body_tracker: BodyTrackerHTC) -> Result;
20270    #[doc = "See [xrLocateBodyJointsHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLocateBodyJointsHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
20271    pub type LocateBodyJointsHTC = unsafe extern "system" fn(
20272        body_tracker: BodyTrackerHTC,
20273        locate_info: *const BodyJointsLocateInfoHTC,
20274        locations: *mut BodyJointLocationsHTC,
20275    ) -> Result;
20276    #[doc = "See [xrGetBodySkeletonHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetBodySkeletonHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
20277    pub type GetBodySkeletonHTC = unsafe extern "system" fn(
20278        body_tracker: BodyTrackerHTC,
20279        base_space: Space,
20280        skeleton_generation_id: u32,
20281        skeleton: *mut BodySkeletonHTC,
20282    ) -> Result;
20283    #[doc = "See [xrSetMarkerTrackingVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetMarkerTrackingVARJO) - defined by [XR_VARJO_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_marker_tracking)"]
20284    pub type SetMarkerTrackingVARJO =
20285        unsafe extern "system" fn(session: Session, enabled: Bool32) -> Result;
20286    #[doc = "See [xrSetMarkerTrackingTimeoutVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetMarkerTrackingTimeoutVARJO) - defined by [XR_VARJO_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_marker_tracking)"]
20287    pub type SetMarkerTrackingTimeoutVARJO =
20288        unsafe extern "system" fn(session: Session, marker_id: u64, timeout: Duration) -> Result;
20289    #[doc = "See [xrSetMarkerTrackingPredictionVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetMarkerTrackingPredictionVARJO) - defined by [XR_VARJO_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_marker_tracking)"]
20290    pub type SetMarkerTrackingPredictionVARJO =
20291        unsafe extern "system" fn(session: Session, marker_id: u64, enable: Bool32) -> Result;
20292    #[doc = "See [xrGetMarkerSizeVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetMarkerSizeVARJO) - defined by [XR_VARJO_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_marker_tracking)"]
20293    pub type GetMarkerSizeVARJO =
20294        unsafe extern "system" fn(session: Session, marker_id: u64, size: *mut Extent2Df) -> Result;
20295    #[doc = "See [xrCreateMarkerSpaceVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateMarkerSpaceVARJO) - defined by [XR_VARJO_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_marker_tracking)"]
20296    pub type CreateMarkerSpaceVARJO = unsafe extern "system" fn(
20297        session: Session,
20298        create_info: *const MarkerSpaceCreateInfoVARJO,
20299        space: *mut Space,
20300    ) -> Result;
20301    #[doc = "See [xrSetDigitalLensControlALMALENCE](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetDigitalLensControlALMALENCE) - defined by [XR_ALMALENCE_digital_lens_control](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ALMALENCE_digital_lens_control)"]
20302    pub type SetDigitalLensControlALMALENCE = unsafe extern "system" fn(
20303        session: Session,
20304        digital_lens_control: *const DigitalLensControlALMALENCE,
20305    ) -> Result;
20306    #[doc = "See [xrSetViewOffsetVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetViewOffsetVARJO) - defined by [XR_VARJO_view_offset](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_view_offset)"]
20307    pub type SetViewOffsetVARJO =
20308        unsafe extern "system" fn(session: Session, offset: f32) -> Result;
20309    #[doc = "See [xrEnumerateExternalCamerasOCULUS](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateExternalCamerasOCULUS) - defined by [XR_OCULUS_external_camera](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_OCULUS_external_camera)"]
20310    pub type EnumerateExternalCamerasOCULUS = unsafe extern "system" fn(
20311        session: Session,
20312        camera_capacity_input: u32,
20313        camera_count_output: *mut u32,
20314        cameras: *mut ExternalCameraOCULUS,
20315    ) -> Result;
20316    #[doc = "See [xrCreatePassthroughColorLutMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreatePassthroughColorLutMETA) - defined by [XR_META_passthrough_color_lut](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_color_lut)"]
20317    pub type CreatePassthroughColorLutMETA = unsafe extern "system" fn(
20318        passthrough: PassthroughFB,
20319        create_info: *const PassthroughColorLutCreateInfoMETA,
20320        color_lut: *mut PassthroughColorLutMETA,
20321    ) -> Result;
20322    #[doc = "See [xrDestroyPassthroughColorLutMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyPassthroughColorLutMETA) - defined by [XR_META_passthrough_color_lut](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_color_lut)"]
20323    pub type DestroyPassthroughColorLutMETA =
20324        unsafe extern "system" fn(color_lut: PassthroughColorLutMETA) -> Result;
20325    #[doc = "See [xrUpdatePassthroughColorLutMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUpdatePassthroughColorLutMETA) - defined by [XR_META_passthrough_color_lut](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_color_lut)"]
20326    pub type UpdatePassthroughColorLutMETA = unsafe extern "system" fn(
20327        color_lut: PassthroughColorLutMETA,
20328        update_info: *const PassthroughColorLutUpdateInfoMETA,
20329    ) -> Result;
20330    #[doc = "See [xrEnumeratePerformanceMetricsCounterPathsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumeratePerformanceMetricsCounterPathsMETA) - defined by [XR_META_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_performance_metrics)"]
20331    pub type EnumeratePerformanceMetricsCounterPathsMETA = unsafe extern "system" fn(
20332        instance: Instance,
20333        counter_path_capacity_input: u32,
20334        counter_path_count_output: *mut u32,
20335        counter_paths: *mut Path,
20336    ) -> Result;
20337    #[doc = "See [xrSetPerformanceMetricsStateMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetPerformanceMetricsStateMETA) - defined by [XR_META_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_performance_metrics)"]
20338    pub type SetPerformanceMetricsStateMETA = unsafe extern "system" fn(
20339        session: Session,
20340        state: *const PerformanceMetricsStateMETA,
20341    ) -> Result;
20342    #[doc = "See [xrGetPerformanceMetricsStateMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetPerformanceMetricsStateMETA) - defined by [XR_META_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_performance_metrics)"]
20343    pub type GetPerformanceMetricsStateMETA = unsafe extern "system" fn(
20344        session: Session,
20345        state: *mut PerformanceMetricsStateMETA,
20346    ) -> Result;
20347    #[doc = "See [xrQueryPerformanceMetricsCounterMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQueryPerformanceMetricsCounterMETA) - defined by [XR_META_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_performance_metrics)"]
20348    pub type QueryPerformanceMetricsCounterMETA = unsafe extern "system" fn(
20349        session: Session,
20350        counter_path: Path,
20351        counter: *mut PerformanceMetricsCounterMETA,
20352    ) -> Result;
20353    #[doc = "See [xrGetPassthroughPreferencesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetPassthroughPreferencesMETA) - defined by [XR_META_passthrough_preferences](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_preferences)"]
20354    pub type GetPassthroughPreferencesMETA = unsafe extern "system" fn(
20355        session: Session,
20356        preferences: *mut PassthroughPreferencesMETA,
20357    ) -> Result;
20358    #[doc = "See [xrApplyFoveationHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrApplyFoveationHTC) - defined by [XR_HTC_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_foveation)"]
20359    pub type ApplyFoveationHTC = unsafe extern "system" fn(
20360        session: Session,
20361        apply_info: *const FoveationApplyInfoHTC,
20362    ) -> Result;
20363    #[doc = "See [xrCreateSpaceFromCoordinateFrameUIDML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpaceFromCoordinateFrameUIDML) - defined by [XR_ML_compat](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_compat)"]
20364    pub type CreateSpaceFromCoordinateFrameUIDML = unsafe extern "system" fn(
20365        session: Session,
20366        create_info: *const CoordinateSpaceCreateInfoML,
20367        space: *mut Space,
20368    ) -> Result;
20369    #[doc = "See [xrGetDeviceSampleRateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetDeviceSampleRateFB) - defined by [XR_FB_haptic_pcm](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_haptic_pcm)"]
20370    pub type GetDeviceSampleRateFB = unsafe extern "system" fn(
20371        session: Session,
20372        haptic_action_info: *const HapticActionInfo,
20373        device_sample_rate: *mut DevicePcmSampleRateGetInfoFB,
20374    ) -> Result;
20375    #[doc = "See [xrSetTrackingOptimizationSettingsHintQCOM](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetTrackingOptimizationSettingsHintQCOM) - defined by [XR_QCOM_tracking_optimization_settings](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_QCOM_tracking_optimization_settings)"]
20376    pub type SetTrackingOptimizationSettingsHintQCOM = unsafe extern "system" fn(
20377        session: Session,
20378        domain: TrackingOptimizationSettingsDomainQCOM,
20379        hint: TrackingOptimizationSettingsHintQCOM,
20380    ) -> Result;
20381    #[doc = "See [xrCreateSpaceUserFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpaceUserFB) - defined by [XR_FB_spatial_entity_user](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_user)"]
20382    pub type CreateSpaceUserFB = unsafe extern "system" fn(
20383        session: Session,
20384        info: *const SpaceUserCreateInfoFB,
20385        user: *mut SpaceUserFB,
20386    ) -> Result;
20387    #[doc = "See [xrGetSpaceUserIdFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceUserIdFB) - defined by [XR_FB_spatial_entity_user](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_user)"]
20388    pub type GetSpaceUserIdFB =
20389        unsafe extern "system" fn(user: SpaceUserFB, user_id: *mut SpaceUserIdFB) -> Result;
20390    #[doc = "See [xrDestroySpaceUserFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpaceUserFB) - defined by [XR_FB_spatial_entity_user](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_user)"]
20391    pub type DestroySpaceUserFB = unsafe extern "system" fn(user: SpaceUserFB) -> Result;
20392    #[doc = "See [xrGetRecommendedLayerResolutionMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetRecommendedLayerResolutionMETA) - defined by [XR_META_recommended_layer_resolution](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_recommended_layer_resolution)"]
20393    pub type GetRecommendedLayerResolutionMETA = unsafe extern "system" fn(
20394        session: Session,
20395        info: *const RecommendedLayerResolutionGetInfoMETA,
20396        resolution: *mut RecommendedLayerResolutionMETA,
20397    ) -> Result;
20398    #[doc = "See [xrSaveSpacesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSaveSpacesMETA) - defined by [XR_META_spatial_entity_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_persistence)"]
20399    pub type SaveSpacesMETA = unsafe extern "system" fn(
20400        session: Session,
20401        info: *const SpacesSaveInfoMETA,
20402        request_id: *mut AsyncRequestIdFB,
20403    ) -> Result;
20404    #[doc = "See [xrEraseSpacesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEraseSpacesMETA) - defined by [XR_META_spatial_entity_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_persistence)"]
20405    pub type EraseSpacesMETA = unsafe extern "system" fn(
20406        session: Session,
20407        info: *const SpacesEraseInfoMETA,
20408        request_id: *mut AsyncRequestIdFB,
20409    ) -> Result;
20410    #[doc = "See [xrDiscoverSpacesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDiscoverSpacesMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
20411    pub type DiscoverSpacesMETA = unsafe extern "system" fn(
20412        session: Session,
20413        info: *const SpaceDiscoveryInfoMETA,
20414        request_id: *mut AsyncRequestIdFB,
20415    ) -> Result;
20416    #[doc = "See [xrRetrieveSpaceDiscoveryResultsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRetrieveSpaceDiscoveryResultsMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
20417    pub type RetrieveSpaceDiscoveryResultsMETA = unsafe extern "system" fn(
20418        session: Session,
20419        request_id: AsyncRequestIdFB,
20420        results: *mut SpaceDiscoveryResultsMETA,
20421    ) -> Result;
20422    #[doc = "See [xrApplyForceFeedbackCurlMNDX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrApplyForceFeedbackCurlMNDX) - defined by [XR_MNDX_force_feedback_curl](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MNDX_force_feedback_curl)"]
20423    pub type ApplyForceFeedbackCurlMNDX = unsafe extern "system" fn(
20424        hand_tracker: HandTrackerEXT,
20425        locations: *const ForceFeedbackCurlApplyLocationsMNDX,
20426    ) -> Result;
20427    #[cfg(target_os = "android")]
20428    #[doc = "See [xrCreateFaceTrackerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateFaceTrackerANDROID) - defined by [XR_ANDROID_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_face_tracking)"]
20429    pub type CreateFaceTrackerANDROID = unsafe extern "system" fn(
20430        session: Session,
20431        create_info: *const FaceTrackerCreateInfoANDROID,
20432        face_tracker: *mut FaceTrackerANDROID,
20433    ) -> Result;
20434    #[cfg(target_os = "android")]
20435    #[doc = "See [xrDestroyFaceTrackerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyFaceTrackerANDROID) - defined by [XR_ANDROID_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_face_tracking)"]
20436    pub type DestroyFaceTrackerANDROID =
20437        unsafe extern "system" fn(face_tracker: FaceTrackerANDROID) -> Result;
20438    #[cfg(target_os = "android")]
20439    #[doc = "See [xrGetFaceStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetFaceStateANDROID) - defined by [XR_ANDROID_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_face_tracking)"]
20440    pub type GetFaceStateANDROID = unsafe extern "system" fn(
20441        face_tracker: FaceTrackerANDROID,
20442        get_info: *const FaceStateGetInfoANDROID,
20443        face_state_output: *mut FaceStateANDROID,
20444    ) -> Result;
20445    #[cfg(target_os = "android")]
20446    #[doc = "See [xrGetFaceCalibrationStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetFaceCalibrationStateANDROID) - defined by [XR_ANDROID_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_face_tracking)"]
20447    pub type GetFaceCalibrationStateANDROID = unsafe extern "system" fn(
20448        face_tracker: FaceTrackerANDROID,
20449        face_is_calibrated_output: *mut Bool32,
20450    ) -> Result;
20451    #[cfg(target_os = "android")]
20452    #[doc = "See [xrGetPassthroughCameraStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetPassthroughCameraStateANDROID) - defined by [XR_ANDROID_passthrough_camera_state](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_passthrough_camera_state)"]
20453    pub type GetPassthroughCameraStateANDROID = unsafe extern "system" fn(
20454        session: Session,
20455        get_info: *const PassthroughCameraStateGetInfoANDROID,
20456        camera_state_output: *mut PassthroughCameraStateANDROID,
20457    ) -> Result;
20458    #[cfg(target_os = "android")]
20459    #[doc = "See [xrEnumerateSupportedTrackableTypesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSupportedTrackableTypesANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
20460    pub type EnumerateSupportedTrackableTypesANDROID = unsafe extern "system" fn(
20461        instance: Instance,
20462        system_id: SystemId,
20463        trackable_type_capacity_input: u32,
20464        trackable_type_count_output: *mut u32,
20465        trackable_types: *mut TrackableTypeANDROID,
20466    ) -> Result;
20467    #[cfg(target_os = "android")]
20468    #[doc = "See [xrEnumerateSupportedAnchorTrackableTypesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSupportedAnchorTrackableTypesANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
20469    pub type EnumerateSupportedAnchorTrackableTypesANDROID = unsafe extern "system" fn(
20470        instance: Instance,
20471        system_id: SystemId,
20472        trackable_type_capacity_input: u32,
20473        trackable_type_count_output: *mut u32,
20474        trackable_types: *mut TrackableTypeANDROID,
20475    )
20476        -> Result;
20477    #[cfg(target_os = "android")]
20478    #[doc = "See [xrCreateTrackableTrackerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateTrackableTrackerANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
20479    pub type CreateTrackableTrackerANDROID = unsafe extern "system" fn(
20480        session: Session,
20481        create_info: *const TrackableTrackerCreateInfoANDROID,
20482        trackable_tracker: *mut TrackableTrackerANDROID,
20483    ) -> Result;
20484    #[cfg(target_os = "android")]
20485    #[doc = "See [xrDestroyTrackableTrackerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyTrackableTrackerANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
20486    pub type DestroyTrackableTrackerANDROID =
20487        unsafe extern "system" fn(trackable_tracker: TrackableTrackerANDROID) -> Result;
20488    #[cfg(target_os = "android")]
20489    #[doc = "See [xrGetAllTrackablesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetAllTrackablesANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
20490    pub type GetAllTrackablesANDROID = unsafe extern "system" fn(
20491        trackable_tracker: TrackableTrackerANDROID,
20492        trackable_capacity_input: u32,
20493        trackable_count_output: *mut u32,
20494        trackables: *mut TrackableANDROID,
20495    ) -> Result;
20496    #[cfg(target_os = "android")]
20497    #[doc = "See [xrGetTrackablePlaneANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetTrackablePlaneANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
20498    pub type GetTrackablePlaneANDROID = unsafe extern "system" fn(
20499        trackable_tracker: TrackableTrackerANDROID,
20500        get_info: *const TrackableGetInfoANDROID,
20501        plane_output: *mut TrackablePlaneANDROID,
20502    ) -> Result;
20503    #[cfg(target_os = "android")]
20504    #[doc = "See [xrCreateAnchorSpaceANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateAnchorSpaceANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
20505    pub type CreateAnchorSpaceANDROID = unsafe extern "system" fn(
20506        session: Session,
20507        create_info: *const AnchorSpaceCreateInfoANDROID,
20508        anchor_output: *mut Space,
20509    ) -> Result;
20510    #[cfg(target_os = "android")]
20511    #[doc = "See [xrShareAnchorANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrShareAnchorANDROID) - defined by [XR_ANDROID_anchor_sharing_export](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_anchor_sharing_export)"]
20512    pub type ShareAnchorANDROID = unsafe extern "system" fn(
20513        session: Session,
20514        sharing_info: *const AnchorSharingInfoANDROID,
20515        anchor_token: *mut AnchorSharingTokenANDROID,
20516    ) -> Result;
20517    #[cfg(target_os = "android")]
20518    #[doc = "See [xrUnshareAnchorANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUnshareAnchorANDROID) - defined by [XR_ANDROID_anchor_sharing_export](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_anchor_sharing_export)"]
20519    pub type UnshareAnchorANDROID =
20520        unsafe extern "system" fn(session: Session, anchor: Space) -> Result;
20521    #[cfg(target_os = "android")]
20522    #[doc = "See [xrGetTrackableObjectANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetTrackableObjectANDROID) - defined by [XR_ANDROID_trackables_object](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_object)"]
20523    pub type GetTrackableObjectANDROID = unsafe extern "system" fn(
20524        tracker: TrackableTrackerANDROID,
20525        get_info: *const TrackableGetInfoANDROID,
20526        object_output: *mut TrackableObjectANDROID,
20527    ) -> Result;
20528    #[cfg(target_os = "android")]
20529    #[doc = "See [xrEnumerateRaycastSupportedTrackableTypesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateRaycastSupportedTrackableTypesANDROID) - defined by [XR_ANDROID_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_raycast)"]
20530    pub type EnumerateRaycastSupportedTrackableTypesANDROID = unsafe extern "system" fn(
20531        instance: Instance,
20532        system_id: SystemId,
20533        trackable_type_capacity_input: u32,
20534        trackable_type_count_output: *mut u32,
20535        trackable_types: *mut TrackableTypeANDROID,
20536    )
20537        -> Result;
20538    #[cfg(target_os = "android")]
20539    #[doc = "See [xrRaycastANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRaycastANDROID) - defined by [XR_ANDROID_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_raycast)"]
20540    pub type RaycastANDROID = unsafe extern "system" fn(
20541        session: Session,
20542        ray_info: *const RaycastInfoANDROID,
20543        results: *mut RaycastHitResultsANDROID,
20544    ) -> Result;
20545    #[cfg(target_os = "android")]
20546    #[doc = "See [xrGetTrackableMarkerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetTrackableMarkerANDROID) - defined by [XR_ANDROID_trackables_marker](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_marker)"]
20547    pub type GetTrackableMarkerANDROID = unsafe extern "system" fn(
20548        tracker: TrackableTrackerANDROID,
20549        get_info: *const TrackableGetInfoANDROID,
20550        marker_output: *mut TrackableMarkerANDROID,
20551    ) -> Result;
20552    #[cfg(target_os = "android")]
20553    #[doc = "See [xrEnumerateSupportedPersistenceAnchorTypesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSupportedPersistenceAnchorTypesANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
20554    pub type EnumerateSupportedPersistenceAnchorTypesANDROID = unsafe extern "system" fn(
20555        instance: Instance,
20556        system_id: SystemId,
20557        trackable_type_capacity_input: u32,
20558        trackable_type_count_output: *mut u32,
20559        trackable_types: *mut TrackableTypeANDROID,
20560    )
20561        -> Result;
20562    #[cfg(target_os = "android")]
20563    #[doc = "See [xrCreateDeviceAnchorPersistenceANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateDeviceAnchorPersistenceANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
20564    pub type CreateDeviceAnchorPersistenceANDROID = unsafe extern "system" fn(
20565        session: Session,
20566        create_info: *const DeviceAnchorPersistenceCreateInfoANDROID,
20567        out_handle: *mut DeviceAnchorPersistenceANDROID,
20568    ) -> Result;
20569    #[cfg(target_os = "android")]
20570    #[doc = "See [xrDestroyDeviceAnchorPersistenceANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyDeviceAnchorPersistenceANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
20571    pub type DestroyDeviceAnchorPersistenceANDROID =
20572        unsafe extern "system" fn(handle: DeviceAnchorPersistenceANDROID) -> Result;
20573    #[cfg(target_os = "android")]
20574    #[doc = "See [xrPersistAnchorANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPersistAnchorANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
20575    pub type PersistAnchorANDROID = unsafe extern "system" fn(
20576        handle: DeviceAnchorPersistenceANDROID,
20577        persisted_info: *const PersistedAnchorSpaceInfoANDROID,
20578        anchor_id_output: *mut UuidEXT,
20579    ) -> Result;
20580    #[cfg(target_os = "android")]
20581    #[doc = "See [xrGetAnchorPersistStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetAnchorPersistStateANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
20582    pub type GetAnchorPersistStateANDROID = unsafe extern "system" fn(
20583        handle: DeviceAnchorPersistenceANDROID,
20584        anchor_id: *const UuidEXT,
20585        persist_state: *mut AnchorPersistStateANDROID,
20586    ) -> Result;
20587    #[cfg(target_os = "android")]
20588    #[doc = "See [xrCreatePersistedAnchorSpaceANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreatePersistedAnchorSpaceANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
20589    pub type CreatePersistedAnchorSpaceANDROID = unsafe extern "system" fn(
20590        handle: DeviceAnchorPersistenceANDROID,
20591        create_info: *const PersistedAnchorSpaceCreateInfoANDROID,
20592        anchor_output: *mut Space,
20593    ) -> Result;
20594    #[cfg(target_os = "android")]
20595    #[doc = "See [xrEnumeratePersistedAnchorsANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumeratePersistedAnchorsANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
20596    pub type EnumeratePersistedAnchorsANDROID = unsafe extern "system" fn(
20597        handle: DeviceAnchorPersistenceANDROID,
20598        anchor_id_capacity_input: u32,
20599        anchor_id_count_output: *mut u32,
20600        anchor_ids: *mut UuidEXT,
20601    ) -> Result;
20602    #[cfg(target_os = "android")]
20603    #[doc = "See [xrUnpersistAnchorANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUnpersistAnchorANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
20604    pub type UnpersistAnchorANDROID = unsafe extern "system" fn(
20605        handle: DeviceAnchorPersistenceANDROID,
20606        anchor_id: *const UuidEXT,
20607    ) -> Result;
20608    #[doc = "See [xrCreatePlaneDetectorEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreatePlaneDetectorEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
20609    pub type CreatePlaneDetectorEXT = unsafe extern "system" fn(
20610        session: Session,
20611        create_info: *const PlaneDetectorCreateInfoEXT,
20612        plane_detector: *mut PlaneDetectorEXT,
20613    ) -> Result;
20614    #[doc = "See [xrDestroyPlaneDetectorEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyPlaneDetectorEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
20615    pub type DestroyPlaneDetectorEXT =
20616        unsafe extern "system" fn(plane_detector: PlaneDetectorEXT) -> Result;
20617    #[doc = "See [xrBeginPlaneDetectionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrBeginPlaneDetectionEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
20618    pub type BeginPlaneDetectionEXT = unsafe extern "system" fn(
20619        plane_detector: PlaneDetectorEXT,
20620        begin_info: *const PlaneDetectorBeginInfoEXT,
20621    ) -> Result;
20622    #[doc = "See [xrGetPlaneDetectionStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetPlaneDetectionStateEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
20623    pub type GetPlaneDetectionStateEXT = unsafe extern "system" fn(
20624        plane_detector: PlaneDetectorEXT,
20625        state: *mut PlaneDetectionStateEXT,
20626    ) -> Result;
20627    #[doc = "See [xrGetPlaneDetectionsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetPlaneDetectionsEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
20628    pub type GetPlaneDetectionsEXT = unsafe extern "system" fn(
20629        plane_detector: PlaneDetectorEXT,
20630        info: *const PlaneDetectorGetInfoEXT,
20631        locations: *mut PlaneDetectorLocationsEXT,
20632    ) -> Result;
20633    #[doc = "See [xrGetPlanePolygonBufferEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetPlanePolygonBufferEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
20634    pub type GetPlanePolygonBufferEXT = unsafe extern "system" fn(
20635        plane_detector: PlaneDetectorEXT,
20636        plane_id: u64,
20637        polygon_buffer_index: u32,
20638        polygon_buffer: *mut PlaneDetectorPolygonBufferEXT,
20639    ) -> Result;
20640    #[doc = "See [xrCreateVirtualKeyboardMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateVirtualKeyboardMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
20641    pub type CreateVirtualKeyboardMETA = unsafe extern "system" fn(
20642        session: Session,
20643        create_info: *const VirtualKeyboardCreateInfoMETA,
20644        keyboard: *mut VirtualKeyboardMETA,
20645    ) -> Result;
20646    #[doc = "See [xrDestroyVirtualKeyboardMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyVirtualKeyboardMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
20647    pub type DestroyVirtualKeyboardMETA =
20648        unsafe extern "system" fn(keyboard: VirtualKeyboardMETA) -> Result;
20649    #[doc = "See [xrCreateVirtualKeyboardSpaceMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateVirtualKeyboardSpaceMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
20650    pub type CreateVirtualKeyboardSpaceMETA = unsafe extern "system" fn(
20651        session: Session,
20652        keyboard: VirtualKeyboardMETA,
20653        create_info: *const VirtualKeyboardSpaceCreateInfoMETA,
20654        keyboard_space: *mut Space,
20655    ) -> Result;
20656    #[doc = "See [xrSuggestVirtualKeyboardLocationMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSuggestVirtualKeyboardLocationMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
20657    pub type SuggestVirtualKeyboardLocationMETA = unsafe extern "system" fn(
20658        keyboard: VirtualKeyboardMETA,
20659        location_info: *const VirtualKeyboardLocationInfoMETA,
20660    ) -> Result;
20661    #[doc = "See [xrGetVirtualKeyboardScaleMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVirtualKeyboardScaleMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
20662    pub type GetVirtualKeyboardScaleMETA =
20663        unsafe extern "system" fn(keyboard: VirtualKeyboardMETA, scale: *mut f32) -> Result;
20664    #[doc = "See [xrSetVirtualKeyboardModelVisibilityMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetVirtualKeyboardModelVisibilityMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
20665    pub type SetVirtualKeyboardModelVisibilityMETA = unsafe extern "system" fn(
20666        keyboard: VirtualKeyboardMETA,
20667        model_visibility: *const VirtualKeyboardModelVisibilitySetInfoMETA,
20668    ) -> Result;
20669    #[doc = "See [xrGetVirtualKeyboardModelAnimationStatesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVirtualKeyboardModelAnimationStatesMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
20670    pub type GetVirtualKeyboardModelAnimationStatesMETA = unsafe extern "system" fn(
20671        keyboard: VirtualKeyboardMETA,
20672        animation_states: *mut VirtualKeyboardModelAnimationStatesMETA,
20673    ) -> Result;
20674    #[doc = "See [xrGetVirtualKeyboardDirtyTexturesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVirtualKeyboardDirtyTexturesMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
20675    pub type GetVirtualKeyboardDirtyTexturesMETA = unsafe extern "system" fn(
20676        keyboard: VirtualKeyboardMETA,
20677        texture_id_capacity_input: u32,
20678        texture_id_count_output: *mut u32,
20679        texture_ids: *mut u64,
20680    ) -> Result;
20681    #[doc = "See [xrGetVirtualKeyboardTextureDataMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVirtualKeyboardTextureDataMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
20682    pub type GetVirtualKeyboardTextureDataMETA = unsafe extern "system" fn(
20683        keyboard: VirtualKeyboardMETA,
20684        texture_id: u64,
20685        texture_data: *mut VirtualKeyboardTextureDataMETA,
20686    ) -> Result;
20687    #[doc = "See [xrSendVirtualKeyboardInputMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSendVirtualKeyboardInputMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
20688    pub type SendVirtualKeyboardInputMETA = unsafe extern "system" fn(
20689        keyboard: VirtualKeyboardMETA,
20690        info: *const VirtualKeyboardInputInfoMETA,
20691        interactor_root_pose: *mut Posef,
20692    ) -> Result;
20693    #[doc = "See [xrChangeVirtualKeyboardTextContextMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrChangeVirtualKeyboardTextContextMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
20694    pub type ChangeVirtualKeyboardTextContextMETA = unsafe extern "system" fn(
20695        keyboard: VirtualKeyboardMETA,
20696        change_info: *const VirtualKeyboardTextContextChangeInfoMETA,
20697    ) -> Result;
20698    #[doc = "See [xrEnableUserCalibrationEventsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnableUserCalibrationEventsML) - defined by [XR_ML_user_calibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_user_calibration)"]
20699    pub type EnableUserCalibrationEventsML = unsafe extern "system" fn(
20700        instance: Instance,
20701        enable_info: *const UserCalibrationEnableEventsInfoML,
20702    ) -> Result;
20703    #[doc = "See [xrEnableLocalizationEventsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnableLocalizationEventsML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
20704    pub type EnableLocalizationEventsML = unsafe extern "system" fn(
20705        session: Session,
20706        info: *const LocalizationEnableEventsInfoML,
20707    ) -> Result;
20708    #[doc = "See [xrQueryLocalizationMapsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQueryLocalizationMapsML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
20709    pub type QueryLocalizationMapsML = unsafe extern "system" fn(
20710        session: Session,
20711        query_info: *const LocalizationMapQueryInfoBaseHeaderML,
20712        map_capacity_input: u32,
20713        map_count_output: *mut u32,
20714        maps: *mut LocalizationMapML,
20715    ) -> Result;
20716    #[doc = "See [xrRequestMapLocalizationML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRequestMapLocalizationML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
20717    pub type RequestMapLocalizationML = unsafe extern "system" fn(
20718        session: Session,
20719        request_info: *const MapLocalizationRequestInfoML,
20720    ) -> Result;
20721    #[doc = "See [xrImportLocalizationMapML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrImportLocalizationMapML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
20722    pub type ImportLocalizationMapML = unsafe extern "system" fn(
20723        session: Session,
20724        import_info: *const LocalizationMapImportInfoML,
20725        map_uuid: *mut UuidEXT,
20726    ) -> Result;
20727    #[doc = "See [xrCreateExportedLocalizationMapML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateExportedLocalizationMapML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
20728    pub type CreateExportedLocalizationMapML = unsafe extern "system" fn(
20729        session: Session,
20730        map_uuid: *const UuidEXT,
20731        map: *mut ExportedLocalizationMapML,
20732    ) -> Result;
20733    #[doc = "See [xrDestroyExportedLocalizationMapML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyExportedLocalizationMapML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
20734    pub type DestroyExportedLocalizationMapML =
20735        unsafe extern "system" fn(map: ExportedLocalizationMapML) -> Result;
20736    #[doc = "See [xrGetExportedLocalizationMapDataML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetExportedLocalizationMapDataML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
20737    pub type GetExportedLocalizationMapDataML = unsafe extern "system" fn(
20738        map: ExportedLocalizationMapML,
20739        buffer_capacity_input: u32,
20740        buffer_count_output: *mut u32,
20741        buffer: *mut c_char,
20742    ) -> Result;
20743    #[doc = "See [xrCreateMarkerDetectorML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateMarkerDetectorML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
20744    pub type CreateMarkerDetectorML = unsafe extern "system" fn(
20745        session: Session,
20746        create_info: *const MarkerDetectorCreateInfoML,
20747        marker_detector: *mut MarkerDetectorML,
20748    ) -> Result;
20749    #[doc = "See [xrDestroyMarkerDetectorML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyMarkerDetectorML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
20750    pub type DestroyMarkerDetectorML =
20751        unsafe extern "system" fn(marker_detector: MarkerDetectorML) -> Result;
20752    #[doc = "See [xrSnapshotMarkerDetectorML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSnapshotMarkerDetectorML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
20753    pub type SnapshotMarkerDetectorML = unsafe extern "system" fn(
20754        marker_detector: MarkerDetectorML,
20755        snapshot_info: *mut MarkerDetectorSnapshotInfoML,
20756    ) -> Result;
20757    #[doc = "See [xrGetMarkerDetectorStateML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetMarkerDetectorStateML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
20758    pub type GetMarkerDetectorStateML = unsafe extern "system" fn(
20759        marker_detector: MarkerDetectorML,
20760        state: *mut MarkerDetectorStateML,
20761    ) -> Result;
20762    #[doc = "See [xrGetMarkersML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetMarkersML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
20763    pub type GetMarkersML = unsafe extern "system" fn(
20764        marker_detector: MarkerDetectorML,
20765        marker_capacity_input: u32,
20766        marker_count_output: *mut u32,
20767        markers: *mut MarkerML,
20768    ) -> Result;
20769    #[doc = "See [xrGetMarkerReprojectionErrorML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetMarkerReprojectionErrorML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
20770    pub type GetMarkerReprojectionErrorML = unsafe extern "system" fn(
20771        marker_detector: MarkerDetectorML,
20772        marker: MarkerML,
20773        reprojection_error_meters: *mut f32,
20774    ) -> Result;
20775    #[doc = "See [xrGetMarkerLengthML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetMarkerLengthML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
20776    pub type GetMarkerLengthML = unsafe extern "system" fn(
20777        marker_detector: MarkerDetectorML,
20778        marker: MarkerML,
20779        meters: *mut f32,
20780    ) -> Result;
20781    #[doc = "See [xrGetMarkerNumberML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetMarkerNumberML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
20782    pub type GetMarkerNumberML = unsafe extern "system" fn(
20783        marker_detector: MarkerDetectorML,
20784        marker: MarkerML,
20785        number: *mut u64,
20786    ) -> Result;
20787    #[doc = "See [xrGetMarkerStringML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetMarkerStringML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
20788    pub type GetMarkerStringML = unsafe extern "system" fn(
20789        marker_detector: MarkerDetectorML,
20790        marker: MarkerML,
20791        buffer_capacity_input: u32,
20792        buffer_count_output: *mut u32,
20793        buffer: *mut c_char,
20794    ) -> Result;
20795    #[doc = "See [xrCreateMarkerSpaceML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateMarkerSpaceML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
20796    pub type CreateMarkerSpaceML = unsafe extern "system" fn(
20797        session: Session,
20798        create_info: *const MarkerSpaceCreateInfoML,
20799        space: *mut Space,
20800    ) -> Result;
20801    #[doc = "See [xrPollFutureEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPollFutureEXT) - defined by [XR_EXT_future](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_future)"]
20802    pub type PollFutureEXT = unsafe extern "system" fn(
20803        instance: Instance,
20804        poll_info: *const FuturePollInfoEXT,
20805        poll_result: *mut FuturePollResultEXT,
20806    ) -> Result;
20807    #[doc = "See [xrCancelFutureEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCancelFutureEXT) - defined by [XR_EXT_future](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_future)"]
20808    pub type CancelFutureEXT = unsafe extern "system" fn(
20809        instance: Instance,
20810        cancel_info: *const FutureCancelInfoEXT,
20811    ) -> Result;
20812    #[doc = "See [xrCreateEnvironmentDepthProviderMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateEnvironmentDepthProviderMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
20813    pub type CreateEnvironmentDepthProviderMETA = unsafe extern "system" fn(
20814        session: Session,
20815        create_info: *const EnvironmentDepthProviderCreateInfoMETA,
20816        environment_depth_provider: *mut EnvironmentDepthProviderMETA,
20817    ) -> Result;
20818    #[doc = "See [xrDestroyEnvironmentDepthProviderMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyEnvironmentDepthProviderMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
20819    pub type DestroyEnvironmentDepthProviderMETA = unsafe extern "system" fn(
20820        environment_depth_provider: EnvironmentDepthProviderMETA,
20821    ) -> Result;
20822    #[doc = "See [xrStartEnvironmentDepthProviderMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStartEnvironmentDepthProviderMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
20823    pub type StartEnvironmentDepthProviderMETA = unsafe extern "system" fn(
20824        environment_depth_provider: EnvironmentDepthProviderMETA,
20825    ) -> Result;
20826    #[doc = "See [xrStopEnvironmentDepthProviderMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStopEnvironmentDepthProviderMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
20827    pub type StopEnvironmentDepthProviderMETA = unsafe extern "system" fn(
20828        environment_depth_provider: EnvironmentDepthProviderMETA,
20829    ) -> Result;
20830    #[doc = "See [xrCreateEnvironmentDepthSwapchainMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateEnvironmentDepthSwapchainMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
20831    pub type CreateEnvironmentDepthSwapchainMETA = unsafe extern "system" fn(
20832        environment_depth_provider: EnvironmentDepthProviderMETA,
20833        create_info: *const EnvironmentDepthSwapchainCreateInfoMETA,
20834        swapchain: *mut EnvironmentDepthSwapchainMETA,
20835    ) -> Result;
20836    #[doc = "See [xrDestroyEnvironmentDepthSwapchainMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyEnvironmentDepthSwapchainMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
20837    pub type DestroyEnvironmentDepthSwapchainMETA =
20838        unsafe extern "system" fn(swapchain: EnvironmentDepthSwapchainMETA) -> Result;
20839    #[doc = "See [xrEnumerateEnvironmentDepthSwapchainImagesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateEnvironmentDepthSwapchainImagesMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
20840    pub type EnumerateEnvironmentDepthSwapchainImagesMETA = unsafe extern "system" fn(
20841        swapchain: EnvironmentDepthSwapchainMETA,
20842        image_capacity_input: u32,
20843        image_count_output: *mut u32,
20844        images: *mut SwapchainImageBaseHeader,
20845    )
20846        -> Result;
20847    #[doc = "See [xrGetEnvironmentDepthSwapchainStateMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetEnvironmentDepthSwapchainStateMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
20848    pub type GetEnvironmentDepthSwapchainStateMETA = unsafe extern "system" fn(
20849        swapchain: EnvironmentDepthSwapchainMETA,
20850        state: *mut EnvironmentDepthSwapchainStateMETA,
20851    ) -> Result;
20852    #[doc = "See [xrAcquireEnvironmentDepthImageMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrAcquireEnvironmentDepthImageMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
20853    pub type AcquireEnvironmentDepthImageMETA = unsafe extern "system" fn(
20854        environment_depth_provider: EnvironmentDepthProviderMETA,
20855        acquire_info: *const EnvironmentDepthImageAcquireInfoMETA,
20856        environment_depth_image: *mut EnvironmentDepthImageMETA,
20857    ) -> Result;
20858    #[doc = "See [xrSetEnvironmentDepthHandRemovalMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetEnvironmentDepthHandRemovalMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
20859    pub type SetEnvironmentDepthHandRemovalMETA = unsafe extern "system" fn(
20860        environment_depth_provider: EnvironmentDepthProviderMETA,
20861        set_info: *const EnvironmentDepthHandRemovalSetInfoMETA,
20862    ) -> Result;
20863    #[doc = "See [xrCreateFacialExpressionClientML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateFacialExpressionClientML) - defined by [XR_ML_facial_expression](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_facial_expression)"]
20864    pub type CreateFacialExpressionClientML = unsafe extern "system" fn(
20865        session: Session,
20866        create_info: *const FacialExpressionClientCreateInfoML,
20867        facial_expression_client: *mut FacialExpressionClientML,
20868    ) -> Result;
20869    #[doc = "See [xrDestroyFacialExpressionClientML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyFacialExpressionClientML) - defined by [XR_ML_facial_expression](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_facial_expression)"]
20870    pub type DestroyFacialExpressionClientML =
20871        unsafe extern "system" fn(facial_expression_client: FacialExpressionClientML) -> Result;
20872    #[doc = "See [xrGetFacialExpressionBlendShapePropertiesML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetFacialExpressionBlendShapePropertiesML) - defined by [XR_ML_facial_expression](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_facial_expression)"]
20873    pub type GetFacialExpressionBlendShapePropertiesML = unsafe extern "system" fn(
20874        facial_expression_client: FacialExpressionClientML,
20875        blend_shape_get_info: *const FacialExpressionBlendShapeGetInfoML,
20876        blend_shape_count: u32,
20877        blend_shapes: *mut FacialExpressionBlendShapePropertiesML,
20878    ) -> Result;
20879    #[doc = "See [xrLocateSpaces](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLocateSpaces)"]
20880    pub type LocateSpaces = unsafe extern "system" fn(
20881        session: Session,
20882        locate_info: *const SpacesLocateInfo,
20883        space_locations: *mut SpaceLocations,
20884    ) -> Result;
20885    #[doc = "See [xrEnumerateSpatialCapabilitiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSpatialCapabilitiesEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20886    pub type EnumerateSpatialCapabilitiesEXT = unsafe extern "system" fn(
20887        instance: Instance,
20888        system_id: SystemId,
20889        capability_capacity_input: u32,
20890        capability_count_output: *mut u32,
20891        capabilities: *mut SpatialCapabilityEXT,
20892    ) -> Result;
20893    #[doc = "See [xrEnumerateSpatialCapabilityComponentTypesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSpatialCapabilityComponentTypesEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20894    pub type EnumerateSpatialCapabilityComponentTypesEXT = unsafe extern "system" fn(
20895        instance: Instance,
20896        system_id: SystemId,
20897        capability: SpatialCapabilityEXT,
20898        capability_components: *mut SpatialCapabilityComponentTypesEXT,
20899    ) -> Result;
20900    #[doc = "See [xrEnumerateSpatialCapabilityFeaturesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSpatialCapabilityFeaturesEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20901    pub type EnumerateSpatialCapabilityFeaturesEXT = unsafe extern "system" fn(
20902        instance: Instance,
20903        system_id: SystemId,
20904        capability: SpatialCapabilityEXT,
20905        capability_feature_capacity_input: u32,
20906        capability_feature_count_output: *mut u32,
20907        capability_features: *mut SpatialCapabilityFeatureEXT,
20908    ) -> Result;
20909    #[doc = "See [xrCreateSpatialContextAsyncEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialContextAsyncEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20910    pub type CreateSpatialContextAsyncEXT = unsafe extern "system" fn(
20911        session: Session,
20912        create_info: *const SpatialContextCreateInfoEXT,
20913        future: *mut FutureEXT,
20914    ) -> Result;
20915    #[doc = "See [xrCreateSpatialContextCompleteEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialContextCompleteEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20916    pub type CreateSpatialContextCompleteEXT = unsafe extern "system" fn(
20917        session: Session,
20918        future: FutureEXT,
20919        completion: *mut CreateSpatialContextCompletionEXT,
20920    ) -> Result;
20921    #[doc = "See [xrDestroySpatialContextEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpatialContextEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20922    pub type DestroySpatialContextEXT =
20923        unsafe extern "system" fn(spatial_context: SpatialContextEXT) -> Result;
20924    #[doc = "See [xrCreateSpatialDiscoverySnapshotAsyncEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialDiscoverySnapshotAsyncEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20925    pub type CreateSpatialDiscoverySnapshotAsyncEXT = unsafe extern "system" fn(
20926        spatial_context: SpatialContextEXT,
20927        create_info: *const SpatialDiscoverySnapshotCreateInfoEXT,
20928        future: *mut FutureEXT,
20929    ) -> Result;
20930    #[doc = "See [xrCreateSpatialDiscoverySnapshotCompleteEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialDiscoverySnapshotCompleteEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20931    pub type CreateSpatialDiscoverySnapshotCompleteEXT = unsafe extern "system" fn(
20932        spatial_context: SpatialContextEXT,
20933        create_snapshot_completion_info: *const CreateSpatialDiscoverySnapshotCompletionInfoEXT,
20934        completion: *mut CreateSpatialDiscoverySnapshotCompletionEXT,
20935    ) -> Result;
20936    #[doc = "See [xrQuerySpatialComponentDataEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQuerySpatialComponentDataEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20937    pub type QuerySpatialComponentDataEXT = unsafe extern "system" fn(
20938        snapshot: SpatialSnapshotEXT,
20939        query_condition: *const SpatialComponentDataQueryConditionEXT,
20940        query_result: *mut SpatialComponentDataQueryResultEXT,
20941    ) -> Result;
20942    #[doc = "See [xrDestroySpatialSnapshotEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpatialSnapshotEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20943    pub type DestroySpatialSnapshotEXT =
20944        unsafe extern "system" fn(snapshot: SpatialSnapshotEXT) -> Result;
20945    #[doc = "See [xrCreateSpatialEntityFromIdEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialEntityFromIdEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20946    pub type CreateSpatialEntityFromIdEXT = unsafe extern "system" fn(
20947        spatial_context: SpatialContextEXT,
20948        create_info: *const SpatialEntityFromIdCreateInfoEXT,
20949        spatial_entity: *mut SpatialEntityEXT,
20950    ) -> Result;
20951    #[doc = "See [xrDestroySpatialEntityEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpatialEntityEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20952    pub type DestroySpatialEntityEXT =
20953        unsafe extern "system" fn(spatial_entity: SpatialEntityEXT) -> Result;
20954    #[doc = "See [xrCreateSpatialUpdateSnapshotEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialUpdateSnapshotEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20955    pub type CreateSpatialUpdateSnapshotEXT = unsafe extern "system" fn(
20956        spatial_context: SpatialContextEXT,
20957        create_info: *const SpatialUpdateSnapshotCreateInfoEXT,
20958        snapshot: *mut SpatialSnapshotEXT,
20959    ) -> Result;
20960    #[doc = "See [xrGetSpatialBufferStringEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialBufferStringEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20961    pub type GetSpatialBufferStringEXT = unsafe extern "system" fn(
20962        snapshot: SpatialSnapshotEXT,
20963        info: *const SpatialBufferGetInfoEXT,
20964        buffer_capacity_input: u32,
20965        buffer_count_output: *mut u32,
20966        buffer: *mut c_char,
20967    ) -> Result;
20968    #[doc = "See [xrGetSpatialBufferUint8EXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialBufferUint8EXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20969    pub type GetSpatialBufferUint8EXT = unsafe extern "system" fn(
20970        snapshot: SpatialSnapshotEXT,
20971        info: *const SpatialBufferGetInfoEXT,
20972        buffer_capacity_input: u32,
20973        buffer_count_output: *mut u32,
20974        buffer: *mut u8,
20975    ) -> Result;
20976    #[doc = "See [xrGetSpatialBufferUint16EXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialBufferUint16EXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20977    pub type GetSpatialBufferUint16EXT = unsafe extern "system" fn(
20978        snapshot: SpatialSnapshotEXT,
20979        info: *const SpatialBufferGetInfoEXT,
20980        buffer_capacity_input: u32,
20981        buffer_count_output: *mut u32,
20982        buffer: *mut u16,
20983    ) -> Result;
20984    #[doc = "See [xrGetSpatialBufferUint32EXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialBufferUint32EXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20985    pub type GetSpatialBufferUint32EXT = unsafe extern "system" fn(
20986        snapshot: SpatialSnapshotEXT,
20987        info: *const SpatialBufferGetInfoEXT,
20988        buffer_capacity_input: u32,
20989        buffer_count_output: *mut u32,
20990        buffer: *mut u32,
20991    ) -> Result;
20992    #[doc = "See [xrGetSpatialBufferFloatEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialBufferFloatEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20993    pub type GetSpatialBufferFloatEXT = unsafe extern "system" fn(
20994        snapshot: SpatialSnapshotEXT,
20995        info: *const SpatialBufferGetInfoEXT,
20996        buffer_capacity_input: u32,
20997        buffer_count_output: *mut u32,
20998        buffer: *mut f32,
20999    ) -> Result;
21000    #[doc = "See [xrGetSpatialBufferVector2fEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialBufferVector2fEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
21001    pub type GetSpatialBufferVector2fEXT = unsafe extern "system" fn(
21002        snapshot: SpatialSnapshotEXT,
21003        info: *const SpatialBufferGetInfoEXT,
21004        buffer_capacity_input: u32,
21005        buffer_count_output: *mut u32,
21006        buffer: *mut Vector2f,
21007    ) -> Result;
21008    #[doc = "See [xrGetSpatialBufferVector3fEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialBufferVector3fEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
21009    pub type GetSpatialBufferVector3fEXT = unsafe extern "system" fn(
21010        snapshot: SpatialSnapshotEXT,
21011        info: *const SpatialBufferGetInfoEXT,
21012        buffer_capacity_input: u32,
21013        buffer_count_output: *mut u32,
21014        buffer: *mut Vector3f,
21015    ) -> Result;
21016    #[doc = "See [xrCreateSpatialAnchorEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorEXT) - defined by [XR_EXT_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_anchor)"]
21017    pub type CreateSpatialAnchorEXT = unsafe extern "system" fn(
21018        spatial_context: SpatialContextEXT,
21019        create_info: *const SpatialAnchorCreateInfoEXT,
21020        anchor_entity_id: *mut SpatialEntityIdEXT,
21021        anchor_entity: *mut SpatialEntityEXT,
21022    ) -> Result;
21023    #[doc = "See [xrEnumerateSpatialPersistenceScopesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSpatialPersistenceScopesEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
21024    pub type EnumerateSpatialPersistenceScopesEXT = unsafe extern "system" fn(
21025        instance: Instance,
21026        system_id: SystemId,
21027        persistence_scope_capacity_input: u32,
21028        persistence_scope_count_output: *mut u32,
21029        persistence_scopes: *mut SpatialPersistenceScopeEXT,
21030    ) -> Result;
21031    #[doc = "See [xrCreateSpatialPersistenceContextAsyncEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialPersistenceContextAsyncEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
21032    pub type CreateSpatialPersistenceContextAsyncEXT = unsafe extern "system" fn(
21033        session: Session,
21034        create_info: *const SpatialPersistenceContextCreateInfoEXT,
21035        future: *mut FutureEXT,
21036    ) -> Result;
21037    #[doc = "See [xrCreateSpatialPersistenceContextCompleteEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialPersistenceContextCompleteEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
21038    pub type CreateSpatialPersistenceContextCompleteEXT = unsafe extern "system" fn(
21039        session: Session,
21040        future: FutureEXT,
21041        completion: *mut CreateSpatialPersistenceContextCompletionEXT,
21042    ) -> Result;
21043    #[doc = "See [xrDestroySpatialPersistenceContextEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpatialPersistenceContextEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
21044    pub type DestroySpatialPersistenceContextEXT =
21045        unsafe extern "system" fn(persistence_context: SpatialPersistenceContextEXT) -> Result;
21046    #[doc = "See [xrPersistSpatialEntityAsyncEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPersistSpatialEntityAsyncEXT) - defined by [XR_EXT_spatial_persistence_operations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence_operations)"]
21047    pub type PersistSpatialEntityAsyncEXT = unsafe extern "system" fn(
21048        persistence_context: SpatialPersistenceContextEXT,
21049        persist_info: *const SpatialEntityPersistInfoEXT,
21050        future: *mut FutureEXT,
21051    ) -> Result;
21052    #[doc = "See [xrPersistSpatialEntityCompleteEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPersistSpatialEntityCompleteEXT) - defined by [XR_EXT_spatial_persistence_operations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence_operations)"]
21053    pub type PersistSpatialEntityCompleteEXT = unsafe extern "system" fn(
21054        persistence_context: SpatialPersistenceContextEXT,
21055        future: FutureEXT,
21056        completion: *mut PersistSpatialEntityCompletionEXT,
21057    ) -> Result;
21058    #[doc = "See [xrUnpersistSpatialEntityAsyncEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUnpersistSpatialEntityAsyncEXT) - defined by [XR_EXT_spatial_persistence_operations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence_operations)"]
21059    pub type UnpersistSpatialEntityAsyncEXT = unsafe extern "system" fn(
21060        persistence_context: SpatialPersistenceContextEXT,
21061        unpersist_info: *const SpatialEntityUnpersistInfoEXT,
21062        future: *mut FutureEXT,
21063    ) -> Result;
21064    #[doc = "See [xrUnpersistSpatialEntityCompleteEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUnpersistSpatialEntityCompleteEXT) - defined by [XR_EXT_spatial_persistence_operations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence_operations)"]
21065    pub type UnpersistSpatialEntityCompleteEXT = unsafe extern "system" fn(
21066        persistence_context: SpatialPersistenceContextEXT,
21067        future: FutureEXT,
21068        completion: *mut UnpersistSpatialEntityCompletionEXT,
21069    ) -> Result;
21070    #[doc = "See [xrSetSystemNotificationsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetSystemNotificationsML) - defined by [XR_ML_system_notifications](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_system_notifications)"]
21071    pub type SetSystemNotificationsML = unsafe extern "system" fn(
21072        instance: Instance,
21073        info: *const SystemNotificationsSetInfoML,
21074    ) -> Result;
21075    #[doc = "See [xrCreateSpatialAnchorsAsyncML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorsAsyncML) - defined by [XR_ML_spatial_anchors](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors)"]
21076    pub type CreateSpatialAnchorsAsyncML = unsafe extern "system" fn(
21077        session: Session,
21078        create_info: *const SpatialAnchorsCreateInfoBaseHeaderML,
21079        future: *mut FutureEXT,
21080    ) -> Result;
21081    #[doc = "See [xrCreateSpatialAnchorsCompleteML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorsCompleteML) - defined by [XR_ML_spatial_anchors](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors)"]
21082    pub type CreateSpatialAnchorsCompleteML = unsafe extern "system" fn(
21083        session: Session,
21084        future: FutureEXT,
21085        completion: *mut CreateSpatialAnchorsCompletionML,
21086    ) -> Result;
21087    #[doc = "See [xrGetSpatialAnchorStateML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialAnchorStateML) - defined by [XR_ML_spatial_anchors](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors)"]
21088    pub type GetSpatialAnchorStateML =
21089        unsafe extern "system" fn(anchor: Space, state: *mut SpatialAnchorStateML) -> Result;
21090    #[doc = "See [xrCreateSpatialAnchorsStorageML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorsStorageML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
21091    pub type CreateSpatialAnchorsStorageML = unsafe extern "system" fn(
21092        session: Session,
21093        create_info: *const SpatialAnchorsCreateStorageInfoML,
21094        storage: *mut SpatialAnchorsStorageML,
21095    ) -> Result;
21096    #[doc = "See [xrDestroySpatialAnchorsStorageML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpatialAnchorsStorageML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
21097    pub type DestroySpatialAnchorsStorageML =
21098        unsafe extern "system" fn(storage: SpatialAnchorsStorageML) -> Result;
21099    #[doc = "See [xrQuerySpatialAnchorsAsyncML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQuerySpatialAnchorsAsyncML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
21100    pub type QuerySpatialAnchorsAsyncML = unsafe extern "system" fn(
21101        storage: SpatialAnchorsStorageML,
21102        query_info: *const SpatialAnchorsQueryInfoBaseHeaderML,
21103        future: *mut FutureEXT,
21104    ) -> Result;
21105    #[doc = "See [xrQuerySpatialAnchorsCompleteML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQuerySpatialAnchorsCompleteML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
21106    pub type QuerySpatialAnchorsCompleteML = unsafe extern "system" fn(
21107        storage: SpatialAnchorsStorageML,
21108        future: FutureEXT,
21109        completion: *mut SpatialAnchorsQueryCompletionML,
21110    ) -> Result;
21111    #[doc = "See [xrPublishSpatialAnchorsAsyncML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPublishSpatialAnchorsAsyncML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
21112    pub type PublishSpatialAnchorsAsyncML = unsafe extern "system" fn(
21113        storage: SpatialAnchorsStorageML,
21114        publish_info: *const SpatialAnchorsPublishInfoML,
21115        future: *mut FutureEXT,
21116    ) -> Result;
21117    #[doc = "See [xrPublishSpatialAnchorsCompleteML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPublishSpatialAnchorsCompleteML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
21118    pub type PublishSpatialAnchorsCompleteML = unsafe extern "system" fn(
21119        storage: SpatialAnchorsStorageML,
21120        future: FutureEXT,
21121        completion: *mut SpatialAnchorsPublishCompletionML,
21122    ) -> Result;
21123    #[doc = "See [xrDeleteSpatialAnchorsAsyncML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDeleteSpatialAnchorsAsyncML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
21124    pub type DeleteSpatialAnchorsAsyncML = unsafe extern "system" fn(
21125        storage: SpatialAnchorsStorageML,
21126        delete_info: *const SpatialAnchorsDeleteInfoML,
21127        future: *mut FutureEXT,
21128    ) -> Result;
21129    #[doc = "See [xrDeleteSpatialAnchorsCompleteML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDeleteSpatialAnchorsCompleteML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
21130    pub type DeleteSpatialAnchorsCompleteML = unsafe extern "system" fn(
21131        storage: SpatialAnchorsStorageML,
21132        future: FutureEXT,
21133        completion: *mut SpatialAnchorsDeleteCompletionML,
21134    ) -> Result;
21135    #[doc = "See [xrUpdateSpatialAnchorsExpirationAsyncML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUpdateSpatialAnchorsExpirationAsyncML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
21136    pub type UpdateSpatialAnchorsExpirationAsyncML = unsafe extern "system" fn(
21137        storage: SpatialAnchorsStorageML,
21138        update_info: *const SpatialAnchorsUpdateExpirationInfoML,
21139        future: *mut FutureEXT,
21140    ) -> Result;
21141    #[doc = "See [xrUpdateSpatialAnchorsExpirationCompleteML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUpdateSpatialAnchorsExpirationCompleteML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
21142    pub type UpdateSpatialAnchorsExpirationCompleteML = unsafe extern "system" fn(
21143        storage: SpatialAnchorsStorageML,
21144        future: FutureEXT,
21145        completion: *mut SpatialAnchorsUpdateExpirationCompletionML,
21146    ) -> Result;
21147    #[doc = "See [xrCreateWorldMeshDetectorML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateWorldMeshDetectorML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
21148    pub type CreateWorldMeshDetectorML = unsafe extern "system" fn(
21149        session: Session,
21150        create_info: *const WorldMeshDetectorCreateInfoML,
21151        detector: *mut WorldMeshDetectorML,
21152    ) -> Result;
21153    #[doc = "See [xrDestroyWorldMeshDetectorML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyWorldMeshDetectorML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
21154    pub type DestroyWorldMeshDetectorML =
21155        unsafe extern "system" fn(detector: WorldMeshDetectorML) -> Result;
21156    #[doc = "See [xrRequestWorldMeshStateAsyncML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRequestWorldMeshStateAsyncML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
21157    pub type RequestWorldMeshStateAsyncML = unsafe extern "system" fn(
21158        detector: WorldMeshDetectorML,
21159        state_request: *const WorldMeshStateRequestInfoML,
21160        future: *mut FutureEXT,
21161    ) -> Result;
21162    #[doc = "See [xrRequestWorldMeshStateCompleteML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRequestWorldMeshStateCompleteML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
21163    pub type RequestWorldMeshStateCompleteML = unsafe extern "system" fn(
21164        detector: WorldMeshDetectorML,
21165        future: FutureEXT,
21166        completion: *mut WorldMeshStateRequestCompletionML,
21167    ) -> Result;
21168    #[doc = "See [xrGetWorldMeshBufferRecommendSizeML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetWorldMeshBufferRecommendSizeML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
21169    pub type GetWorldMeshBufferRecommendSizeML = unsafe extern "system" fn(
21170        detector: WorldMeshDetectorML,
21171        size_info: *const WorldMeshBufferRecommendedSizeInfoML,
21172        size: *mut WorldMeshBufferSizeML,
21173    ) -> Result;
21174    #[doc = "See [xrAllocateWorldMeshBufferML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrAllocateWorldMeshBufferML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
21175    pub type AllocateWorldMeshBufferML = unsafe extern "system" fn(
21176        detector: WorldMeshDetectorML,
21177        size: *const WorldMeshBufferSizeML,
21178        buffer: *mut WorldMeshBufferML,
21179    ) -> Result;
21180    #[doc = "See [xrFreeWorldMeshBufferML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrFreeWorldMeshBufferML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
21181    pub type FreeWorldMeshBufferML = unsafe extern "system" fn(
21182        detector: WorldMeshDetectorML,
21183        buffer: *const WorldMeshBufferML,
21184    ) -> Result;
21185    #[doc = "See [xrRequestWorldMeshAsyncML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRequestWorldMeshAsyncML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
21186    pub type RequestWorldMeshAsyncML = unsafe extern "system" fn(
21187        detector: WorldMeshDetectorML,
21188        get_info: *const WorldMeshGetInfoML,
21189        buffer: *mut WorldMeshBufferML,
21190        future: *mut FutureEXT,
21191    ) -> Result;
21192    #[doc = "See [xrRequestWorldMeshCompleteML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRequestWorldMeshCompleteML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
21193    pub type RequestWorldMeshCompleteML = unsafe extern "system" fn(
21194        detector: WorldMeshDetectorML,
21195        completion_info: *const WorldMeshRequestCompletionInfoML,
21196        future: FutureEXT,
21197        completion: *mut WorldMeshRequestCompletionML,
21198    ) -> Result;
21199    #[doc = "See [xrCreateRenderModelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateRenderModelEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
21200    pub type CreateRenderModelEXT = unsafe extern "system" fn(
21201        session: Session,
21202        create_info: *const RenderModelCreateInfoEXT,
21203        render_model: *mut RenderModelEXT,
21204    ) -> Result;
21205    #[doc = "See [xrDestroyRenderModelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyRenderModelEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
21206    pub type DestroyRenderModelEXT =
21207        unsafe extern "system" fn(render_model: RenderModelEXT) -> Result;
21208    #[doc = "See [xrGetRenderModelPropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetRenderModelPropertiesEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
21209    pub type GetRenderModelPropertiesEXT = unsafe extern "system" fn(
21210        render_model: RenderModelEXT,
21211        get_info: *const RenderModelPropertiesGetInfoEXT,
21212        properties: *mut RenderModelPropertiesEXT,
21213    ) -> Result;
21214    #[doc = "See [xrCreateRenderModelSpaceEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateRenderModelSpaceEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
21215    pub type CreateRenderModelSpaceEXT = unsafe extern "system" fn(
21216        session: Session,
21217        create_info: *const RenderModelSpaceCreateInfoEXT,
21218        space: *mut Space,
21219    ) -> Result;
21220    #[doc = "See [xrCreateRenderModelAssetEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateRenderModelAssetEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
21221    pub type CreateRenderModelAssetEXT = unsafe extern "system" fn(
21222        session: Session,
21223        create_info: *const RenderModelAssetCreateInfoEXT,
21224        asset: *mut RenderModelAssetEXT,
21225    ) -> Result;
21226    #[doc = "See [xrDestroyRenderModelAssetEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyRenderModelAssetEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
21227    pub type DestroyRenderModelAssetEXT =
21228        unsafe extern "system" fn(asset: RenderModelAssetEXT) -> Result;
21229    #[doc = "See [xrGetRenderModelAssetDataEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetRenderModelAssetDataEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
21230    pub type GetRenderModelAssetDataEXT = unsafe extern "system" fn(
21231        asset: RenderModelAssetEXT,
21232        get_info: *const RenderModelAssetDataGetInfoEXT,
21233        buffer: *mut RenderModelAssetDataEXT,
21234    ) -> Result;
21235    #[doc = "See [xrGetRenderModelAssetPropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetRenderModelAssetPropertiesEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
21236    pub type GetRenderModelAssetPropertiesEXT = unsafe extern "system" fn(
21237        asset: RenderModelAssetEXT,
21238        get_info: *const RenderModelAssetPropertiesGetInfoEXT,
21239        properties: *mut RenderModelAssetPropertiesEXT,
21240    ) -> Result;
21241    #[doc = "See [xrGetRenderModelStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetRenderModelStateEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
21242    pub type GetRenderModelStateEXT = unsafe extern "system" fn(
21243        render_model: RenderModelEXT,
21244        get_info: *const RenderModelStateGetInfoEXT,
21245        state: *mut RenderModelStateEXT,
21246    ) -> Result;
21247    #[doc = "See [xrEnumerateInteractionRenderModelIdsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateInteractionRenderModelIdsEXT) - defined by [XR_EXT_interaction_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_interaction_render_model)"]
21248    pub type EnumerateInteractionRenderModelIdsEXT = unsafe extern "system" fn(
21249        session: Session,
21250        get_info: *const InteractionRenderModelIdsEnumerateInfoEXT,
21251        render_model_id_capacity_input: u32,
21252        render_model_id_count_output: *mut u32,
21253        render_model_ids: *mut RenderModelIdEXT,
21254    ) -> Result;
21255    #[doc = "See [xrEnumerateRenderModelSubactionPathsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateRenderModelSubactionPathsEXT) - defined by [XR_EXT_interaction_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_interaction_render_model)"]
21256    pub type EnumerateRenderModelSubactionPathsEXT = unsafe extern "system" fn(
21257        render_model: RenderModelEXT,
21258        info: *const InteractionRenderModelSubactionPathInfoEXT,
21259        path_capacity_input: u32,
21260        path_count_output: *mut u32,
21261        paths: *mut Path,
21262    ) -> Result;
21263    #[doc = "See [xrGetRenderModelPoseTopLevelUserPathEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetRenderModelPoseTopLevelUserPathEXT) - defined by [XR_EXT_interaction_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_interaction_render_model)"]
21264    pub type GetRenderModelPoseTopLevelUserPathEXT = unsafe extern "system" fn(
21265        render_model: RenderModelEXT,
21266        info: *const InteractionRenderModelTopLevelUserPathGetInfoEXT,
21267        top_level_user_path: *mut Path,
21268    ) -> Result;
21269    #[doc = "See [xrGetSpatialEntityUuidBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialEntityUuidBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21270    pub type GetSpatialEntityUuidBD = unsafe extern "system" fn(
21271        snapshot: SenseDataSnapshotBD,
21272        entity_id: SpatialEntityIdBD,
21273        uuid: *mut UuidEXT,
21274    ) -> Result;
21275    #[doc = "See [xrEnumerateSpatialEntityComponentTypesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSpatialEntityComponentTypesBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21276    pub type EnumerateSpatialEntityComponentTypesBD = unsafe extern "system" fn(
21277        snapshot: SenseDataSnapshotBD,
21278        entity_id: SpatialEntityIdBD,
21279        component_type_capacity_input: u32,
21280        component_type_count_output: *mut u32,
21281        component_types: *mut SpatialEntityComponentTypeBD,
21282    ) -> Result;
21283    #[doc = "See [xrGetSpatialEntityComponentDataBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialEntityComponentDataBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21284    pub type GetSpatialEntityComponentDataBD = unsafe extern "system" fn(
21285        snapshot: SenseDataSnapshotBD,
21286        get_info: *const SpatialEntityComponentGetInfoBD,
21287        component_data: *mut SpatialEntityComponentDataBaseHeaderBD,
21288    ) -> Result;
21289    #[doc = "See [xrCreateSenseDataProviderBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSenseDataProviderBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21290    pub type CreateSenseDataProviderBD = unsafe extern "system" fn(
21291        session: Session,
21292        create_info: *const SenseDataProviderCreateInfoBD,
21293        provider: *mut SenseDataProviderBD,
21294    ) -> Result;
21295    #[doc = "See [xrStartSenseDataProviderAsyncBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStartSenseDataProviderAsyncBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21296    pub type StartSenseDataProviderAsyncBD = unsafe extern "system" fn(
21297        provider: SenseDataProviderBD,
21298        start_info: *const SenseDataProviderStartInfoBD,
21299        future: *mut FutureEXT,
21300    ) -> Result;
21301    #[doc = "See [xrStartSenseDataProviderCompleteBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStartSenseDataProviderCompleteBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21302    pub type StartSenseDataProviderCompleteBD = unsafe extern "system" fn(
21303        session: Session,
21304        future: FutureEXT,
21305        completion: *mut FutureCompletionEXT,
21306    ) -> Result;
21307    #[doc = "See [xrGetSenseDataProviderStateBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSenseDataProviderStateBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21308    pub type GetSenseDataProviderStateBD = unsafe extern "system" fn(
21309        provider: SenseDataProviderBD,
21310        state: *mut SenseDataProviderStateBD,
21311    ) -> Result;
21312    #[doc = "See [xrQuerySenseDataAsyncBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQuerySenseDataAsyncBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21313    pub type QuerySenseDataAsyncBD = unsafe extern "system" fn(
21314        provider: SenseDataProviderBD,
21315        query_info: *const SenseDataQueryInfoBD,
21316        future: *mut FutureEXT,
21317    ) -> Result;
21318    #[doc = "See [xrQuerySenseDataCompleteBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQuerySenseDataCompleteBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21319    pub type QuerySenseDataCompleteBD = unsafe extern "system" fn(
21320        provider: SenseDataProviderBD,
21321        future: FutureEXT,
21322        completion: *mut SenseDataQueryCompletionBD,
21323    ) -> Result;
21324    #[doc = "See [xrDestroySenseDataSnapshotBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySenseDataSnapshotBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21325    pub type DestroySenseDataSnapshotBD =
21326        unsafe extern "system" fn(snapshot: SenseDataSnapshotBD) -> Result;
21327    #[doc = "See [xrGetQueriedSenseDataBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetQueriedSenseDataBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21328    pub type GetQueriedSenseDataBD = unsafe extern "system" fn(
21329        snapshot: SenseDataSnapshotBD,
21330        get_info: *mut QueriedSenseDataGetInfoBD,
21331        queried_sense_data: *mut QueriedSenseDataBD,
21332    ) -> Result;
21333    #[doc = "See [xrStopSenseDataProviderBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStopSenseDataProviderBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21334    pub type StopSenseDataProviderBD =
21335        unsafe extern "system" fn(provider: SenseDataProviderBD) -> Result;
21336    #[doc = "See [xrDestroySenseDataProviderBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySenseDataProviderBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21337    pub type DestroySenseDataProviderBD =
21338        unsafe extern "system" fn(provider: SenseDataProviderBD) -> Result;
21339    #[doc = "See [xrCreateSpatialEntityAnchorBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialEntityAnchorBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21340    pub type CreateSpatialEntityAnchorBD = unsafe extern "system" fn(
21341        provider: SenseDataProviderBD,
21342        create_info: *const SpatialEntityAnchorCreateInfoBD,
21343        anchor: *mut AnchorBD,
21344    ) -> Result;
21345    #[doc = "See [xrDestroyAnchorBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyAnchorBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21346    pub type DestroyAnchorBD = unsafe extern "system" fn(anchor: AnchorBD) -> Result;
21347    #[doc = "See [xrGetAnchorUuidBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetAnchorUuidBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21348    pub type GetAnchorUuidBD =
21349        unsafe extern "system" fn(anchor: AnchorBD, uuid: *mut UuidEXT) -> Result;
21350    #[doc = "See [xrCreateAnchorSpaceBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateAnchorSpaceBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21351    pub type CreateAnchorSpaceBD = unsafe extern "system" fn(
21352        session: Session,
21353        create_info: *const AnchorSpaceCreateInfoBD,
21354        space: *mut Space,
21355    ) -> Result;
21356    #[doc = "See [xrCreateSpatialAnchorAsyncBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorAsyncBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
21357    pub type CreateSpatialAnchorAsyncBD = unsafe extern "system" fn(
21358        provider: SenseDataProviderBD,
21359        info: *const SpatialAnchorCreateInfoBD,
21360        future: *mut FutureEXT,
21361    ) -> Result;
21362    #[doc = "See [xrCreateSpatialAnchorCompleteBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorCompleteBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
21363    pub type CreateSpatialAnchorCompleteBD = unsafe extern "system" fn(
21364        provider: SenseDataProviderBD,
21365        future: FutureEXT,
21366        completion: *mut SpatialAnchorCreateCompletionBD,
21367    ) -> Result;
21368    #[doc = "See [xrPersistSpatialAnchorAsyncBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPersistSpatialAnchorAsyncBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
21369    pub type PersistSpatialAnchorAsyncBD = unsafe extern "system" fn(
21370        provider: SenseDataProviderBD,
21371        info: *const SpatialAnchorPersistInfoBD,
21372        future: *mut FutureEXT,
21373    ) -> Result;
21374    #[doc = "See [xrPersistSpatialAnchorCompleteBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPersistSpatialAnchorCompleteBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
21375    pub type PersistSpatialAnchorCompleteBD = unsafe extern "system" fn(
21376        provider: SenseDataProviderBD,
21377        future: FutureEXT,
21378        completion: *mut FutureCompletionEXT,
21379    ) -> Result;
21380    #[doc = "See [xrUnpersistSpatialAnchorAsyncBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUnpersistSpatialAnchorAsyncBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
21381    pub type UnpersistSpatialAnchorAsyncBD = unsafe extern "system" fn(
21382        provider: SenseDataProviderBD,
21383        info: *const SpatialAnchorUnpersistInfoBD,
21384        future: *mut FutureEXT,
21385    ) -> Result;
21386    #[doc = "See [xrUnpersistSpatialAnchorCompleteBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUnpersistSpatialAnchorCompleteBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
21387    pub type UnpersistSpatialAnchorCompleteBD = unsafe extern "system" fn(
21388        provider: SenseDataProviderBD,
21389        future: FutureEXT,
21390        completion: *mut FutureCompletionEXT,
21391    ) -> Result;
21392    #[doc = "See [xrShareSpatialAnchorAsyncBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrShareSpatialAnchorAsyncBD) - defined by [XR_BD_spatial_anchor_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor_sharing)"]
21393    pub type ShareSpatialAnchorAsyncBD = unsafe extern "system" fn(
21394        provider: SenseDataProviderBD,
21395        info: *const SpatialAnchorShareInfoBD,
21396        future: *mut FutureEXT,
21397    ) -> Result;
21398    #[doc = "See [xrShareSpatialAnchorCompleteBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrShareSpatialAnchorCompleteBD) - defined by [XR_BD_spatial_anchor_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor_sharing)"]
21399    pub type ShareSpatialAnchorCompleteBD = unsafe extern "system" fn(
21400        provider: SenseDataProviderBD,
21401        future: FutureEXT,
21402        completion: *mut FutureCompletionEXT,
21403    ) -> Result;
21404    #[doc = "See [xrDownloadSharedSpatialAnchorAsyncBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDownloadSharedSpatialAnchorAsyncBD) - defined by [XR_BD_spatial_anchor_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor_sharing)"]
21405    pub type DownloadSharedSpatialAnchorAsyncBD = unsafe extern "system" fn(
21406        provider: SenseDataProviderBD,
21407        info: *const SharedSpatialAnchorDownloadInfoBD,
21408        future: *mut FutureEXT,
21409    ) -> Result;
21410    #[doc = "See [xrDownloadSharedSpatialAnchorCompleteBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDownloadSharedSpatialAnchorCompleteBD) - defined by [XR_BD_spatial_anchor_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor_sharing)"]
21411    pub type DownloadSharedSpatialAnchorCompleteBD = unsafe extern "system" fn(
21412        provider: SenseDataProviderBD,
21413        future: FutureEXT,
21414        completion: *mut FutureCompletionEXT,
21415    ) -> Result;
21416    #[doc = "See [xrCaptureSceneAsyncBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCaptureSceneAsyncBD) - defined by [XR_BD_spatial_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_scene)"]
21417    pub type CaptureSceneAsyncBD = unsafe extern "system" fn(
21418        provider: SenseDataProviderBD,
21419        info: *const SceneCaptureInfoBD,
21420        future: *mut FutureEXT,
21421    ) -> Result;
21422    #[doc = "See [xrCaptureSceneCompleteBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCaptureSceneCompleteBD) - defined by [XR_BD_spatial_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_scene)"]
21423    pub type CaptureSceneCompleteBD = unsafe extern "system" fn(
21424        provider: SenseDataProviderBD,
21425        future: FutureEXT,
21426        completion: *mut FutureCompletionEXT,
21427    ) -> Result;
21428    #[doc = "See [xrResumeSimultaneousHandsAndControllersTrackingMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrResumeSimultaneousHandsAndControllersTrackingMETA) - defined by [XR_META_simultaneous_hands_and_controllers](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_simultaneous_hands_and_controllers)"]
21429    pub type ResumeSimultaneousHandsAndControllersTrackingMETA =
21430        unsafe extern "system" fn(
21431            session: Session,
21432            resume_info: *const SimultaneousHandsAndControllersTrackingResumeInfoMETA,
21433        ) -> Result;
21434    #[doc = "See [xrPauseSimultaneousHandsAndControllersTrackingMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPauseSimultaneousHandsAndControllersTrackingMETA) - defined by [XR_META_simultaneous_hands_and_controllers](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_simultaneous_hands_and_controllers)"]
21435    pub type PauseSimultaneousHandsAndControllersTrackingMETA = unsafe extern "system" fn(
21436        session: Session,
21437        pause_info: *const SimultaneousHandsAndControllersTrackingPauseInfoMETA,
21438    )
21439        -> Result;
21440    #[doc = "See [xrEnumerateFacialSimulationModesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateFacialSimulationModesBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
21441    pub type EnumerateFacialSimulationModesBD = unsafe extern "system" fn(
21442        session: Session,
21443        mode_capacity_input: u32,
21444        mode_count_output: *mut u32,
21445        modes: *mut FacialSimulationModeBD,
21446    ) -> Result;
21447    #[doc = "See [xrCreateFaceTrackerBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateFaceTrackerBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
21448    pub type CreateFaceTrackerBD = unsafe extern "system" fn(
21449        session: Session,
21450        create_info: *const FaceTrackerCreateInfoBD,
21451        tracker: *mut FaceTrackerBD,
21452    ) -> Result;
21453    #[doc = "See [xrDestroyFaceTrackerBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyFaceTrackerBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
21454    pub type DestroyFaceTrackerBD = unsafe extern "system" fn(tracker: FaceTrackerBD) -> Result;
21455    #[doc = "See [xrGetFacialSimulationDataBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetFacialSimulationDataBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
21456    pub type GetFacialSimulationDataBD = unsafe extern "system" fn(
21457        tracker: FaceTrackerBD,
21458        info: *const FacialSimulationDataGetInfoBD,
21459        facial_data: *mut FacialSimulationDataBD,
21460    ) -> Result;
21461    #[doc = "See [xrSetFacialSimulationModeBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetFacialSimulationModeBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
21462    pub type SetFacialSimulationModeBD =
21463        unsafe extern "system" fn(tracker: FaceTrackerBD, mode: FacialSimulationModeBD) -> Result;
21464    #[doc = "See [xrGetFacialSimulationModeBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetFacialSimulationModeBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
21465    pub type GetFacialSimulationModeBD = unsafe extern "system" fn(
21466        tracker: FaceTrackerBD,
21467        mode: *mut FacialSimulationModeBD,
21468    ) -> Result;
21469    #[doc = "See [xrGetVulkanGraphicsRequirements2KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVulkanGraphicsRequirements2KHR) - defined by [XR_KHR_vulkan_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable)"]
21470    pub type GetVulkanGraphicsRequirements2KHR = unsafe extern "system" fn(
21471        instance: Instance,
21472        system_id: SystemId,
21473        graphics_requirements: *mut GraphicsRequirementsVulkanKHR,
21474    ) -> Result;
21475    #[doc = "See [xrLocateSpacesKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLocateSpacesKHR)"]
21476    pub type LocateSpacesKHR = unsafe extern "system" fn(
21477        session: Session,
21478        locate_info: *const SpacesLocateInfo,
21479        space_locations: *mut SpaceLocations,
21480    ) -> Result;
21481}
21482pub const ALMALENCE_digital_lens_control_SPEC_VERSION: u32 = 1u32;
21483pub const ALMALENCE_DIGITAL_LENS_CONTROL_EXTENSION_NAME: &[u8] =
21484    b"XR_ALMALENCE_digital_lens_control\0";
21485#[cfg(target_os = "android")]
21486pub const ANDROID_trackables_SPEC_VERSION: u32 = 2u32;
21487#[cfg(target_os = "android")]
21488pub const ANDROID_TRACKABLES_EXTENSION_NAME: &[u8] = b"XR_ANDROID_trackables\0";
21489#[cfg(target_os = "android")]
21490pub const ANDROID_device_anchor_persistence_SPEC_VERSION: u32 = 1u32;
21491#[cfg(target_os = "android")]
21492pub const ANDROID_DEVICE_ANCHOR_PERSISTENCE_EXTENSION_NAME: &[u8] =
21493    b"XR_ANDROID_device_anchor_persistence\0";
21494#[cfg(target_os = "android")]
21495pub const ANDROID_face_tracking_SPEC_VERSION: u32 = 1u32;
21496#[cfg(target_os = "android")]
21497pub const ANDROID_FACE_TRACKING_EXTENSION_NAME: &[u8] = b"XR_ANDROID_face_tracking\0";
21498#[cfg(target_os = "android")]
21499pub const ANDROID_passthrough_camera_state_SPEC_VERSION: u32 = 1u32;
21500#[cfg(target_os = "android")]
21501pub const ANDROID_PASSTHROUGH_CAMERA_STATE_EXTENSION_NAME: &[u8] =
21502    b"XR_ANDROID_passthrough_camera_state\0";
21503#[cfg(target_os = "android")]
21504pub const ANDROID_raycast_SPEC_VERSION: u32 = 1u32;
21505#[cfg(target_os = "android")]
21506pub const ANDROID_RAYCAST_EXTENSION_NAME: &[u8] = b"XR_ANDROID_raycast\0";
21507#[cfg(target_os = "android")]
21508pub const ANDROID_trackables_object_SPEC_VERSION: u32 = 2u32;
21509#[cfg(target_os = "android")]
21510pub const ANDROID_TRACKABLES_OBJECT_EXTENSION_NAME: &[u8] = b"XR_ANDROID_trackables_object\0";
21511#[cfg(target_os = "android")]
21512pub const ANDROID_anchor_sharing_export_SPEC_VERSION: u32 = 1u32;
21513#[cfg(target_os = "android")]
21514pub const ANDROID_ANCHOR_SHARING_EXPORT_EXTENSION_NAME: &[u8] =
21515    b"XR_ANDROID_anchor_sharing_export\0";
21516#[cfg(target_os = "android")]
21517pub const ANDROID_trackables_marker_SPEC_VERSION: u32 = 1u32;
21518#[cfg(target_os = "android")]
21519pub const ANDROID_TRACKABLES_MARKER_EXTENSION_NAME: &[u8] = b"XR_ANDROID_trackables_marker\0";
21520pub const BD_controller_interaction_SPEC_VERSION: u32 = 2u32;
21521pub const BD_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_BD_controller_interaction\0";
21522pub const BD_body_tracking_SPEC_VERSION: u32 = 1u32;
21523pub const BD_BODY_TRACKING_EXTENSION_NAME: &[u8] = b"XR_BD_body_tracking\0";
21524pub const BD_facial_simulation_SPEC_VERSION: u32 = 1u32;
21525pub const BD_FACIAL_SIMULATION_EXTENSION_NAME: &[u8] = b"XR_BD_facial_simulation\0";
21526pub const BD_spatial_sensing_SPEC_VERSION: u32 = 1u32;
21527pub const BD_SPATIAL_SENSING_EXTENSION_NAME: &[u8] = b"XR_BD_spatial_sensing\0";
21528pub const BD_spatial_anchor_SPEC_VERSION: u32 = 2u32;
21529pub const BD_SPATIAL_ANCHOR_EXTENSION_NAME: &[u8] = b"XR_BD_spatial_anchor\0";
21530pub const BD_spatial_anchor_sharing_SPEC_VERSION: u32 = 2u32;
21531pub const BD_SPATIAL_ANCHOR_SHARING_EXTENSION_NAME: &[u8] = b"XR_BD_spatial_anchor_sharing\0";
21532pub const BD_spatial_scene_SPEC_VERSION: u32 = 1u32;
21533pub const BD_SPATIAL_SCENE_EXTENSION_NAME: &[u8] = b"XR_BD_spatial_scene\0";
21534pub const BD_spatial_mesh_SPEC_VERSION: u32 = 1u32;
21535pub const BD_SPATIAL_MESH_EXTENSION_NAME: &[u8] = b"XR_BD_spatial_mesh\0";
21536pub const BD_future_progress_SPEC_VERSION: u32 = 1u32;
21537pub const BD_FUTURE_PROGRESS_EXTENSION_NAME: &[u8] = b"XR_BD_future_progress\0";
21538pub const BD_spatial_plane_SPEC_VERSION: u32 = 1u32;
21539pub const BD_SPATIAL_PLANE_EXTENSION_NAME: &[u8] = b"XR_BD_spatial_plane\0";
21540pub const BD_ultra_controller_interaction_SPEC_VERSION: u32 = 1u32;
21541pub const BD_ULTRA_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] =
21542    b"XR_BD_ultra_controller_interaction\0";
21543pub const EPIC_view_configuration_fov_SPEC_VERSION: u32 = 2u32;
21544pub const EPIC_VIEW_CONFIGURATION_FOV_EXTENSION_NAME: &[u8] = b"XR_EPIC_view_configuration_fov\0";
21545pub const EXT_performance_settings_SPEC_VERSION: u32 = 4u32;
21546pub const EXT_PERFORMANCE_SETTINGS_EXTENSION_NAME: &[u8] = b"XR_EXT_performance_settings\0";
21547pub const EXT_thermal_query_SPEC_VERSION: u32 = 2u32;
21548pub const EXT_THERMAL_QUERY_EXTENSION_NAME: &[u8] = b"XR_EXT_thermal_query\0";
21549pub const EXT_debug_utils_SPEC_VERSION: u32 = 5u32;
21550pub const EXT_DEBUG_UTILS_EXTENSION_NAME: &[u8] = b"XR_EXT_debug_utils\0";
21551pub const EXT_eye_gaze_interaction_SPEC_VERSION: u32 = 2u32;
21552pub const EXT_EYE_GAZE_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_EXT_eye_gaze_interaction\0";
21553pub const EXT_view_configuration_depth_range_SPEC_VERSION: u32 = 1u32;
21554pub const EXT_VIEW_CONFIGURATION_DEPTH_RANGE_EXTENSION_NAME: &[u8] =
21555    b"XR_EXT_view_configuration_depth_range\0";
21556pub const EXT_conformance_automation_SPEC_VERSION: u32 = 3u32;
21557pub const EXT_CONFORMANCE_AUTOMATION_EXTENSION_NAME: &[u8] = b"XR_EXT_conformance_automation\0";
21558pub const EXT_hand_tracking_SPEC_VERSION: u32 = 4u32;
21559pub const EXT_HAND_TRACKING_EXTENSION_NAME: &[u8] = b"XR_EXT_hand_tracking\0";
21560#[cfg(windows)]
21561pub const EXT_win32_appcontainer_compatible_SPEC_VERSION: u32 = 1u32;
21562#[cfg(windows)]
21563pub const EXT_WIN32_APPCONTAINER_COMPATIBLE_EXTENSION_NAME: &[u8] =
21564    b"XR_EXT_win32_appcontainer_compatible\0";
21565pub const EXT_dpad_binding_SPEC_VERSION: u32 = 1u32;
21566pub const EXT_DPAD_BINDING_EXTENSION_NAME: &[u8] = b"XR_EXT_dpad_binding\0";
21567pub const EXT_hand_joints_motion_range_SPEC_VERSION: u32 = 1u32;
21568pub const EXT_HAND_JOINTS_MOTION_RANGE_EXTENSION_NAME: &[u8] = b"XR_EXT_hand_joints_motion_range\0";
21569pub const EXT_samsung_odyssey_controller_SPEC_VERSION: u32 = 1u32;
21570pub const EXT_SAMSUNG_ODYSSEY_CONTROLLER_EXTENSION_NAME: &[u8] =
21571    b"XR_EXT_samsung_odyssey_controller\0";
21572pub const EXT_hp_mixed_reality_controller_SPEC_VERSION: u32 = 1u32;
21573pub const EXT_HP_MIXED_REALITY_CONTROLLER_EXTENSION_NAME: &[u8] =
21574    b"XR_EXT_hp_mixed_reality_controller\0";
21575pub const EXT_palm_pose_SPEC_VERSION: u32 = 3u32;
21576pub const EXT_PALM_POSE_EXTENSION_NAME: &[u8] = b"XR_EXT_palm_pose\0";
21577pub const EXT_frame_synthesis_SPEC_VERSION: u32 = 1u32;
21578pub const EXT_FRAME_SYNTHESIS_EXTENSION_NAME: &[u8] = b"XR_EXT_frame_synthesis\0";
21579pub const EXT_uuid_SPEC_VERSION: u32 = 1u32;
21580pub const EXT_UUID_EXTENSION_NAME: &[u8] = b"XR_EXT_uuid\0";
21581pub const EXT_render_model_SPEC_VERSION: u32 = 1u32;
21582pub const EXT_RENDER_MODEL_EXTENSION_NAME: &[u8] = b"XR_EXT_render_model\0";
21583pub const EXT_interaction_render_model_SPEC_VERSION: u32 = 1u32;
21584pub const EXT_INTERACTION_RENDER_MODEL_EXTENSION_NAME: &[u8] = b"XR_EXT_interaction_render_model\0";
21585pub const EXT_hand_interaction_SPEC_VERSION: u32 = 2u32;
21586pub const EXT_HAND_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_EXT_hand_interaction\0";
21587pub const EXT_active_action_set_priority_SPEC_VERSION: u32 = 1u32;
21588pub const EXT_ACTIVE_ACTION_SET_PRIORITY_EXTENSION_NAME: &[u8] =
21589    b"XR_EXT_active_action_set_priority\0";
21590pub const EXT_local_floor_SPEC_VERSION: u32 = 1u32;
21591pub const EXT_LOCAL_FLOOR_EXTENSION_NAME: &[u8] = b"XR_EXT_local_floor\0";
21592pub const EXT_hand_tracking_data_source_SPEC_VERSION: u32 = 1u32;
21593pub const EXT_HAND_TRACKING_DATA_SOURCE_EXTENSION_NAME: &[u8] =
21594    b"XR_EXT_hand_tracking_data_source\0";
21595pub const EXT_plane_detection_SPEC_VERSION: u32 = 2u32;
21596pub const EXT_PLANE_DETECTION_EXTENSION_NAME: &[u8] = b"XR_EXT_plane_detection\0";
21597pub const EXT_future_SPEC_VERSION: u32 = 2u32;
21598pub const EXT_FUTURE_EXTENSION_NAME: &[u8] = b"XR_EXT_future\0";
21599pub const EXT_user_presence_SPEC_VERSION: u32 = 1u32;
21600pub const EXT_USER_PRESENCE_EXTENSION_NAME: &[u8] = b"XR_EXT_user_presence\0";
21601pub const EXT_composition_layer_inverted_alpha_SPEC_VERSION: u32 = 1u32;
21602pub const EXT_COMPOSITION_LAYER_INVERTED_ALPHA_EXTENSION_NAME: &[u8] =
21603    b"XR_EXT_composition_layer_inverted_alpha\0";
21604pub const EXT_spatial_entity_SPEC_VERSION: u32 = 1u32;
21605pub const EXT_SPATIAL_ENTITY_EXTENSION_NAME: &[u8] = b"XR_EXT_spatial_entity\0";
21606pub const EXT_spatial_plane_tracking_SPEC_VERSION: u32 = 1u32;
21607pub const EXT_SPATIAL_PLANE_TRACKING_EXTENSION_NAME: &[u8] = b"XR_EXT_spatial_plane_tracking\0";
21608pub const EXT_spatial_marker_tracking_SPEC_VERSION: u32 = 1u32;
21609pub const EXT_SPATIAL_MARKER_TRACKING_EXTENSION_NAME: &[u8] = b"XR_EXT_spatial_marker_tracking\0";
21610pub const EXT_spatial_anchor_SPEC_VERSION: u32 = 1u32;
21611pub const EXT_SPATIAL_ANCHOR_EXTENSION_NAME: &[u8] = b"XR_EXT_spatial_anchor\0";
21612pub const EXT_spatial_persistence_SPEC_VERSION: u32 = 1u32;
21613pub const EXT_SPATIAL_PERSISTENCE_EXTENSION_NAME: &[u8] = b"XR_EXT_spatial_persistence\0";
21614pub const EXT_spatial_persistence_operations_SPEC_VERSION: u32 = 1u32;
21615pub const EXT_SPATIAL_PERSISTENCE_OPERATIONS_EXTENSION_NAME: &[u8] =
21616    b"XR_EXT_spatial_persistence_operations\0";
21617pub const EXT_loader_init_properties_SPEC_VERSION: u32 = 1u32;
21618pub const EXT_LOADER_INIT_PROPERTIES_EXTENSION_NAME: &[u8] = b"XR_EXT_loader_init_properties\0";
21619pub const FB_composition_layer_image_layout_SPEC_VERSION: u32 = 1u32;
21620pub const FB_COMPOSITION_LAYER_IMAGE_LAYOUT_EXTENSION_NAME: &[u8] =
21621    b"XR_FB_composition_layer_image_layout\0";
21622pub const FB_composition_layer_alpha_blend_SPEC_VERSION: u32 = 3u32;
21623pub const FB_COMPOSITION_LAYER_ALPHA_BLEND_EXTENSION_NAME: &[u8] =
21624    b"XR_FB_composition_layer_alpha_blend\0";
21625#[cfg(target_os = "android")]
21626pub const FB_android_surface_swapchain_create_SPEC_VERSION: u32 = 1u32;
21627#[cfg(target_os = "android")]
21628pub const FB_ANDROID_SURFACE_SWAPCHAIN_CREATE_EXTENSION_NAME: &[u8] =
21629    b"XR_FB_android_surface_swapchain_create\0";
21630pub const FB_swapchain_update_state_SPEC_VERSION: u32 = 3u32;
21631pub const FB_SWAPCHAIN_UPDATE_STATE_EXTENSION_NAME: &[u8] = b"XR_FB_swapchain_update_state\0";
21632pub const FB_composition_layer_secure_content_SPEC_VERSION: u32 = 1u32;
21633pub const FB_COMPOSITION_LAYER_SECURE_CONTENT_EXTENSION_NAME: &[u8] =
21634    b"XR_FB_composition_layer_secure_content\0";
21635pub const FB_body_tracking_SPEC_VERSION: u32 = 1u32;
21636pub const FB_BODY_TRACKING_EXTENSION_NAME: &[u8] = b"XR_FB_body_tracking\0";
21637pub const FB_display_refresh_rate_SPEC_VERSION: u32 = 1u32;
21638pub const FB_DISPLAY_REFRESH_RATE_EXTENSION_NAME: &[u8] = b"XR_FB_display_refresh_rate\0";
21639pub const FB_color_space_SPEC_VERSION: u32 = 3u32;
21640pub const FB_COLOR_SPACE_EXTENSION_NAME: &[u8] = b"XR_FB_color_space\0";
21641pub const FB_hand_tracking_mesh_SPEC_VERSION: u32 = 3u32;
21642pub const FB_HAND_TRACKING_MESH_EXTENSION_NAME: &[u8] = b"XR_FB_hand_tracking_mesh\0";
21643pub const FB_hand_tracking_aim_SPEC_VERSION: u32 = 2u32;
21644pub const FB_HAND_TRACKING_AIM_EXTENSION_NAME: &[u8] = b"XR_FB_hand_tracking_aim\0";
21645pub const FB_hand_tracking_capsules_SPEC_VERSION: u32 = 3u32;
21646pub const FB_HAND_TRACKING_CAPSULES_EXTENSION_NAME: &[u8] = b"XR_FB_hand_tracking_capsules\0";
21647pub const FB_spatial_entity_SPEC_VERSION: u32 = 3u32;
21648pub const FB_SPATIAL_ENTITY_EXTENSION_NAME: &[u8] = b"XR_FB_spatial_entity\0";
21649pub const FB_foveation_SPEC_VERSION: u32 = 1u32;
21650pub const FB_FOVEATION_EXTENSION_NAME: &[u8] = b"XR_FB_foveation\0";
21651pub const FB_foveation_configuration_SPEC_VERSION: u32 = 1u32;
21652pub const FB_FOVEATION_CONFIGURATION_EXTENSION_NAME: &[u8] = b"XR_FB_foveation_configuration\0";
21653pub const FB_keyboard_tracking_SPEC_VERSION: u32 = 1u32;
21654pub const FB_KEYBOARD_TRACKING_EXTENSION_NAME: &[u8] = b"XR_FB_keyboard_tracking\0";
21655pub const FB_triangle_mesh_SPEC_VERSION: u32 = 2u32;
21656pub const FB_TRIANGLE_MESH_EXTENSION_NAME: &[u8] = b"XR_FB_triangle_mesh\0";
21657pub const FB_passthrough_SPEC_VERSION: u32 = 4u32;
21658pub const FB_PASSTHROUGH_EXTENSION_NAME: &[u8] = b"XR_FB_passthrough\0";
21659pub const FB_render_model_SPEC_VERSION: u32 = 4u32;
21660pub const FB_RENDER_MODEL_EXTENSION_NAME: &[u8] = b"XR_FB_render_model\0";
21661pub const FB_spatial_entity_query_SPEC_VERSION: u32 = 1u32;
21662pub const FB_SPATIAL_ENTITY_QUERY_EXTENSION_NAME: &[u8] = b"XR_FB_spatial_entity_query\0";
21663pub const FB_spatial_entity_storage_SPEC_VERSION: u32 = 1u32;
21664pub const FB_SPATIAL_ENTITY_STORAGE_EXTENSION_NAME: &[u8] = b"XR_FB_spatial_entity_storage\0";
21665pub const FB_foveation_vulkan_SPEC_VERSION: u32 = 1u32;
21666pub const FB_FOVEATION_VULKAN_EXTENSION_NAME: &[u8] = b"XR_FB_foveation_vulkan\0";
21667#[cfg(target_os = "android")]
21668pub const FB_swapchain_update_state_android_surface_SPEC_VERSION: u32 = 1u32;
21669#[cfg(target_os = "android")]
21670pub const FB_SWAPCHAIN_UPDATE_STATE_ANDROID_SURFACE_EXTENSION_NAME: &[u8] =
21671    b"XR_FB_swapchain_update_state_android_surface\0";
21672pub const FB_swapchain_update_state_opengl_es_SPEC_VERSION: u32 = 1u32;
21673pub const FB_SWAPCHAIN_UPDATE_STATE_OPENGL_ES_EXTENSION_NAME: &[u8] =
21674    b"XR_FB_swapchain_update_state_opengl_es\0";
21675pub const FB_swapchain_update_state_vulkan_SPEC_VERSION: u32 = 1u32;
21676pub const FB_SWAPCHAIN_UPDATE_STATE_VULKAN_EXTENSION_NAME: &[u8] =
21677    b"XR_FB_swapchain_update_state_vulkan\0";
21678pub const FB_touch_controller_pro_SPEC_VERSION: u32 = 1u32;
21679pub const FB_TOUCH_CONTROLLER_PRO_EXTENSION_NAME: &[u8] = b"XR_FB_touch_controller_pro\0";
21680pub const FB_spatial_entity_sharing_SPEC_VERSION: u32 = 1u32;
21681pub const FB_SPATIAL_ENTITY_SHARING_EXTENSION_NAME: &[u8] = b"XR_FB_spatial_entity_sharing\0";
21682pub const FB_space_warp_SPEC_VERSION: u32 = 2u32;
21683pub const FB_SPACE_WARP_EXTENSION_NAME: &[u8] = b"XR_FB_space_warp\0";
21684pub const FB_haptic_amplitude_envelope_SPEC_VERSION: u32 = 1u32;
21685pub const FB_HAPTIC_AMPLITUDE_ENVELOPE_EXTENSION_NAME: &[u8] = b"XR_FB_haptic_amplitude_envelope\0";
21686pub const FB_scene_SPEC_VERSION: u32 = 4u32;
21687pub const FB_SCENE_EXTENSION_NAME: &[u8] = b"XR_FB_scene\0";
21688pub const FB_scene_capture_SPEC_VERSION: u32 = 1u32;
21689pub const FB_SCENE_CAPTURE_EXTENSION_NAME: &[u8] = b"XR_FB_scene_capture\0";
21690pub const FB_spatial_entity_container_SPEC_VERSION: u32 = 2u32;
21691pub const FB_SPATIAL_ENTITY_CONTAINER_EXTENSION_NAME: &[u8] = b"XR_FB_spatial_entity_container\0";
21692pub const FB_face_tracking_SPEC_VERSION: u32 = 1u32;
21693pub const FB_FACE_TRACKING_EXTENSION_NAME: &[u8] = b"XR_FB_face_tracking\0";
21694pub const FB_eye_tracking_social_SPEC_VERSION: u32 = 1u32;
21695pub const FB_EYE_TRACKING_SOCIAL_EXTENSION_NAME: &[u8] = b"XR_FB_eye_tracking_social\0";
21696pub const FB_passthrough_keyboard_hands_SPEC_VERSION: u32 = 2u32;
21697pub const FB_PASSTHROUGH_KEYBOARD_HANDS_EXTENSION_NAME: &[u8] =
21698    b"XR_FB_passthrough_keyboard_hands\0";
21699pub const FB_composition_layer_settings_SPEC_VERSION: u32 = 1u32;
21700pub const FB_COMPOSITION_LAYER_SETTINGS_EXTENSION_NAME: &[u8] =
21701    b"XR_FB_composition_layer_settings\0";
21702pub const FB_touch_controller_proximity_SPEC_VERSION: u32 = 1u32;
21703pub const FB_TOUCH_CONTROLLER_PROXIMITY_EXTENSION_NAME: &[u8] =
21704    b"XR_FB_touch_controller_proximity\0";
21705pub const FB_haptic_pcm_SPEC_VERSION: u32 = 1u32;
21706pub const FB_HAPTIC_PCM_EXTENSION_NAME: &[u8] = b"XR_FB_haptic_pcm\0";
21707pub const FB_composition_layer_depth_test_SPEC_VERSION: u32 = 1u32;
21708pub const FB_COMPOSITION_LAYER_DEPTH_TEST_EXTENSION_NAME: &[u8] =
21709    b"XR_FB_composition_layer_depth_test\0";
21710pub const FB_spatial_entity_storage_batch_SPEC_VERSION: u32 = 1u32;
21711pub const FB_SPATIAL_ENTITY_STORAGE_BATCH_EXTENSION_NAME: &[u8] =
21712    b"XR_FB_spatial_entity_storage_batch\0";
21713pub const FB_spatial_entity_user_SPEC_VERSION: u32 = 1u32;
21714pub const FB_SPATIAL_ENTITY_USER_EXTENSION_NAME: &[u8] = b"XR_FB_spatial_entity_user\0";
21715pub const FB_face_tracking2_SPEC_VERSION: u32 = 1u32;
21716pub const FB_FACE_TRACKING2_EXTENSION_NAME: &[u8] = b"XR_FB_face_tracking2\0";
21717pub const HTC_vive_cosmos_controller_interaction_SPEC_VERSION: u32 = 1u32;
21718pub const HTC_VIVE_COSMOS_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] =
21719    b"XR_HTC_vive_cosmos_controller_interaction\0";
21720pub const HTC_facial_tracking_SPEC_VERSION: u32 = 3u32;
21721pub const HTC_FACIAL_TRACKING_EXTENSION_NAME: &[u8] = b"XR_HTC_facial_tracking\0";
21722pub const HTC_vive_focus3_controller_interaction_SPEC_VERSION: u32 = 2u32;
21723pub const HTC_VIVE_FOCUS3_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] =
21724    b"XR_HTC_vive_focus3_controller_interaction\0";
21725pub const HTC_hand_interaction_SPEC_VERSION: u32 = 1u32;
21726pub const HTC_HAND_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_HTC_hand_interaction\0";
21727pub const HTC_vive_wrist_tracker_interaction_SPEC_VERSION: u32 = 1u32;
21728pub const HTC_VIVE_WRIST_TRACKER_INTERACTION_EXTENSION_NAME: &[u8] =
21729    b"XR_HTC_vive_wrist_tracker_interaction\0";
21730pub const HTC_passthrough_SPEC_VERSION: u32 = 1u32;
21731pub const HTC_PASSTHROUGH_EXTENSION_NAME: &[u8] = b"XR_HTC_passthrough\0";
21732pub const HTC_foveation_SPEC_VERSION: u32 = 1u32;
21733pub const HTC_FOVEATION_EXTENSION_NAME: &[u8] = b"XR_HTC_foveation\0";
21734pub const HTC_anchor_SPEC_VERSION: u32 = 1u32;
21735pub const HTC_ANCHOR_EXTENSION_NAME: &[u8] = b"XR_HTC_anchor\0";
21736pub const HTC_body_tracking_SPEC_VERSION: u32 = 1u32;
21737pub const HTC_BODY_TRACKING_EXTENSION_NAME: &[u8] = b"XR_HTC_body_tracking\0";
21738pub const HUAWEI_controller_interaction_SPEC_VERSION: u32 = 1u32;
21739pub const HUAWEI_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] =
21740    b"XR_HUAWEI_controller_interaction\0";
21741#[cfg(target_os = "android")]
21742pub const KHR_android_thread_settings_SPEC_VERSION: u32 = 6u32;
21743#[cfg(target_os = "android")]
21744pub const KHR_ANDROID_THREAD_SETTINGS_EXTENSION_NAME: &[u8] = b"XR_KHR_android_thread_settings\0";
21745#[cfg(target_os = "android")]
21746pub const KHR_android_surface_swapchain_SPEC_VERSION: u32 = 4u32;
21747#[cfg(target_os = "android")]
21748pub const KHR_ANDROID_SURFACE_SWAPCHAIN_EXTENSION_NAME: &[u8] =
21749    b"XR_KHR_android_surface_swapchain\0";
21750pub const KHR_composition_layer_cube_SPEC_VERSION: u32 = 8u32;
21751pub const KHR_COMPOSITION_LAYER_CUBE_EXTENSION_NAME: &[u8] = b"XR_KHR_composition_layer_cube\0";
21752#[cfg(target_os = "android")]
21753pub const KHR_android_create_instance_SPEC_VERSION: u32 = 3u32;
21754#[cfg(target_os = "android")]
21755pub const KHR_ANDROID_CREATE_INSTANCE_EXTENSION_NAME: &[u8] = b"XR_KHR_android_create_instance\0";
21756pub const KHR_composition_layer_depth_SPEC_VERSION: u32 = 6u32;
21757pub const KHR_COMPOSITION_LAYER_DEPTH_EXTENSION_NAME: &[u8] = b"XR_KHR_composition_layer_depth\0";
21758pub const KHR_vulkan_swapchain_format_list_SPEC_VERSION: u32 = 5u32;
21759pub const KHR_VULKAN_SWAPCHAIN_FORMAT_LIST_EXTENSION_NAME: &[u8] =
21760    b"XR_KHR_vulkan_swapchain_format_list\0";
21761pub const KHR_composition_layer_cylinder_SPEC_VERSION: u32 = 4u32;
21762pub const KHR_COMPOSITION_LAYER_CYLINDER_EXTENSION_NAME: &[u8] =
21763    b"XR_KHR_composition_layer_cylinder\0";
21764pub const KHR_composition_layer_equirect_SPEC_VERSION: u32 = 3u32;
21765pub const KHR_COMPOSITION_LAYER_EQUIRECT_EXTENSION_NAME: &[u8] =
21766    b"XR_KHR_composition_layer_equirect\0";
21767pub const KHR_opengl_enable_SPEC_VERSION: u32 = 12u32;
21768pub const KHR_OPENGL_ENABLE_EXTENSION_NAME: &[u8] = b"XR_KHR_opengl_enable\0";
21769pub const KHR_opengl_es_enable_SPEC_VERSION: u32 = 10u32;
21770pub const KHR_OPENGL_ES_ENABLE_EXTENSION_NAME: &[u8] = b"XR_KHR_opengl_es_enable\0";
21771pub const KHR_vulkan_enable_SPEC_VERSION: u32 = 10u32;
21772pub const KHR_VULKAN_ENABLE_EXTENSION_NAME: &[u8] = b"XR_KHR_vulkan_enable\0";
21773#[cfg(windows)]
21774pub const KHR_D3D11_enable_SPEC_VERSION: u32 = 11u32;
21775#[cfg(windows)]
21776pub const KHR_D3D11_ENABLE_EXTENSION_NAME: &[u8] = b"XR_KHR_D3D11_enable\0";
21777#[cfg(windows)]
21778pub const KHR_D3D12_enable_SPEC_VERSION: u32 = 11u32;
21779#[cfg(windows)]
21780pub const KHR_D3D12_ENABLE_EXTENSION_NAME: &[u8] = b"XR_KHR_D3D12_enable\0";
21781#[cfg(target_vendor = "apple")]
21782pub const KHR_metal_enable_SPEC_VERSION: u32 = 3u32;
21783#[cfg(target_vendor = "apple")]
21784pub const KHR_METAL_ENABLE_EXTENSION_NAME: &[u8] = b"XR_KHR_metal_enable\0";
21785pub const KHR_visibility_mask_SPEC_VERSION: u32 = 2u32;
21786pub const KHR_VISIBILITY_MASK_EXTENSION_NAME: &[u8] = b"XR_KHR_visibility_mask\0";
21787pub const KHR_composition_layer_color_scale_bias_SPEC_VERSION: u32 = 5u32;
21788pub const KHR_COMPOSITION_LAYER_COLOR_SCALE_BIAS_EXTENSION_NAME: &[u8] =
21789    b"XR_KHR_composition_layer_color_scale_bias\0";
21790#[cfg(windows)]
21791pub const KHR_win32_convert_performance_counter_time_SPEC_VERSION: u32 = 1u32;
21792#[cfg(windows)]
21793pub const KHR_WIN32_CONVERT_PERFORMANCE_COUNTER_TIME_EXTENSION_NAME: &[u8] =
21794    b"XR_KHR_win32_convert_performance_counter_time\0";
21795pub const KHR_convert_timespec_time_SPEC_VERSION: u32 = 1u32;
21796pub const KHR_CONVERT_TIMESPEC_TIME_EXTENSION_NAME: &[u8] = b"XR_KHR_convert_timespec_time\0";
21797pub const KHR_loader_init_SPEC_VERSION: u32 = 2u32;
21798pub const KHR_LOADER_INIT_EXTENSION_NAME: &[u8] = b"XR_KHR_loader_init\0";
21799#[cfg(target_os = "android")]
21800pub const KHR_loader_init_android_SPEC_VERSION: u32 = 1u32;
21801#[cfg(target_os = "android")]
21802pub const KHR_LOADER_INIT_ANDROID_EXTENSION_NAME: &[u8] = b"XR_KHR_loader_init_android\0";
21803pub const KHR_vulkan_enable2_SPEC_VERSION: u32 = 4u32;
21804pub const KHR_VULKAN_ENABLE2_EXTENSION_NAME: &[u8] = b"XR_KHR_vulkan_enable2\0";
21805pub const KHR_composition_layer_equirect2_SPEC_VERSION: u32 = 1u32;
21806pub const KHR_COMPOSITION_LAYER_EQUIRECT2_EXTENSION_NAME: &[u8] =
21807    b"XR_KHR_composition_layer_equirect2\0";
21808pub const KHR_binding_modification_SPEC_VERSION: u32 = 1u32;
21809pub const KHR_BINDING_MODIFICATION_EXTENSION_NAME: &[u8] = b"XR_KHR_binding_modification\0";
21810pub const KHR_extended_struct_name_lengths_SPEC_VERSION: u32 = 1u32;
21811pub const KHR_EXTENDED_STRUCT_NAME_LENGTHS_EXTENSION_NAME: &[u8] =
21812    b"XR_KHR_extended_struct_name_lengths\0";
21813pub const KHR_swapchain_usage_input_attachment_bit_SPEC_VERSION: u32 = 3u32;
21814pub const KHR_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_EXTENSION_NAME: &[u8] =
21815    b"XR_KHR_swapchain_usage_input_attachment_bit\0";
21816pub const KHR_locate_spaces_SPEC_VERSION: u32 = 1u32;
21817pub const KHR_LOCATE_SPACES_EXTENSION_NAME: &[u8] = b"XR_KHR_locate_spaces\0";
21818pub const KHR_maintenance1_SPEC_VERSION: u32 = 1u32;
21819pub const KHR_MAINTENANCE1_EXTENSION_NAME: &[u8] = b"XR_KHR_maintenance1\0";
21820pub const KHR_generic_controller_SPEC_VERSION: u32 = 1u32;
21821pub const KHR_GENERIC_CONTROLLER_EXTENSION_NAME: &[u8] = b"XR_KHR_generic_controller\0";
21822pub const LOGITECH_mx_ink_stylus_interaction_SPEC_VERSION: u32 = 1u32;
21823pub const LOGITECH_MX_INK_STYLUS_INTERACTION_EXTENSION_NAME: &[u8] =
21824    b"XR_LOGITECH_mx_ink_stylus_interaction\0";
21825pub const META_foveation_eye_tracked_SPEC_VERSION: u32 = 1u32;
21826pub const META_FOVEATION_EYE_TRACKED_EXTENSION_NAME: &[u8] = b"XR_META_foveation_eye_tracked\0";
21827pub const META_local_dimming_SPEC_VERSION: u32 = 1u32;
21828pub const META_LOCAL_DIMMING_EXTENSION_NAME: &[u8] = b"XR_META_local_dimming\0";
21829pub const META_passthrough_preferences_SPEC_VERSION: u32 = 1u32;
21830pub const META_PASSTHROUGH_PREFERENCES_EXTENSION_NAME: &[u8] = b"XR_META_passthrough_preferences\0";
21831pub const META_virtual_keyboard_SPEC_VERSION: u32 = 1u32;
21832pub const META_VIRTUAL_KEYBOARD_EXTENSION_NAME: &[u8] = b"XR_META_virtual_keyboard\0";
21833pub const META_vulkan_swapchain_create_info_SPEC_VERSION: u32 = 1u32;
21834pub const META_VULKAN_SWAPCHAIN_CREATE_INFO_EXTENSION_NAME: &[u8] =
21835    b"XR_META_vulkan_swapchain_create_info\0";
21836pub const META_performance_metrics_SPEC_VERSION: u32 = 2u32;
21837pub const META_PERFORMANCE_METRICS_EXTENSION_NAME: &[u8] = b"XR_META_performance_metrics\0";
21838pub const META_detached_controllers_SPEC_VERSION: u32 = 1u32;
21839pub const META_DETACHED_CONTROLLERS_EXTENSION_NAME: &[u8] = b"XR_META_detached_controllers\0";
21840pub const META_headset_id_SPEC_VERSION: u32 = 2u32;
21841pub const META_HEADSET_ID_EXTENSION_NAME: &[u8] = b"XR_META_headset_id\0";
21842pub const META_spatial_entity_discovery_SPEC_VERSION: u32 = 1u32;
21843pub const META_SPATIAL_ENTITY_DISCOVERY_EXTENSION_NAME: &[u8] =
21844    b"XR_META_spatial_entity_discovery\0";
21845pub const META_hand_tracking_microgestures_SPEC_VERSION: u32 = 1u32;
21846pub const META_HAND_TRACKING_MICROGESTURES_EXTENSION_NAME: &[u8] =
21847    b"XR_META_hand_tracking_microgestures\0";
21848pub const META_recommended_layer_resolution_SPEC_VERSION: u32 = 1u32;
21849pub const META_RECOMMENDED_LAYER_RESOLUTION_EXTENSION_NAME: &[u8] =
21850    b"XR_META_recommended_layer_resolution\0";
21851pub const META_spatial_entity_persistence_SPEC_VERSION: u32 = 1u32;
21852pub const META_SPATIAL_ENTITY_PERSISTENCE_EXTENSION_NAME: &[u8] =
21853    b"XR_META_spatial_entity_persistence\0";
21854pub const META_passthrough_color_lut_SPEC_VERSION: u32 = 1u32;
21855pub const META_PASSTHROUGH_COLOR_LUT_EXTENSION_NAME: &[u8] = b"XR_META_passthrough_color_lut\0";
21856pub const META_spatial_entity_mesh_SPEC_VERSION: u32 = 1u32;
21857pub const META_SPATIAL_ENTITY_MESH_EXTENSION_NAME: &[u8] = b"XR_META_spatial_entity_mesh\0";
21858pub const META_automatic_layer_filter_SPEC_VERSION: u32 = 1u32;
21859pub const META_AUTOMATIC_LAYER_FILTER_EXTENSION_NAME: &[u8] = b"XR_META_automatic_layer_filter\0";
21860pub const META_body_tracking_full_body_SPEC_VERSION: u32 = 1u32;
21861pub const META_BODY_TRACKING_FULL_BODY_EXTENSION_NAME: &[u8] = b"XR_META_body_tracking_full_body\0";
21862pub const META_touch_controller_plus_SPEC_VERSION: u32 = 1u32;
21863pub const META_TOUCH_CONTROLLER_PLUS_EXTENSION_NAME: &[u8] = b"XR_META_touch_controller_plus\0";
21864pub const META_passthrough_layer_resumed_event_SPEC_VERSION: u32 = 1u32;
21865pub const META_PASSTHROUGH_LAYER_RESUMED_EVENT_EXTENSION_NAME: &[u8] =
21866    b"XR_META_passthrough_layer_resumed_event\0";
21867pub const META_body_tracking_calibration_SPEC_VERSION: u32 = 1u32;
21868pub const META_BODY_TRACKING_CALIBRATION_EXTENSION_NAME: &[u8] =
21869    b"XR_META_body_tracking_calibration\0";
21870pub const META_spatial_entity_sharing_SPEC_VERSION: u32 = 1u32;
21871pub const META_SPATIAL_ENTITY_SHARING_EXTENSION_NAME: &[u8] = b"XR_META_spatial_entity_sharing\0";
21872pub const META_environment_depth_SPEC_VERSION: u32 = 2u32;
21873pub const META_ENVIRONMENT_DEPTH_EXTENSION_NAME: &[u8] = b"XR_META_environment_depth\0";
21874pub const META_simultaneous_hands_and_controllers_SPEC_VERSION: u32 = 1u32;
21875pub const META_SIMULTANEOUS_HANDS_AND_CONTROLLERS_EXTENSION_NAME: &[u8] =
21876    b"XR_META_simultaneous_hands_and_controllers\0";
21877pub const META_colocation_discovery_SPEC_VERSION: u32 = 1u32;
21878pub const META_COLOCATION_DISCOVERY_EXTENSION_NAME: &[u8] = b"XR_META_colocation_discovery\0";
21879pub const META_spatial_entity_group_sharing_SPEC_VERSION: u32 = 1u32;
21880pub const META_SPATIAL_ENTITY_GROUP_SHARING_EXTENSION_NAME: &[u8] =
21881    b"XR_META_spatial_entity_group_sharing\0";
21882pub const ML_ml2_controller_interaction_SPEC_VERSION: u32 = 1u32;
21883pub const ML_ML2_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] =
21884    b"XR_ML_ml2_controller_interaction\0";
21885pub const ML_frame_end_info_SPEC_VERSION: u32 = 1u32;
21886pub const ML_FRAME_END_INFO_EXTENSION_NAME: &[u8] = b"XR_ML_frame_end_info\0";
21887pub const ML_global_dimmer_SPEC_VERSION: u32 = 1u32;
21888pub const ML_GLOBAL_DIMMER_EXTENSION_NAME: &[u8] = b"XR_ML_global_dimmer\0";
21889pub const ML_compat_SPEC_VERSION: u32 = 1u32;
21890pub const ML_COMPAT_EXTENSION_NAME: &[u8] = b"XR_ML_compat\0";
21891pub const ML_marker_understanding_SPEC_VERSION: u32 = 1u32;
21892pub const ML_MARKER_UNDERSTANDING_EXTENSION_NAME: &[u8] = b"XR_ML_marker_understanding\0";
21893pub const ML_localization_map_SPEC_VERSION: u32 = 1u32;
21894pub const ML_LOCALIZATION_MAP_EXTENSION_NAME: &[u8] = b"XR_ML_localization_map\0";
21895pub const ML_spatial_anchors_SPEC_VERSION: u32 = 1u32;
21896pub const ML_SPATIAL_ANCHORS_EXTENSION_NAME: &[u8] = b"XR_ML_spatial_anchors\0";
21897pub const ML_spatial_anchors_storage_SPEC_VERSION: u32 = 1u32;
21898pub const ML_SPATIAL_ANCHORS_STORAGE_EXTENSION_NAME: &[u8] = b"XR_ML_spatial_anchors_storage\0";
21899pub const ML_user_calibration_SPEC_VERSION: u32 = 1u32;
21900pub const ML_USER_CALIBRATION_EXTENSION_NAME: &[u8] = b"XR_ML_user_calibration\0";
21901pub const ML_system_notifications_SPEC_VERSION: u32 = 1u32;
21902pub const ML_SYSTEM_NOTIFICATIONS_EXTENSION_NAME: &[u8] = b"XR_ML_system_notifications\0";
21903pub const ML_world_mesh_detection_SPEC_VERSION: u32 = 1u32;
21904pub const ML_WORLD_MESH_DETECTION_EXTENSION_NAME: &[u8] = b"XR_ML_world_mesh_detection\0";
21905pub const ML_facial_expression_SPEC_VERSION: u32 = 1u32;
21906pub const ML_FACIAL_EXPRESSION_EXTENSION_NAME: &[u8] = b"XR_ML_facial_expression\0";
21907pub const ML_view_configuration_depth_range_change_SPEC_VERSION: u32 = 1u32;
21908pub const ML_VIEW_CONFIGURATION_DEPTH_RANGE_CHANGE_EXTENSION_NAME: &[u8] =
21909    b"XR_ML_view_configuration_depth_range_change\0";
21910pub const MND_headless_SPEC_VERSION: u32 = 3u32;
21911pub const MND_HEADLESS_EXTENSION_NAME: &[u8] = b"XR_MND_headless\0";
21912pub const MND_swapchain_usage_input_attachment_bit_SPEC_VERSION: u32 = 2u32;
21913pub const MND_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_EXTENSION_NAME: &[u8] =
21914    b"XR_MND_swapchain_usage_input_attachment_bit\0";
21915pub const MSFT_unbounded_reference_space_SPEC_VERSION: u32 = 1u32;
21916pub const MSFT_UNBOUNDED_REFERENCE_SPACE_EXTENSION_NAME: &[u8] =
21917    b"XR_MSFT_unbounded_reference_space\0";
21918pub const MSFT_spatial_anchor_SPEC_VERSION: u32 = 2u32;
21919pub const MSFT_SPATIAL_ANCHOR_EXTENSION_NAME: &[u8] = b"XR_MSFT_spatial_anchor\0";
21920pub const MSFT_spatial_graph_bridge_SPEC_VERSION: u32 = 2u32;
21921pub const MSFT_SPATIAL_GRAPH_BRIDGE_EXTENSION_NAME: &[u8] = b"XR_MSFT_spatial_graph_bridge\0";
21922pub const MSFT_hand_interaction_SPEC_VERSION: u32 = 1u32;
21923pub const MSFT_HAND_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_MSFT_hand_interaction\0";
21924pub const MSFT_hand_tracking_mesh_SPEC_VERSION: u32 = 4u32;
21925pub const MSFT_HAND_TRACKING_MESH_EXTENSION_NAME: &[u8] = b"XR_MSFT_hand_tracking_mesh\0";
21926pub const MSFT_secondary_view_configuration_SPEC_VERSION: u32 = 1u32;
21927pub const MSFT_SECONDARY_VIEW_CONFIGURATION_EXTENSION_NAME: &[u8] =
21928    b"XR_MSFT_secondary_view_configuration\0";
21929pub const MSFT_first_person_observer_SPEC_VERSION: u32 = 1u32;
21930pub const MSFT_FIRST_PERSON_OBSERVER_EXTENSION_NAME: &[u8] = b"XR_MSFT_first_person_observer\0";
21931pub const MSFT_controller_model_SPEC_VERSION: u32 = 2u32;
21932pub const MSFT_CONTROLLER_MODEL_EXTENSION_NAME: &[u8] = b"XR_MSFT_controller_model\0";
21933#[cfg(windows)]
21934pub const MSFT_perception_anchor_interop_SPEC_VERSION: u32 = 1u32;
21935#[cfg(windows)]
21936pub const MSFT_PERCEPTION_ANCHOR_INTEROP_EXTENSION_NAME: &[u8] =
21937    b"XR_MSFT_perception_anchor_interop\0";
21938#[cfg(windows)]
21939pub const MSFT_holographic_window_attachment_SPEC_VERSION: u32 = 1u32;
21940#[cfg(windows)]
21941pub const MSFT_HOLOGRAPHIC_WINDOW_ATTACHMENT_EXTENSION_NAME: &[u8] =
21942    b"XR_MSFT_holographic_window_attachment\0";
21943pub const MSFT_composition_layer_reprojection_SPEC_VERSION: u32 = 1u32;
21944pub const MSFT_COMPOSITION_LAYER_REPROJECTION_EXTENSION_NAME: &[u8] =
21945    b"XR_MSFT_composition_layer_reprojection\0";
21946pub const MSFT_scene_understanding_SPEC_VERSION: u32 = 2u32;
21947pub const MSFT_SCENE_UNDERSTANDING_EXTENSION_NAME: &[u8] = b"XR_MSFT_scene_understanding\0";
21948pub const MSFT_scene_understanding_serialization_SPEC_VERSION: u32 = 2u32;
21949pub const MSFT_SCENE_UNDERSTANDING_SERIALIZATION_EXTENSION_NAME: &[u8] =
21950    b"XR_MSFT_scene_understanding_serialization\0";
21951pub const MSFT_spatial_anchor_persistence_SPEC_VERSION: u32 = 2u32;
21952pub const MSFT_SPATIAL_ANCHOR_PERSISTENCE_EXTENSION_NAME: &[u8] =
21953    b"XR_MSFT_spatial_anchor_persistence\0";
21954pub const MSFT_scene_marker_SPEC_VERSION: u32 = 1u32;
21955pub const MSFT_SCENE_MARKER_EXTENSION_NAME: &[u8] = b"XR_MSFT_scene_marker\0";
21956#[cfg(target_os = "android")]
21957pub const OCULUS_android_session_state_enable_SPEC_VERSION: u32 = 1u32;
21958#[cfg(target_os = "android")]
21959pub const OCULUS_ANDROID_SESSION_STATE_ENABLE_EXTENSION_NAME: &[u8] =
21960    b"XR_OCULUS_android_session_state_enable\0";
21961pub const OCULUS_audio_device_guid_SPEC_VERSION: u32 = 1u32;
21962pub const OCULUS_AUDIO_DEVICE_GUID_EXTENSION_NAME: &[u8] = b"XR_OCULUS_audio_device_guid\0";
21963pub const OCULUS_external_camera_SPEC_VERSION: u32 = 1u32;
21964pub const OCULUS_EXTERNAL_CAMERA_EXTENSION_NAME: &[u8] = b"XR_OCULUS_external_camera\0";
21965pub const OPPO_controller_interaction_SPEC_VERSION: u32 = 1u32;
21966pub const OPPO_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_OPPO_controller_interaction\0";
21967pub const QCOM_tracking_optimization_settings_SPEC_VERSION: u32 = 1u32;
21968pub const QCOM_TRACKING_OPTIMIZATION_SETTINGS_EXTENSION_NAME: &[u8] =
21969    b"XR_QCOM_tracking_optimization_settings\0";
21970pub const ULTRALEAP_hand_tracking_forearm_SPEC_VERSION: u32 = 1u32;
21971pub const ULTRALEAP_HAND_TRACKING_FOREARM_EXTENSION_NAME: &[u8] =
21972    b"XR_ULTRALEAP_hand_tracking_forearm\0";
21973pub const VALVE_analog_threshold_SPEC_VERSION: u32 = 2u32;
21974pub const VALVE_ANALOG_THRESHOLD_EXTENSION_NAME: &[u8] = b"XR_VALVE_analog_threshold\0";
21975pub const VARJO_quad_views_SPEC_VERSION: u32 = 2u32;
21976pub const VARJO_QUAD_VIEWS_EXTENSION_NAME: &[u8] = b"XR_VARJO_quad_views\0";
21977pub const VARJO_foveated_rendering_SPEC_VERSION: u32 = 3u32;
21978pub const VARJO_FOVEATED_RENDERING_EXTENSION_NAME: &[u8] = b"XR_VARJO_foveated_rendering\0";
21979pub const VARJO_composition_layer_depth_test_SPEC_VERSION: u32 = 2u32;
21980pub const VARJO_COMPOSITION_LAYER_DEPTH_TEST_EXTENSION_NAME: &[u8] =
21981    b"XR_VARJO_composition_layer_depth_test\0";
21982pub const VARJO_environment_depth_estimation_SPEC_VERSION: u32 = 1u32;
21983pub const VARJO_ENVIRONMENT_DEPTH_ESTIMATION_EXTENSION_NAME: &[u8] =
21984    b"XR_VARJO_environment_depth_estimation\0";
21985pub const VARJO_marker_tracking_SPEC_VERSION: u32 = 1u32;
21986pub const VARJO_MARKER_TRACKING_EXTENSION_NAME: &[u8] = b"XR_VARJO_marker_tracking\0";
21987pub const VARJO_view_offset_SPEC_VERSION: u32 = 1u32;
21988pub const VARJO_VIEW_OFFSET_EXTENSION_NAME: &[u8] = b"XR_VARJO_view_offset\0";
21989pub const VARJO_xr4_controller_interaction_SPEC_VERSION: u32 = 2u32;
21990pub const VARJO_XR4_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] =
21991    b"XR_VARJO_xr4_controller_interaction\0";
21992pub const YVR_controller_interaction_SPEC_VERSION: u32 = 1u32;
21993pub const YVR_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_YVR_controller_interaction\0";
21994pub const EXTX_overlay_SPEC_VERSION: u32 = 5u32;
21995pub const EXTX_OVERLAY_EXTENSION_NAME: &[u8] = b"XR_EXTX_overlay\0";
21996pub const MNDX_egl_enable_SPEC_VERSION: u32 = 2u32;
21997pub const MNDX_EGL_ENABLE_EXTENSION_NAME: &[u8] = b"XR_MNDX_egl_enable\0";
21998pub const MNDX_force_feedback_curl_SPEC_VERSION: u32 = 1u32;
21999pub const MNDX_FORCE_FEEDBACK_CURL_EXTENSION_NAME: &[u8] = b"XR_MNDX_force_feedback_curl\0";
22000pub const HTCX_vive_tracker_interaction_SPEC_VERSION: u32 = 3u32;
22001pub const HTCX_VIVE_TRACKER_INTERACTION_EXTENSION_NAME: &[u8] =
22002    b"XR_HTCX_vive_tracker_interaction\0";
22003#[cfg(feature = "linked")]
22004unsafe extern "system" {
22005    #[link_name = "xrNegotiateLoaderRuntimeInterface"]
22006    pub fn negotiate_loader_runtime_interface(
22007        loader_info: *const NegotiateLoaderInfo,
22008        runtime_request: *mut NegotiateRuntimeRequest,
22009    ) -> Result;
22010    #[link_name = "xrNegotiateLoaderApiLayerInterface"]
22011    pub fn negotiate_loader_api_layer_interface(
22012        loader_info: *const NegotiateLoaderInfo,
22013        layer_name: *const c_char,
22014        api_layer_request: *mut NegotiateApiLayerRequest,
22015    ) -> Result;
22016    #[link_name = "xrCreateApiLayerInstance"]
22017    pub fn create_api_layer_instance(
22018        info: *const InstanceCreateInfo,
22019        layer_info: *const ApiLayerCreateInfo,
22020        instance: *mut Instance,
22021    ) -> Result;
22022    #[link_name = "xrGetInstanceProcAddr"]
22023    pub fn get_instance_proc_addr(
22024        instance: Instance,
22025        name: *const c_char,
22026        function: *mut Option<pfn::VoidFunction>,
22027    ) -> Result;
22028    #[link_name = "xrEnumerateApiLayerProperties"]
22029    pub fn enumerate_api_layer_properties(
22030        property_capacity_input: u32,
22031        property_count_output: *mut u32,
22032        properties: *mut ApiLayerProperties,
22033    ) -> Result;
22034    #[link_name = "xrEnumerateInstanceExtensionProperties"]
22035    pub fn enumerate_instance_extension_properties(
22036        layer_name: *const c_char,
22037        property_capacity_input: u32,
22038        property_count_output: *mut u32,
22039        properties: *mut ExtensionProperties,
22040    ) -> Result;
22041    #[link_name = "xrCreateInstance"]
22042    pub fn create_instance(
22043        create_info: *const InstanceCreateInfo,
22044        instance: *mut Instance,
22045    ) -> Result;
22046    #[link_name = "xrDestroyInstance"]
22047    pub fn destroy_instance(instance: Instance) -> Result;
22048    #[link_name = "xrResultToString"]
22049    pub fn result_to_string(instance: Instance, value: Result, buffer: *mut c_char) -> Result;
22050    #[link_name = "xrStructureTypeToString"]
22051    pub fn structure_type_to_string(
22052        instance: Instance,
22053        value: StructureType,
22054        buffer: *mut c_char,
22055    ) -> Result;
22056    #[link_name = "xrGetInstanceProperties"]
22057    pub fn get_instance_properties(
22058        instance: Instance,
22059        instance_properties: *mut InstanceProperties,
22060    ) -> Result;
22061    #[link_name = "xrGetSystem"]
22062    pub fn get_system(
22063        instance: Instance,
22064        get_info: *const SystemGetInfo,
22065        system_id: *mut SystemId,
22066    ) -> Result;
22067    #[link_name = "xrGetSystemProperties"]
22068    pub fn get_system_properties(
22069        instance: Instance,
22070        system_id: SystemId,
22071        properties: *mut SystemProperties,
22072    ) -> Result;
22073    #[link_name = "xrCreateSession"]
22074    pub fn create_session(
22075        instance: Instance,
22076        create_info: *const SessionCreateInfo,
22077        session: *mut Session,
22078    ) -> Result;
22079    #[link_name = "xrDestroySession"]
22080    pub fn destroy_session(session: Session) -> Result;
22081    #[link_name = "xrDestroySpace"]
22082    pub fn destroy_space(space: Space) -> Result;
22083    #[link_name = "xrEnumerateSwapchainFormats"]
22084    pub fn enumerate_swapchain_formats(
22085        session: Session,
22086        format_capacity_input: u32,
22087        format_count_output: *mut u32,
22088        formats: *mut i64,
22089    ) -> Result;
22090    #[link_name = "xrCreateSwapchain"]
22091    pub fn create_swapchain(
22092        session: Session,
22093        create_info: *const SwapchainCreateInfo,
22094        swapchain: *mut Swapchain,
22095    ) -> Result;
22096    #[link_name = "xrDestroySwapchain"]
22097    pub fn destroy_swapchain(swapchain: Swapchain) -> Result;
22098    #[link_name = "xrEnumerateSwapchainImages"]
22099    pub fn enumerate_swapchain_images(
22100        swapchain: Swapchain,
22101        image_capacity_input: u32,
22102        image_count_output: *mut u32,
22103        images: *mut SwapchainImageBaseHeader,
22104    ) -> Result;
22105    #[link_name = "xrAcquireSwapchainImage"]
22106    pub fn acquire_swapchain_image(
22107        swapchain: Swapchain,
22108        acquire_info: *const SwapchainImageAcquireInfo,
22109        index: *mut u32,
22110    ) -> Result;
22111    #[link_name = "xrWaitSwapchainImage"]
22112    pub fn wait_swapchain_image(
22113        swapchain: Swapchain,
22114        wait_info: *const SwapchainImageWaitInfo,
22115    ) -> Result;
22116    #[link_name = "xrReleaseSwapchainImage"]
22117    pub fn release_swapchain_image(
22118        swapchain: Swapchain,
22119        release_info: *const SwapchainImageReleaseInfo,
22120    ) -> Result;
22121    #[link_name = "xrBeginSession"]
22122    pub fn begin_session(session: Session, begin_info: *const SessionBeginInfo) -> Result;
22123    #[link_name = "xrEndSession"]
22124    pub fn end_session(session: Session) -> Result;
22125    #[link_name = "xrRequestExitSession"]
22126    pub fn request_exit_session(session: Session) -> Result;
22127    #[link_name = "xrEnumerateReferenceSpaces"]
22128    pub fn enumerate_reference_spaces(
22129        session: Session,
22130        space_capacity_input: u32,
22131        space_count_output: *mut u32,
22132        spaces: *mut ReferenceSpaceType,
22133    ) -> Result;
22134    #[link_name = "xrCreateReferenceSpace"]
22135    pub fn create_reference_space(
22136        session: Session,
22137        create_info: *const ReferenceSpaceCreateInfo,
22138        space: *mut Space,
22139    ) -> Result;
22140    #[link_name = "xrCreateActionSpace"]
22141    pub fn create_action_space(
22142        session: Session,
22143        create_info: *const ActionSpaceCreateInfo,
22144        space: *mut Space,
22145    ) -> Result;
22146    #[link_name = "xrLocateSpace"]
22147    pub fn locate_space(
22148        space: Space,
22149        base_space: Space,
22150        time: Time,
22151        location: *mut SpaceLocation,
22152    ) -> Result;
22153    #[link_name = "xrEnumerateViewConfigurations"]
22154    pub fn enumerate_view_configurations(
22155        instance: Instance,
22156        system_id: SystemId,
22157        view_configuration_type_capacity_input: u32,
22158        view_configuration_type_count_output: *mut u32,
22159        view_configuration_types: *mut ViewConfigurationType,
22160    ) -> Result;
22161    #[link_name = "xrEnumerateEnvironmentBlendModes"]
22162    pub fn enumerate_environment_blend_modes(
22163        instance: Instance,
22164        system_id: SystemId,
22165        view_configuration_type: ViewConfigurationType,
22166        environment_blend_mode_capacity_input: u32,
22167        environment_blend_mode_count_output: *mut u32,
22168        environment_blend_modes: *mut EnvironmentBlendMode,
22169    ) -> Result;
22170    #[link_name = "xrGetViewConfigurationProperties"]
22171    pub fn get_view_configuration_properties(
22172        instance: Instance,
22173        system_id: SystemId,
22174        view_configuration_type: ViewConfigurationType,
22175        configuration_properties: *mut ViewConfigurationProperties,
22176    ) -> Result;
22177    #[link_name = "xrEnumerateViewConfigurationViews"]
22178    pub fn enumerate_view_configuration_views(
22179        instance: Instance,
22180        system_id: SystemId,
22181        view_configuration_type: ViewConfigurationType,
22182        view_capacity_input: u32,
22183        view_count_output: *mut u32,
22184        views: *mut ViewConfigurationView,
22185    ) -> Result;
22186    #[link_name = "xrBeginFrame"]
22187    pub fn begin_frame(session: Session, frame_begin_info: *const FrameBeginInfo) -> Result;
22188    #[link_name = "xrLocateViews"]
22189    pub fn locate_views(
22190        session: Session,
22191        view_locate_info: *const ViewLocateInfo,
22192        view_state: *mut ViewState,
22193        view_capacity_input: u32,
22194        view_count_output: *mut u32,
22195        views: *mut View,
22196    ) -> Result;
22197    #[link_name = "xrEndFrame"]
22198    pub fn end_frame(session: Session, frame_end_info: *const FrameEndInfo) -> Result;
22199    #[link_name = "xrWaitFrame"]
22200    pub fn wait_frame(
22201        session: Session,
22202        frame_wait_info: *const FrameWaitInfo,
22203        frame_state: *mut FrameState,
22204    ) -> Result;
22205    #[link_name = "xrApplyHapticFeedback"]
22206    pub fn apply_haptic_feedback(
22207        session: Session,
22208        haptic_action_info: *const HapticActionInfo,
22209        haptic_feedback: *const HapticBaseHeader,
22210    ) -> Result;
22211    #[link_name = "xrStopHapticFeedback"]
22212    pub fn stop_haptic_feedback(
22213        session: Session,
22214        haptic_action_info: *const HapticActionInfo,
22215    ) -> Result;
22216    #[link_name = "xrPollEvent"]
22217    pub fn poll_event(instance: Instance, event_data: *mut EventDataBuffer) -> Result;
22218    #[link_name = "xrStringToPath"]
22219    pub fn string_to_path(
22220        instance: Instance,
22221        path_string: *const c_char,
22222        path: *mut Path,
22223    ) -> Result;
22224    #[link_name = "xrPathToString"]
22225    pub fn path_to_string(
22226        instance: Instance,
22227        path: Path,
22228        buffer_capacity_input: u32,
22229        buffer_count_output: *mut u32,
22230        buffer: *mut c_char,
22231    ) -> Result;
22232    #[link_name = "xrGetReferenceSpaceBoundsRect"]
22233    pub fn get_reference_space_bounds_rect(
22234        session: Session,
22235        reference_space_type: ReferenceSpaceType,
22236        bounds: *mut Extent2Df,
22237    ) -> Result;
22238    #[link_name = "xrGetActionStateBoolean"]
22239    pub fn get_action_state_boolean(
22240        session: Session,
22241        get_info: *const ActionStateGetInfo,
22242        state: *mut ActionStateBoolean,
22243    ) -> Result;
22244    #[link_name = "xrGetActionStateFloat"]
22245    pub fn get_action_state_float(
22246        session: Session,
22247        get_info: *const ActionStateGetInfo,
22248        state: *mut ActionStateFloat,
22249    ) -> Result;
22250    #[link_name = "xrGetActionStateVector2f"]
22251    pub fn get_action_state_vector2f(
22252        session: Session,
22253        get_info: *const ActionStateGetInfo,
22254        state: *mut ActionStateVector2f,
22255    ) -> Result;
22256    #[link_name = "xrGetActionStatePose"]
22257    pub fn get_action_state_pose(
22258        session: Session,
22259        get_info: *const ActionStateGetInfo,
22260        state: *mut ActionStatePose,
22261    ) -> Result;
22262    #[link_name = "xrCreateActionSet"]
22263    pub fn create_action_set(
22264        instance: Instance,
22265        create_info: *const ActionSetCreateInfo,
22266        action_set: *mut ActionSet,
22267    ) -> Result;
22268    #[link_name = "xrDestroyActionSet"]
22269    pub fn destroy_action_set(action_set: ActionSet) -> Result;
22270    #[link_name = "xrCreateAction"]
22271    pub fn create_action(
22272        action_set: ActionSet,
22273        create_info: *const ActionCreateInfo,
22274        action: *mut Action,
22275    ) -> Result;
22276    #[link_name = "xrDestroyAction"]
22277    pub fn destroy_action(action: Action) -> Result;
22278    #[link_name = "xrSuggestInteractionProfileBindings"]
22279    pub fn suggest_interaction_profile_bindings(
22280        instance: Instance,
22281        suggested_bindings: *const InteractionProfileSuggestedBinding,
22282    ) -> Result;
22283    #[link_name = "xrAttachSessionActionSets"]
22284    pub fn attach_session_action_sets(
22285        session: Session,
22286        attach_info: *const SessionActionSetsAttachInfo,
22287    ) -> Result;
22288    #[link_name = "xrGetCurrentInteractionProfile"]
22289    pub fn get_current_interaction_profile(
22290        session: Session,
22291        top_level_user_path: Path,
22292        interaction_profile: *mut InteractionProfileState,
22293    ) -> Result;
22294    #[link_name = "xrSyncActions"]
22295    pub fn sync_actions(session: Session, sync_info: *const ActionsSyncInfo) -> Result;
22296    #[link_name = "xrEnumerateBoundSourcesForAction"]
22297    pub fn enumerate_bound_sources_for_action(
22298        session: Session,
22299        enumerate_info: *const BoundSourcesForActionEnumerateInfo,
22300        source_capacity_input: u32,
22301        source_count_output: *mut u32,
22302        sources: *mut Path,
22303    ) -> Result;
22304    #[link_name = "xrGetInputSourceLocalizedName"]
22305    pub fn get_input_source_localized_name(
22306        session: Session,
22307        get_info: *const InputSourceLocalizedNameGetInfo,
22308        buffer_capacity_input: u32,
22309        buffer_count_output: *mut u32,
22310        buffer: *mut c_char,
22311    ) -> Result;
22312    #[link_name = "xrLocateSpaces"]
22313    pub fn locate_spaces(
22314        session: Session,
22315        locate_info: *const SpacesLocateInfo,
22316        space_locations: *mut SpaceLocations,
22317    ) -> Result;
22318    #[link_name = "xrLocateSpacesKHR"]
22319    pub fn locate_spaces_khr(
22320        session: Session,
22321        locate_info: *const SpacesLocateInfo,
22322        space_locations: *mut SpaceLocations,
22323    ) -> Result;
22324}