Skip to main content

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, 58u32);
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 BODY_TRACKING_FIDELITY_STATUS_META: StructureType = Self(1000284000i32);
609    pub const SYSTEM_PROPERTIES_BODY_TRACKING_FIDELITY_META: StructureType = Self(1000284001i32);
610    pub const SYSTEM_FACE_TRACKING_PROPERTIES2_FB: StructureType = Self(1000287013i32);
611    pub const FACE_TRACKER_CREATE_INFO2_FB: StructureType = Self(1000287014i32);
612    pub const FACE_EXPRESSION_INFO2_FB: StructureType = Self(1000287015i32);
613    pub const FACE_EXPRESSION_WEIGHTS2_FB: StructureType = Self(1000287016i32);
614    pub const SYSTEM_SPATIAL_ENTITY_SHARING_PROPERTIES_META: StructureType = Self(1000290000i32);
615    pub const SHARE_SPACES_INFO_META: StructureType = Self(1000290001i32);
616    pub const EVENT_DATA_SHARE_SPACES_COMPLETE_META: StructureType = Self(1000290002i32);
617    pub const ENVIRONMENT_DEPTH_PROVIDER_CREATE_INFO_META: StructureType = Self(1000291000i32);
618    pub const ENVIRONMENT_DEPTH_SWAPCHAIN_CREATE_INFO_META: StructureType = Self(1000291001i32);
619    pub const ENVIRONMENT_DEPTH_SWAPCHAIN_STATE_META: StructureType = Self(1000291002i32);
620    pub const ENVIRONMENT_DEPTH_IMAGE_ACQUIRE_INFO_META: StructureType = Self(1000291003i32);
621    pub const ENVIRONMENT_DEPTH_IMAGE_VIEW_META: StructureType = Self(1000291004i32);
622    pub const ENVIRONMENT_DEPTH_IMAGE_META: StructureType = Self(1000291005i32);
623    pub const ENVIRONMENT_DEPTH_HAND_REMOVAL_SET_INFO_META: StructureType = Self(1000291006i32);
624    pub const SYSTEM_ENVIRONMENT_DEPTH_PROPERTIES_META: StructureType = Self(1000291007i32);
625    pub const ENVIRONMENT_DEPTH_IMAGE_TIMESTAMP_META: StructureType = Self(1000291008i32);
626    pub const RENDER_MODEL_CREATE_INFO_EXT: StructureType = Self(1000300000i32);
627    pub const RENDER_MODEL_PROPERTIES_GET_INFO_EXT: StructureType = Self(1000300001i32);
628    pub const RENDER_MODEL_PROPERTIES_EXT: StructureType = Self(1000300002i32);
629    pub const RENDER_MODEL_SPACE_CREATE_INFO_EXT: StructureType = Self(1000300003i32);
630    pub const RENDER_MODEL_STATE_GET_INFO_EXT: StructureType = Self(1000300004i32);
631    pub const RENDER_MODEL_STATE_EXT: StructureType = Self(1000300005i32);
632    pub const RENDER_MODEL_ASSET_CREATE_INFO_EXT: StructureType = Self(1000300006i32);
633    pub const RENDER_MODEL_ASSET_DATA_GET_INFO_EXT: StructureType = Self(1000300007i32);
634    pub const RENDER_MODEL_ASSET_DATA_EXT: StructureType = Self(1000300008i32);
635    pub const RENDER_MODEL_ASSET_PROPERTIES_GET_INFO_EXT: StructureType = Self(1000300009i32);
636    pub const RENDER_MODEL_ASSET_PROPERTIES_EXT: StructureType = Self(1000300010i32);
637    pub const INTERACTION_RENDER_MODEL_IDS_ENUMERATE_INFO_EXT: StructureType = Self(1000301000i32);
638    pub const INTERACTION_RENDER_MODEL_SUBACTION_PATH_INFO_EXT: StructureType = Self(1000301001i32);
639    pub const EVENT_DATA_INTERACTION_RENDER_MODELS_CHANGED_EXT: StructureType = Self(1000301002i32);
640    pub const INTERACTION_RENDER_MODEL_TOP_LEVEL_USER_PATH_GET_INFO_EXT: StructureType =
641        Self(1000301003i32);
642    pub const PASSTHROUGH_CREATE_INFO_HTC: StructureType = Self(1000317001i32);
643    pub const PASSTHROUGH_COLOR_HTC: StructureType = Self(1000317002i32);
644    pub const PASSTHROUGH_MESH_TRANSFORM_INFO_HTC: StructureType = Self(1000317003i32);
645    pub const COMPOSITION_LAYER_PASSTHROUGH_HTC: StructureType = Self(1000317004i32);
646    pub const FOVEATION_APPLY_INFO_HTC: StructureType = Self(1000318000i32);
647    pub const FOVEATION_DYNAMIC_MODE_INFO_HTC: StructureType = Self(1000318001i32);
648    pub const FOVEATION_CUSTOM_MODE_INFO_HTC: StructureType = Self(1000318002i32);
649    pub const SYSTEM_ANCHOR_PROPERTIES_HTC: StructureType = Self(1000319000i32);
650    pub const SPATIAL_ANCHOR_CREATE_INFO_HTC: StructureType = Self(1000319001i32);
651    pub const SYSTEM_BODY_TRACKING_PROPERTIES_HTC: StructureType = Self(1000320000i32);
652    pub const BODY_TRACKER_CREATE_INFO_HTC: StructureType = Self(1000320001i32);
653    pub const BODY_JOINTS_LOCATE_INFO_HTC: StructureType = Self(1000320002i32);
654    pub const BODY_JOINT_LOCATIONS_HTC: StructureType = Self(1000320003i32);
655    pub const BODY_SKELETON_HTC: StructureType = Self(1000320004i32);
656    pub const ACTIVE_ACTION_SET_PRIORITIES_EXT: StructureType = Self(1000373000i32);
657    pub const SYSTEM_FORCE_FEEDBACK_CURL_PROPERTIES_MNDX: StructureType = Self(1000375000i32);
658    pub const FORCE_FEEDBACK_CURL_APPLY_LOCATIONS_MNDX: StructureType = Self(1000375001i32);
659    pub const BODY_TRACKER_CREATE_INFO_BD: StructureType = Self(1000385001i32);
660    pub const BODY_JOINTS_LOCATE_INFO_BD: StructureType = Self(1000385002i32);
661    pub const BODY_JOINT_LOCATIONS_BD: StructureType = Self(1000385003i32);
662    pub const SYSTEM_BODY_TRACKING_PROPERTIES_BD: StructureType = Self(1000385004i32);
663    pub const SYSTEM_FACIAL_SIMULATION_PROPERTIES_BD: StructureType = Self(1000386001i32);
664    pub const FACE_TRACKER_CREATE_INFO_BD: StructureType = Self(1000386002i32);
665    pub const FACIAL_SIMULATION_DATA_GET_INFO_BD: StructureType = Self(1000386003i32);
666    pub const FACIAL_SIMULATION_DATA_BD: StructureType = Self(1000386004i32);
667    pub const LIP_EXPRESSION_DATA_BD: StructureType = Self(1000386005i32);
668    pub const SYSTEM_SPATIAL_SENSING_PROPERTIES_BD: StructureType = Self(1000389000i32);
669    pub const SPATIAL_ENTITY_COMPONENT_GET_INFO_BD: StructureType = Self(1000389001i32);
670    pub const SPATIAL_ENTITY_LOCATION_GET_INFO_BD: StructureType = Self(1000389002i32);
671    pub const SPATIAL_ENTITY_COMPONENT_DATA_LOCATION_BD: StructureType = Self(1000389003i32);
672    pub const SPATIAL_ENTITY_COMPONENT_DATA_SEMANTIC_BD: StructureType = Self(1000389004i32);
673    pub const SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_2D_BD: StructureType = Self(1000389005i32);
674    pub const SPATIAL_ENTITY_COMPONENT_DATA_POLYGON_BD: StructureType = Self(1000389006i32);
675    pub const SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_3D_BD: StructureType = Self(1000389007i32);
676    pub const SPATIAL_ENTITY_COMPONENT_DATA_TRIANGLE_MESH_BD: StructureType = Self(1000389008i32);
677    pub const SENSE_DATA_PROVIDER_CREATE_INFO_BD: StructureType = Self(1000389009i32);
678    pub const SENSE_DATA_PROVIDER_START_INFO_BD: StructureType = Self(1000389010i32);
679    pub const EVENT_DATA_SENSE_DATA_PROVIDER_STATE_CHANGED_BD: StructureType = Self(1000389011i32);
680    pub const EVENT_DATA_SENSE_DATA_UPDATED_BD: StructureType = Self(1000389012i32);
681    pub const SENSE_DATA_QUERY_INFO_BD: StructureType = Self(1000389013i32);
682    pub const SENSE_DATA_QUERY_COMPLETION_BD: StructureType = Self(1000389014i32);
683    pub const SENSE_DATA_FILTER_UUID_BD: StructureType = Self(1000389015i32);
684    pub const SENSE_DATA_FILTER_SEMANTIC_BD: StructureType = Self(1000389016i32);
685    pub const QUERIED_SENSE_DATA_GET_INFO_BD: StructureType = Self(1000389017i32);
686    pub const QUERIED_SENSE_DATA_BD: StructureType = Self(1000389018i32);
687    pub const SPATIAL_ENTITY_STATE_BD: StructureType = Self(1000389019i32);
688    pub const SPATIAL_ENTITY_ANCHOR_CREATE_INFO_BD: StructureType = Self(1000389020i32);
689    pub const ANCHOR_SPACE_CREATE_INFO_BD: StructureType = Self(1000389021i32);
690    pub const SYSTEM_SPATIAL_ANCHOR_PROPERTIES_BD: StructureType = Self(1000390000i32);
691    pub const SPATIAL_ANCHOR_CREATE_INFO_BD: StructureType = Self(1000390001i32);
692    pub const SPATIAL_ANCHOR_CREATE_COMPLETION_BD: StructureType = Self(1000390002i32);
693    pub const SPATIAL_ANCHOR_PERSIST_INFO_BD: StructureType = Self(1000390003i32);
694    pub const SPATIAL_ANCHOR_UNPERSIST_INFO_BD: StructureType = Self(1000390004i32);
695    pub const SYSTEM_SPATIAL_ANCHOR_SHARING_PROPERTIES_BD: StructureType = Self(1000391000i32);
696    pub const SPATIAL_ANCHOR_SHARE_INFO_BD: StructureType = Self(1000391001i32);
697    pub const SHARED_SPATIAL_ANCHOR_DOWNLOAD_INFO_BD: StructureType = Self(1000391002i32);
698    pub const SYSTEM_SPATIAL_SCENE_PROPERTIES_BD: StructureType = Self(1000392000i32);
699    pub const SCENE_CAPTURE_INFO_BD: StructureType = Self(1000392001i32);
700    pub const SYSTEM_SPATIAL_MESH_PROPERTIES_BD: StructureType = Self(1000393000i32);
701    pub const SENSE_DATA_PROVIDER_CREATE_INFO_SPATIAL_MESH_BD: StructureType = Self(1000393001i32);
702    pub const FUTURE_POLL_RESULT_PROGRESS_BD: StructureType = Self(1000394001i32);
703    #[doc = "XrSystemSpatialPlanePropertiesBD"]
704    pub const SYSTEM_SPATIAL_PLANE_PROPERTIES_BD: StructureType = Self(1000396000i32);
705    #[doc = "XrSpatialEntityComponentDataPlaneOrientationBD"]
706    pub const SPATIAL_ENTITY_COMPONENT_DATA_PLANE_ORIENTATION_BD: StructureType =
707        Self(1000396001i32);
708    #[doc = "XrSenseDataFilterPlaneOrientationBD"]
709    pub const SENSE_DATA_FILTER_PLANE_ORIENTATION_BD: StructureType = Self(1000396002i32);
710    pub const SPATIAL_AUDIO_RENDERER_CREATE_INFO_BD: StructureType = Self(1000409000i32);
711    pub const AUDIO_BUFFER_BD: StructureType = Self(1000409001i32);
712    pub const SOUND_OBJECT_DIRECTIVITY_CARDIOID_BD: StructureType = Self(1000409003i32);
713    pub const SOUND_OBJECT_SHAPE_SPHERE_BD: StructureType = Self(1000409004i32);
714    pub const SOUND_OBJECT_DISTANCE_ATTENUATION_BD: StructureType = Self(1000409005i32);
715    pub const SOUND_OBJECT_DISTANCE_ATTENUATION_CURVE_BD: StructureType = Self(1000409006i32);
716    pub const SOUND_OBJECT_CONFIG_BD: StructureType = Self(1000409007i32);
717    pub const SOUND_FIELD_CONFIG_BD: StructureType = Self(1000409008i32);
718    pub const SOUND_FIELD_CHANNEL_DEFINITION_SURROUND_BD: StructureType = Self(1000409009i32);
719    pub const SOUND_FIELD_CHANNEL_DEFINITION_AMBIX_BD: StructureType = Self(1000409010i32);
720    pub const SOUND_FIELD_CHANNEL_DEFINITION_FUMA_BD: StructureType = Self(1000409011i32);
721    pub const SOUND_TRIANGLE_MESH_BD: StructureType = Self(1000409012i32);
722    pub const SOUND_OBSTACLE_CONFIG_BD: StructureType = Self(1000409013i32);
723    pub const SOUND_OBSTACLE_MATERIAL_CONFIG_BD: StructureType = Self(1000409014i32);
724    pub const HAND_TRACKING_DATA_SOURCE_INFO_EXT: StructureType = Self(1000428000i32);
725    pub const HAND_TRACKING_DATA_SOURCE_STATE_EXT: StructureType = Self(1000428001i32);
726    pub const PLANE_DETECTOR_CREATE_INFO_EXT: StructureType = Self(1000429001i32);
727    pub const PLANE_DETECTOR_BEGIN_INFO_EXT: StructureType = Self(1000429002i32);
728    pub const PLANE_DETECTOR_GET_INFO_EXT: StructureType = Self(1000429003i32);
729    pub const PLANE_DETECTOR_LOCATIONS_EXT: StructureType = Self(1000429004i32);
730    pub const PLANE_DETECTOR_LOCATION_EXT: StructureType = Self(1000429005i32);
731    pub const PLANE_DETECTOR_POLYGON_BUFFER_EXT: StructureType = Self(1000429006i32);
732    pub const SYSTEM_PLANE_DETECTION_PROPERTIES_EXT: StructureType = Self(1000429007i32);
733    pub const TRACKABLE_GET_INFO_ANDROID: StructureType = Self(1000455000i32);
734    pub const ANCHOR_SPACE_CREATE_INFO_ANDROID: StructureType = Self(1000455001i32);
735    pub const TRACKABLE_PLANE_ANDROID: StructureType = Self(1000455003i32);
736    pub const TRACKABLE_TRACKER_CREATE_INFO_ANDROID: StructureType = Self(1000455004i32);
737    pub const SYSTEM_TRACKABLES_PROPERTIES_ANDROID: StructureType = Self(1000455005i32);
738    pub const PERSISTED_ANCHOR_SPACE_CREATE_INFO_ANDROID: StructureType = Self(1000457001i32);
739    pub const PERSISTED_ANCHOR_SPACE_INFO_ANDROID: StructureType = Self(1000457002i32);
740    pub const DEVICE_ANCHOR_PERSISTENCE_CREATE_INFO_ANDROID: StructureType = Self(1000457003i32);
741    pub const SYSTEM_DEVICE_ANCHOR_PERSISTENCE_PROPERTIES_ANDROID: StructureType =
742        Self(1000457004i32);
743    pub const FACE_TRACKER_CREATE_INFO_ANDROID: StructureType = Self(1000458000i32);
744    pub const FACE_STATE_GET_INFO_ANDROID: StructureType = Self(1000458001i32);
745    pub const FACE_STATE_ANDROID: StructureType = Self(1000458002i32);
746    pub const SYSTEM_FACE_TRACKING_PROPERTIES_ANDROID: StructureType = Self(1000458003i32);
747    pub const PASSTHROUGH_CAMERA_STATE_GET_INFO_ANDROID: StructureType = Self(1000460000i32);
748    pub const SYSTEM_PASSTHROUGH_CAMERA_STATE_PROPERTIES_ANDROID: StructureType =
749        Self(1000460001i32);
750    pub const PASSTHROUGH_LAYER_CREATE_INFO_ANDROID: StructureType = Self(1000462000i32);
751    pub const PASSTHROUGH_LAYER_MESH_ANDROID: StructureType = Self(1000462001i32);
752    pub const COMPOSITION_LAYER_PASSTHROUGH_ANDROID: StructureType = Self(1000462002i32);
753    pub const SYSTEM_PASSTHROUGH_LAYER_PROPERTIES_ANDROID: StructureType = Self(1000462003i32);
754    pub const RAYCAST_INFO_ANDROID: StructureType = Self(1000463000i32);
755    pub const RAYCAST_HIT_RESULTS_ANDROID: StructureType = Self(1000463001i32);
756    pub const PERFORMANCE_METRICS_STATE_ANDROID: StructureType = Self(1000465000i32);
757    pub const PERFORMANCE_METRICS_COUNTER_ANDROID: StructureType = Self(1000465001i32);
758    pub const TRACKABLE_OBJECT_ANDROID: StructureType = Self(1000466000i32);
759    pub const TRACKABLE_OBJECT_CONFIGURATION_ANDROID: StructureType = Self(1000466001i32);
760    pub const FUTURE_CANCEL_INFO_EXT: StructureType = Self(1000469000i32);
761    pub const FUTURE_POLL_INFO_EXT: StructureType = Self(1000469001i32);
762    pub const FUTURE_COMPLETION_EXT: StructureType = Self(1000469002i32);
763    pub const FUTURE_POLL_RESULT_EXT: StructureType = Self(1000469003i32);
764    pub const EVENT_DATA_USER_PRESENCE_CHANGED_EXT: StructureType = Self(1000470000i32);
765    pub const SYSTEM_USER_PRESENCE_PROPERTIES_EXT: StructureType = Self(1000470001i32);
766    pub const SPACES_LOCATE_INFO_KHR: StructureType = Self::SPACES_LOCATE_INFO;
767    pub const SPACE_LOCATIONS_KHR: StructureType = Self::SPACE_LOCATIONS;
768    pub const SPACE_VELOCITIES_KHR: StructureType = Self::SPACE_VELOCITIES;
769    pub const SYSTEM_NOTIFICATIONS_SET_INFO_ML: StructureType = Self(1000473000i32);
770    pub const WORLD_MESH_DETECTOR_CREATE_INFO_ML: StructureType = Self(1000474001i32);
771    pub const WORLD_MESH_STATE_REQUEST_INFO_ML: StructureType = Self(1000474002i32);
772    pub const WORLD_MESH_BLOCK_STATE_ML: StructureType = Self(1000474003i32);
773    pub const WORLD_MESH_STATE_REQUEST_COMPLETION_ML: StructureType = Self(1000474004i32);
774    pub const WORLD_MESH_BUFFER_RECOMMENDED_SIZE_INFO_ML: StructureType = Self(1000474005i32);
775    pub const WORLD_MESH_BUFFER_SIZE_ML: StructureType = Self(1000474006i32);
776    pub const WORLD_MESH_BUFFER_ML: StructureType = Self(1000474007i32);
777    pub const WORLD_MESH_BLOCK_REQUEST_ML: StructureType = Self(1000474008i32);
778    pub const WORLD_MESH_GET_INFO_ML: StructureType = Self(1000474009i32);
779    pub const WORLD_MESH_BLOCK_ML: StructureType = Self(1000474010i32);
780    pub const WORLD_MESH_REQUEST_COMPLETION_ML: StructureType = Self(1000474011i32);
781    pub const WORLD_MESH_REQUEST_COMPLETION_INFO_ML: StructureType = Self(1000474012i32);
782    pub const SYSTEM_FACIAL_EXPRESSION_PROPERTIES_ML: StructureType = Self(1000482004i32);
783    pub const FACIAL_EXPRESSION_CLIENT_CREATE_INFO_ML: StructureType = Self(1000482005i32);
784    pub const FACIAL_EXPRESSION_BLEND_SHAPE_GET_INFO_ML: StructureType = Self(1000482006i32);
785    pub const FACIAL_EXPRESSION_BLEND_SHAPE_PROPERTIES_ML: StructureType = Self(1000482007i32);
786    pub const SYSTEM_SIMULTANEOUS_HANDS_AND_CONTROLLERS_PROPERTIES_META: StructureType =
787        Self(1000532001i32);
788    pub const SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_RESUME_INFO_META: StructureType =
789        Self(1000532002i32);
790    pub const SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_PAUSE_INFO_META: StructureType =
791        Self(1000532003i32);
792    pub const COLOCATION_DISCOVERY_START_INFO_META: StructureType = Self(1000571010i32);
793    pub const COLOCATION_DISCOVERY_STOP_INFO_META: StructureType = Self(1000571011i32);
794    pub const COLOCATION_ADVERTISEMENT_START_INFO_META: StructureType = Self(1000571012i32);
795    pub const COLOCATION_ADVERTISEMENT_STOP_INFO_META: StructureType = Self(1000571013i32);
796    pub const EVENT_DATA_START_COLOCATION_ADVERTISEMENT_COMPLETE_META: StructureType =
797        Self(1000571020i32);
798    pub const EVENT_DATA_STOP_COLOCATION_ADVERTISEMENT_COMPLETE_META: StructureType =
799        Self(1000571021i32);
800    pub const EVENT_DATA_COLOCATION_ADVERTISEMENT_COMPLETE_META: StructureType =
801        Self(1000571022i32);
802    pub const EVENT_DATA_START_COLOCATION_DISCOVERY_COMPLETE_META: StructureType =
803        Self(1000571023i32);
804    pub const EVENT_DATA_COLOCATION_DISCOVERY_RESULT_META: StructureType = Self(1000571024i32);
805    pub const EVENT_DATA_COLOCATION_DISCOVERY_COMPLETE_META: StructureType = Self(1000571025i32);
806    pub const EVENT_DATA_STOP_COLOCATION_DISCOVERY_COMPLETE_META: StructureType =
807        Self(1000571026i32);
808    pub const SYSTEM_COLOCATION_DISCOVERY_PROPERTIES_META: StructureType = Self(1000571030i32);
809    pub const SHARE_SPACES_RECIPIENT_GROUPS_META: StructureType = Self(1000572000i32);
810    pub const SPACE_GROUP_UUID_FILTER_INFO_META: StructureType = Self(1000572001i32);
811    pub const SYSTEM_SPATIAL_ENTITY_GROUP_SHARING_PROPERTIES_META: StructureType =
812        Self(1000572100i32);
813    pub const SYSTEM_ENVIRONMENT_RAYCAST_PROPERTIES_META: StructureType = Self(1000592000i32);
814    pub const ENVIRONMENT_RAYCASTER_CREATE_INFO_META: StructureType = Self(1000592001i32);
815    pub const ENVIRONMENT_RAYCASTER_CREATE_COMPLETION_META: StructureType = Self(1000592002i32);
816    pub const ENVIRONMENT_RAYCAST_HIT_GET_INFO_META: StructureType = Self(1000592003i32);
817    pub const ENVIRONMENT_RAYCAST_HIT_META: StructureType = Self(1000592004i32);
818    pub const ENVIRONMENT_RAYCAST_FILTER_DISTANCE_META: StructureType = Self(1000592005i32);
819    pub const TILE_PROPERTIES_META: StructureType = Self(1000609000i32);
820    pub const TILE_PROPERTIES_HINT_META: StructureType = Self(1000609001i32);
821    pub const ANCHOR_SHARING_INFO_ANDROID: StructureType = Self(1000701000i32);
822    pub const ANCHOR_SHARING_TOKEN_ANDROID: StructureType = Self(1000701001i32);
823    pub const SYSTEM_ANCHOR_SHARING_EXPORT_PROPERTIES_ANDROID: StructureType = Self(1000701002i32);
824    pub const SYSTEM_MARKER_TRACKING_PROPERTIES_ANDROID: StructureType = Self(1000707000i32);
825    pub const TRACKABLE_MARKER_CONFIGURATION_ANDROID: StructureType = Self(1000707001i32);
826    pub const TRACKABLE_MARKER_ANDROID: StructureType = Self(1000707002i32);
827    pub const SYSTEM_QR_CODE_TRACKING_PROPERTIES_ANDROID: StructureType = Self(1000708000i32);
828    pub const TRACKABLE_QR_CODE_CONFIGURATION_ANDROID: StructureType = Self(1000708001i32);
829    pub const TRACKABLE_QR_CODE_ANDROID: StructureType = Self(1000708002i32);
830    pub const SYSTEM_IMAGE_TRACKING_PROPERTIES_ANDROID: StructureType = Self(1000709000i32);
831    pub const TRACKABLE_IMAGE_DATABASE_ENTRY_ANDROID: StructureType = Self(1000709001i32);
832    pub const TRACKABLE_IMAGE_DATABASE_CREATE_INFO_ANDROID: StructureType = Self(1000709002i32);
833    pub const CREATE_TRACKABLE_IMAGE_DATABASE_COMPLETION_ANDROID: StructureType =
834        Self(1000709003i32);
835    pub const TRACKABLE_IMAGE_CONFIGURATION_ANDROID: StructureType = Self(1000709004i32);
836    pub const TRACKABLE_IMAGE_ANDROID: StructureType = Self(1000709005i32);
837    pub const EVENT_DATA_IMAGE_TRACKING_LOST_ANDROID: StructureType = Self(1000709006i32);
838    pub const SYSTEM_SCENE_MESHING_PROPERTIES_ANDROID: StructureType = Self(1000718000i32);
839    pub const SCENE_MESHING_TRACKER_CREATE_INFO_ANDROID: StructureType = Self(1000718001i32);
840    pub const SCENE_MESH_SNAPSHOT_CREATE_INFO_ANDROID: StructureType = Self(1000718002i32);
841    pub const SCENE_MESH_SNAPSHOT_CREATION_RESULT_ANDROID: StructureType = Self(1000718003i32);
842    pub const SCENE_SUBMESH_STATE_ANDROID: StructureType = Self(1000718004i32);
843    pub const SCENE_SUBMESH_DATA_ANDROID: StructureType = Self(1000718005i32);
844    pub const SPATIAL_CAPABILITY_COMPONENT_TYPES_EXT: StructureType = Self(1000740000i32);
845    pub const SPATIAL_CONTEXT_CREATE_INFO_EXT: StructureType = Self(1000740001i32);
846    pub const CREATE_SPATIAL_CONTEXT_COMPLETION_EXT: StructureType = Self(1000740002i32);
847    pub const SPATIAL_DISCOVERY_SNAPSHOT_CREATE_INFO_EXT: StructureType = Self(1000740003i32);
848    pub const CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_INFO_EXT: StructureType =
849        Self(1000740004i32);
850    pub const CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_EXT: StructureType = Self(1000740005i32);
851    pub const SPATIAL_COMPONENT_DATA_QUERY_CONDITION_EXT: StructureType = Self(1000740006i32);
852    pub const SPATIAL_COMPONENT_DATA_QUERY_RESULT_EXT: StructureType = Self(1000740007i32);
853    pub const SPATIAL_BUFFER_GET_INFO_EXT: StructureType = Self(1000740008i32);
854    pub const SPATIAL_COMPONENT_BOUNDED_2D_LIST_EXT: StructureType = Self(1000740009i32);
855    pub const SPATIAL_COMPONENT_BOUNDED_3D_LIST_EXT: StructureType = Self(1000740010i32);
856    pub const SPATIAL_COMPONENT_PARENT_LIST_EXT: StructureType = Self(1000740011i32);
857    pub const SPATIAL_COMPONENT_MESH_3D_LIST_EXT: StructureType = Self(1000740012i32);
858    pub const SPATIAL_ENTITY_FROM_ID_CREATE_INFO_EXT: StructureType = Self(1000740013i32);
859    pub const SPATIAL_UPDATE_SNAPSHOT_CREATE_INFO_EXT: StructureType = Self(1000740014i32);
860    pub const EVENT_DATA_SPATIAL_DISCOVERY_RECOMMENDED_EXT: StructureType = Self(1000740015i32);
861    pub const SPATIAL_FILTER_TRACKING_STATE_EXT: StructureType = Self(1000740016i32);
862    pub const SPATIAL_CAPABILITY_CONFIGURATION_PLANE_TRACKING_EXT: StructureType =
863        Self(1000741000i32);
864    pub const SPATIAL_COMPONENT_PLANE_ALIGNMENT_LIST_EXT: StructureType = Self(1000741001i32);
865    pub const SPATIAL_COMPONENT_MESH_2D_LIST_EXT: StructureType = Self(1000741002i32);
866    pub const SPATIAL_COMPONENT_POLYGON_2D_LIST_EXT: StructureType = Self(1000741003i32);
867    pub const SPATIAL_COMPONENT_PLANE_SEMANTIC_LABEL_LIST_EXT: StructureType = Self(1000741004i32);
868    pub const SPATIAL_CAPABILITY_CONFIGURATION_QR_CODE_EXT: StructureType = Self(1000743000i32);
869    pub const SPATIAL_CAPABILITY_CONFIGURATION_MICRO_QR_CODE_EXT: StructureType =
870        Self(1000743001i32);
871    pub const SPATIAL_CAPABILITY_CONFIGURATION_ARUCO_MARKER_EXT: StructureType =
872        Self(1000743002i32);
873    pub const SPATIAL_CAPABILITY_CONFIGURATION_APRIL_TAG_EXT: StructureType = Self(1000743003i32);
874    pub const SPATIAL_MARKER_SIZE_EXT: StructureType = Self(1000743004i32);
875    pub const SPATIAL_MARKER_STATIC_OPTIMIZATION_EXT: StructureType = Self(1000743005i32);
876    pub const SPATIAL_COMPONENT_MARKER_LIST_EXT: StructureType = Self(1000743006i32);
877    pub const SPATIAL_CAPABILITY_CONFIGURATION_ANCHOR_EXT: StructureType = Self(1000762000i32);
878    pub const SPATIAL_COMPONENT_ANCHOR_LIST_EXT: StructureType = Self(1000762001i32);
879    pub const SPATIAL_ANCHOR_CREATE_INFO_EXT: StructureType = Self(1000762002i32);
880    pub const SPATIAL_PERSISTENCE_CONTEXT_CREATE_INFO_EXT: StructureType = Self(1000763000i32);
881    pub const CREATE_SPATIAL_PERSISTENCE_CONTEXT_COMPLETION_EXT: StructureType =
882        Self(1000763001i32);
883    pub const SPATIAL_CONTEXT_PERSISTENCE_CONFIG_EXT: StructureType = Self(1000763002i32);
884    pub const SPATIAL_DISCOVERY_PERSISTENCE_UUID_FILTER_EXT: StructureType = Self(1000763003i32);
885    pub const SPATIAL_COMPONENT_PERSISTENCE_LIST_EXT: StructureType = Self(1000763004i32);
886    pub const SPATIAL_ENTITY_PERSIST_INFO_EXT: StructureType = Self(1000781000i32);
887    pub const PERSIST_SPATIAL_ENTITY_COMPLETION_EXT: StructureType = Self(1000781001i32);
888    pub const SPATIAL_ENTITY_UNPERSIST_INFO_EXT: StructureType = Self(1000781002i32);
889    pub const UNPERSIST_SPATIAL_ENTITY_COMPLETION_EXT: StructureType = Self(1000781003i32);
890    pub const SPATIAL_CAPABILITY_CONFIGURATION_OBJECT_TRACKING_ANDROID: StructureType =
891        Self(1000785000i32);
892    pub const SPATIAL_COMPONENT_OBJECT_SEMANTIC_LABEL_LIST_ANDROID: StructureType =
893        Self(1000785001i32);
894    pub const SPATIAL_CAPABILITY_CONFIGURATION_DEPTH_RAYCAST_ANDROID: StructureType =
895        Self(1000786000i32);
896    pub const SPATIAL_RAYCAST_INFO_ANDROID: StructureType = Self(1000786001i32);
897    pub const SPATIAL_COMPONENT_RAYCAST_RESULT_LIST_ANDROID: StructureType = Self(1000786002i32);
898    pub const SPATIAL_RAYCAST_SNAPSHOT_CREATE_INFO_ANDROID: StructureType = Self(1000786003i32);
899    pub const SPATIAL_ANCHOR_PARENT_ANDROID: StructureType = Self(1000790000i32);
900    pub const SPATIAL_DISCOVERY_UNIQUE_ENTITIES_FILTER_ANDROID: StructureType = Self(1000791001i32);
901    pub const SPATIAL_COMPONENT_SUBSUMED_BY_LIST_ANDROID: StructureType = Self(1000791002i32);
902    pub const SPATIAL_ANCHOR_SPACE_FROM_ID_CREATE_INFO_ANDROID: StructureType = Self(1000795000i32);
903    pub const BATTERY_STATE_DISPLAY_EXT: StructureType = Self(1000836000i32);
904    pub const LOADER_INIT_INFO_PROPERTIES_EXT: StructureType = Self(1000838000i32);
905    pub const EVENT_DATA_VIEW_CONFIGURATION_VIEWS_CHANGED_EXT: StructureType = Self(1000839000i32);
906    pub fn from_raw(x: i32) -> Self {
907        Self(x)
908    }
909    pub fn into_raw(self) -> i32 {
910        self.0
911    }
912}
913impl fmt::Debug for StructureType {
914    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
915        let name = match *self {
916            Self::UNKNOWN => Some("UNKNOWN"),
917            Self::API_LAYER_PROPERTIES => Some("API_LAYER_PROPERTIES"),
918            Self::EXTENSION_PROPERTIES => Some("EXTENSION_PROPERTIES"),
919            Self::INSTANCE_CREATE_INFO => Some("INSTANCE_CREATE_INFO"),
920            Self::SYSTEM_GET_INFO => Some("SYSTEM_GET_INFO"),
921            Self::SYSTEM_PROPERTIES => Some("SYSTEM_PROPERTIES"),
922            Self::VIEW_LOCATE_INFO => Some("VIEW_LOCATE_INFO"),
923            Self::VIEW => Some("VIEW"),
924            Self::SESSION_CREATE_INFO => Some("SESSION_CREATE_INFO"),
925            Self::SWAPCHAIN_CREATE_INFO => Some("SWAPCHAIN_CREATE_INFO"),
926            Self::SESSION_BEGIN_INFO => Some("SESSION_BEGIN_INFO"),
927            Self::VIEW_STATE => Some("VIEW_STATE"),
928            Self::FRAME_END_INFO => Some("FRAME_END_INFO"),
929            Self::HAPTIC_VIBRATION => Some("HAPTIC_VIBRATION"),
930            Self::EVENT_DATA_BUFFER => Some("EVENT_DATA_BUFFER"),
931            Self::EVENT_DATA_INSTANCE_LOSS_PENDING => Some("EVENT_DATA_INSTANCE_LOSS_PENDING"),
932            Self::EVENT_DATA_SESSION_STATE_CHANGED => Some("EVENT_DATA_SESSION_STATE_CHANGED"),
933            Self::ACTION_STATE_BOOLEAN => Some("ACTION_STATE_BOOLEAN"),
934            Self::ACTION_STATE_FLOAT => Some("ACTION_STATE_FLOAT"),
935            Self::ACTION_STATE_VECTOR2F => Some("ACTION_STATE_VECTOR2F"),
936            Self::ACTION_STATE_POSE => Some("ACTION_STATE_POSE"),
937            Self::ACTION_SET_CREATE_INFO => Some("ACTION_SET_CREATE_INFO"),
938            Self::ACTION_CREATE_INFO => Some("ACTION_CREATE_INFO"),
939            Self::INSTANCE_PROPERTIES => Some("INSTANCE_PROPERTIES"),
940            Self::FRAME_WAIT_INFO => Some("FRAME_WAIT_INFO"),
941            Self::COMPOSITION_LAYER_PROJECTION => Some("COMPOSITION_LAYER_PROJECTION"),
942            Self::COMPOSITION_LAYER_QUAD => Some("COMPOSITION_LAYER_QUAD"),
943            Self::REFERENCE_SPACE_CREATE_INFO => Some("REFERENCE_SPACE_CREATE_INFO"),
944            Self::ACTION_SPACE_CREATE_INFO => Some("ACTION_SPACE_CREATE_INFO"),
945            Self::EVENT_DATA_REFERENCE_SPACE_CHANGE_PENDING => {
946                Some("EVENT_DATA_REFERENCE_SPACE_CHANGE_PENDING")
947            }
948            Self::VIEW_CONFIGURATION_VIEW => Some("VIEW_CONFIGURATION_VIEW"),
949            Self::SPACE_LOCATION => Some("SPACE_LOCATION"),
950            Self::SPACE_VELOCITY => Some("SPACE_VELOCITY"),
951            Self::FRAME_STATE => Some("FRAME_STATE"),
952            Self::VIEW_CONFIGURATION_PROPERTIES => Some("VIEW_CONFIGURATION_PROPERTIES"),
953            Self::FRAME_BEGIN_INFO => Some("FRAME_BEGIN_INFO"),
954            Self::COMPOSITION_LAYER_PROJECTION_VIEW => Some("COMPOSITION_LAYER_PROJECTION_VIEW"),
955            Self::EVENT_DATA_EVENTS_LOST => Some("EVENT_DATA_EVENTS_LOST"),
956            Self::INTERACTION_PROFILE_SUGGESTED_BINDING => {
957                Some("INTERACTION_PROFILE_SUGGESTED_BINDING")
958            }
959            Self::EVENT_DATA_INTERACTION_PROFILE_CHANGED => {
960                Some("EVENT_DATA_INTERACTION_PROFILE_CHANGED")
961            }
962            Self::INTERACTION_PROFILE_STATE => Some("INTERACTION_PROFILE_STATE"),
963            Self::SWAPCHAIN_IMAGE_ACQUIRE_INFO => Some("SWAPCHAIN_IMAGE_ACQUIRE_INFO"),
964            Self::SWAPCHAIN_IMAGE_WAIT_INFO => Some("SWAPCHAIN_IMAGE_WAIT_INFO"),
965            Self::SWAPCHAIN_IMAGE_RELEASE_INFO => Some("SWAPCHAIN_IMAGE_RELEASE_INFO"),
966            Self::ACTION_STATE_GET_INFO => Some("ACTION_STATE_GET_INFO"),
967            Self::HAPTIC_ACTION_INFO => Some("HAPTIC_ACTION_INFO"),
968            Self::SESSION_ACTION_SETS_ATTACH_INFO => Some("SESSION_ACTION_SETS_ATTACH_INFO"),
969            Self::ACTIONS_SYNC_INFO => Some("ACTIONS_SYNC_INFO"),
970            Self::BOUND_SOURCES_FOR_ACTION_ENUMERATE_INFO => {
971                Some("BOUND_SOURCES_FOR_ACTION_ENUMERATE_INFO")
972            }
973            Self::INPUT_SOURCE_LOCALIZED_NAME_GET_INFO => {
974                Some("INPUT_SOURCE_LOCALIZED_NAME_GET_INFO")
975            }
976            Self::SPACES_LOCATE_INFO => Some("SPACES_LOCATE_INFO"),
977            Self::SPACE_LOCATIONS => Some("SPACE_LOCATIONS"),
978            Self::SPACE_VELOCITIES => Some("SPACE_VELOCITIES"),
979            Self::COMPOSITION_LAYER_CUBE_KHR => Some("COMPOSITION_LAYER_CUBE_KHR"),
980            Self::INSTANCE_CREATE_INFO_ANDROID_KHR => Some("INSTANCE_CREATE_INFO_ANDROID_KHR"),
981            Self::COMPOSITION_LAYER_DEPTH_INFO_KHR => Some("COMPOSITION_LAYER_DEPTH_INFO_KHR"),
982            Self::VULKAN_SWAPCHAIN_FORMAT_LIST_CREATE_INFO_KHR => {
983                Some("VULKAN_SWAPCHAIN_FORMAT_LIST_CREATE_INFO_KHR")
984            }
985            Self::EVENT_DATA_PERF_SETTINGS_EXT => Some("EVENT_DATA_PERF_SETTINGS_EXT"),
986            Self::COMPOSITION_LAYER_CYLINDER_KHR => Some("COMPOSITION_LAYER_CYLINDER_KHR"),
987            Self::COMPOSITION_LAYER_EQUIRECT_KHR => Some("COMPOSITION_LAYER_EQUIRECT_KHR"),
988            Self::DEBUG_UTILS_OBJECT_NAME_INFO_EXT => Some("DEBUG_UTILS_OBJECT_NAME_INFO_EXT"),
989            Self::DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT => {
990                Some("DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT")
991            }
992            Self::DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT => {
993                Some("DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT")
994            }
995            Self::DEBUG_UTILS_LABEL_EXT => Some("DEBUG_UTILS_LABEL_EXT"),
996            Self::GRAPHICS_BINDING_OPENGL_WIN32_KHR => Some("GRAPHICS_BINDING_OPENGL_WIN32_KHR"),
997            Self::GRAPHICS_BINDING_OPENGL_XLIB_KHR => Some("GRAPHICS_BINDING_OPENGL_XLIB_KHR"),
998            Self::GRAPHICS_BINDING_OPENGL_XCB_KHR => Some("GRAPHICS_BINDING_OPENGL_XCB_KHR"),
999            Self::GRAPHICS_BINDING_OPENGL_WAYLAND_KHR => {
1000                Some("GRAPHICS_BINDING_OPENGL_WAYLAND_KHR")
1001            }
1002            Self::SWAPCHAIN_IMAGE_OPENGL_KHR => Some("SWAPCHAIN_IMAGE_OPENGL_KHR"),
1003            Self::GRAPHICS_REQUIREMENTS_OPENGL_KHR => Some("GRAPHICS_REQUIREMENTS_OPENGL_KHR"),
1004            Self::GRAPHICS_BINDING_OPENGL_ES_ANDROID_KHR => {
1005                Some("GRAPHICS_BINDING_OPENGL_ES_ANDROID_KHR")
1006            }
1007            Self::SWAPCHAIN_IMAGE_OPENGL_ES_KHR => Some("SWAPCHAIN_IMAGE_OPENGL_ES_KHR"),
1008            Self::GRAPHICS_REQUIREMENTS_OPENGL_ES_KHR => {
1009                Some("GRAPHICS_REQUIREMENTS_OPENGL_ES_KHR")
1010            }
1011            Self::GRAPHICS_BINDING_VULKAN_KHR => Some("GRAPHICS_BINDING_VULKAN_KHR"),
1012            Self::SWAPCHAIN_IMAGE_VULKAN_KHR => Some("SWAPCHAIN_IMAGE_VULKAN_KHR"),
1013            Self::GRAPHICS_REQUIREMENTS_VULKAN_KHR => Some("GRAPHICS_REQUIREMENTS_VULKAN_KHR"),
1014            Self::GRAPHICS_BINDING_D3D11_KHR => Some("GRAPHICS_BINDING_D3D11_KHR"),
1015            Self::SWAPCHAIN_IMAGE_D3D11_KHR => Some("SWAPCHAIN_IMAGE_D3D11_KHR"),
1016            Self::GRAPHICS_REQUIREMENTS_D3D11_KHR => Some("GRAPHICS_REQUIREMENTS_D3D11_KHR"),
1017            Self::GRAPHICS_BINDING_D3D12_KHR => Some("GRAPHICS_BINDING_D3D12_KHR"),
1018            Self::SWAPCHAIN_IMAGE_D3D12_KHR => Some("SWAPCHAIN_IMAGE_D3D12_KHR"),
1019            Self::GRAPHICS_REQUIREMENTS_D3D12_KHR => Some("GRAPHICS_REQUIREMENTS_D3D12_KHR"),
1020            Self::GRAPHICS_BINDING_METAL_KHR => Some("GRAPHICS_BINDING_METAL_KHR"),
1021            Self::SWAPCHAIN_IMAGE_METAL_KHR => Some("SWAPCHAIN_IMAGE_METAL_KHR"),
1022            Self::GRAPHICS_REQUIREMENTS_METAL_KHR => Some("GRAPHICS_REQUIREMENTS_METAL_KHR"),
1023            Self::SYSTEM_EYE_GAZE_INTERACTION_PROPERTIES_EXT => {
1024                Some("SYSTEM_EYE_GAZE_INTERACTION_PROPERTIES_EXT")
1025            }
1026            Self::EYE_GAZE_SAMPLE_TIME_EXT => Some("EYE_GAZE_SAMPLE_TIME_EXT"),
1027            Self::VISIBILITY_MASK_KHR => Some("VISIBILITY_MASK_KHR"),
1028            Self::EVENT_DATA_VISIBILITY_MASK_CHANGED_KHR => {
1029                Some("EVENT_DATA_VISIBILITY_MASK_CHANGED_KHR")
1030            }
1031            Self::SESSION_CREATE_INFO_OVERLAY_EXTX => Some("SESSION_CREATE_INFO_OVERLAY_EXTX"),
1032            Self::EVENT_DATA_MAIN_SESSION_VISIBILITY_CHANGED_EXTX => {
1033                Some("EVENT_DATA_MAIN_SESSION_VISIBILITY_CHANGED_EXTX")
1034            }
1035            Self::COMPOSITION_LAYER_COLOR_SCALE_BIAS_KHR => {
1036                Some("COMPOSITION_LAYER_COLOR_SCALE_BIAS_KHR")
1037            }
1038            Self::SPATIAL_ANCHOR_CREATE_INFO_MSFT => Some("SPATIAL_ANCHOR_CREATE_INFO_MSFT"),
1039            Self::SPATIAL_ANCHOR_SPACE_CREATE_INFO_MSFT => {
1040                Some("SPATIAL_ANCHOR_SPACE_CREATE_INFO_MSFT")
1041            }
1042            Self::COMPOSITION_LAYER_IMAGE_LAYOUT_FB => Some("COMPOSITION_LAYER_IMAGE_LAYOUT_FB"),
1043            Self::COMPOSITION_LAYER_ALPHA_BLEND_FB => Some("COMPOSITION_LAYER_ALPHA_BLEND_FB"),
1044            Self::VIEW_CONFIGURATION_DEPTH_RANGE_EXT => Some("VIEW_CONFIGURATION_DEPTH_RANGE_EXT"),
1045            Self::GRAPHICS_BINDING_EGL_MNDX => Some("GRAPHICS_BINDING_EGL_MNDX"),
1046            Self::SPATIAL_GRAPH_NODE_SPACE_CREATE_INFO_MSFT => {
1047                Some("SPATIAL_GRAPH_NODE_SPACE_CREATE_INFO_MSFT")
1048            }
1049            Self::SPATIAL_GRAPH_STATIC_NODE_BINDING_CREATE_INFO_MSFT => {
1050                Some("SPATIAL_GRAPH_STATIC_NODE_BINDING_CREATE_INFO_MSFT")
1051            }
1052            Self::SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_GET_INFO_MSFT => {
1053                Some("SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_GET_INFO_MSFT")
1054            }
1055            Self::SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_MSFT => {
1056                Some("SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_MSFT")
1057            }
1058            Self::SYSTEM_HAND_TRACKING_PROPERTIES_EXT => {
1059                Some("SYSTEM_HAND_TRACKING_PROPERTIES_EXT")
1060            }
1061            Self::HAND_TRACKER_CREATE_INFO_EXT => Some("HAND_TRACKER_CREATE_INFO_EXT"),
1062            Self::HAND_JOINTS_LOCATE_INFO_EXT => Some("HAND_JOINTS_LOCATE_INFO_EXT"),
1063            Self::HAND_JOINT_LOCATIONS_EXT => Some("HAND_JOINT_LOCATIONS_EXT"),
1064            Self::HAND_JOINT_VELOCITIES_EXT => Some("HAND_JOINT_VELOCITIES_EXT"),
1065            Self::SYSTEM_HAND_TRACKING_MESH_PROPERTIES_MSFT => {
1066                Some("SYSTEM_HAND_TRACKING_MESH_PROPERTIES_MSFT")
1067            }
1068            Self::HAND_MESH_SPACE_CREATE_INFO_MSFT => Some("HAND_MESH_SPACE_CREATE_INFO_MSFT"),
1069            Self::HAND_MESH_UPDATE_INFO_MSFT => Some("HAND_MESH_UPDATE_INFO_MSFT"),
1070            Self::HAND_MESH_MSFT => Some("HAND_MESH_MSFT"),
1071            Self::HAND_POSE_TYPE_INFO_MSFT => Some("HAND_POSE_TYPE_INFO_MSFT"),
1072            Self::SECONDARY_VIEW_CONFIGURATION_SESSION_BEGIN_INFO_MSFT => {
1073                Some("SECONDARY_VIEW_CONFIGURATION_SESSION_BEGIN_INFO_MSFT")
1074            }
1075            Self::SECONDARY_VIEW_CONFIGURATION_STATE_MSFT => {
1076                Some("SECONDARY_VIEW_CONFIGURATION_STATE_MSFT")
1077            }
1078            Self::SECONDARY_VIEW_CONFIGURATION_FRAME_STATE_MSFT => {
1079                Some("SECONDARY_VIEW_CONFIGURATION_FRAME_STATE_MSFT")
1080            }
1081            Self::SECONDARY_VIEW_CONFIGURATION_FRAME_END_INFO_MSFT => {
1082                Some("SECONDARY_VIEW_CONFIGURATION_FRAME_END_INFO_MSFT")
1083            }
1084            Self::SECONDARY_VIEW_CONFIGURATION_LAYER_INFO_MSFT => {
1085                Some("SECONDARY_VIEW_CONFIGURATION_LAYER_INFO_MSFT")
1086            }
1087            Self::SECONDARY_VIEW_CONFIGURATION_SWAPCHAIN_CREATE_INFO_MSFT => {
1088                Some("SECONDARY_VIEW_CONFIGURATION_SWAPCHAIN_CREATE_INFO_MSFT")
1089            }
1090            Self::CONTROLLER_MODEL_KEY_STATE_MSFT => Some("CONTROLLER_MODEL_KEY_STATE_MSFT"),
1091            Self::CONTROLLER_MODEL_NODE_PROPERTIES_MSFT => {
1092                Some("CONTROLLER_MODEL_NODE_PROPERTIES_MSFT")
1093            }
1094            Self::CONTROLLER_MODEL_PROPERTIES_MSFT => Some("CONTROLLER_MODEL_PROPERTIES_MSFT"),
1095            Self::CONTROLLER_MODEL_NODE_STATE_MSFT => Some("CONTROLLER_MODEL_NODE_STATE_MSFT"),
1096            Self::CONTROLLER_MODEL_STATE_MSFT => Some("CONTROLLER_MODEL_STATE_MSFT"),
1097            Self::VIEW_CONFIGURATION_VIEW_FOV_EPIC => Some("VIEW_CONFIGURATION_VIEW_FOV_EPIC"),
1098            Self::HOLOGRAPHIC_WINDOW_ATTACHMENT_MSFT => Some("HOLOGRAPHIC_WINDOW_ATTACHMENT_MSFT"),
1099            Self::COMPOSITION_LAYER_REPROJECTION_INFO_MSFT => {
1100                Some("COMPOSITION_LAYER_REPROJECTION_INFO_MSFT")
1101            }
1102            Self::COMPOSITION_LAYER_REPROJECTION_PLANE_OVERRIDE_MSFT => {
1103                Some("COMPOSITION_LAYER_REPROJECTION_PLANE_OVERRIDE_MSFT")
1104            }
1105            Self::ANDROID_SURFACE_SWAPCHAIN_CREATE_INFO_FB => {
1106                Some("ANDROID_SURFACE_SWAPCHAIN_CREATE_INFO_FB")
1107            }
1108            Self::COMPOSITION_LAYER_SECURE_CONTENT_FB => {
1109                Some("COMPOSITION_LAYER_SECURE_CONTENT_FB")
1110            }
1111            Self::BODY_TRACKER_CREATE_INFO_FB => Some("BODY_TRACKER_CREATE_INFO_FB"),
1112            Self::BODY_JOINTS_LOCATE_INFO_FB => Some("BODY_JOINTS_LOCATE_INFO_FB"),
1113            Self::SYSTEM_BODY_TRACKING_PROPERTIES_FB => Some("SYSTEM_BODY_TRACKING_PROPERTIES_FB"),
1114            Self::BODY_JOINT_LOCATIONS_FB => Some("BODY_JOINT_LOCATIONS_FB"),
1115            Self::BODY_SKELETON_FB => Some("BODY_SKELETON_FB"),
1116            Self::INTERACTION_PROFILE_DPAD_BINDING_EXT => {
1117                Some("INTERACTION_PROFILE_DPAD_BINDING_EXT")
1118            }
1119            Self::INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVE => {
1120                Some("INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVE")
1121            }
1122            Self::HAND_JOINTS_MOTION_RANGE_INFO_EXT => Some("HAND_JOINTS_MOTION_RANGE_INFO_EXT"),
1123            Self::LOADER_INIT_INFO_ANDROID_KHR => Some("LOADER_INIT_INFO_ANDROID_KHR"),
1124            Self::VULKAN_INSTANCE_CREATE_INFO_KHR => Some("VULKAN_INSTANCE_CREATE_INFO_KHR"),
1125            Self::VULKAN_DEVICE_CREATE_INFO_KHR => Some("VULKAN_DEVICE_CREATE_INFO_KHR"),
1126            Self::VULKAN_GRAPHICS_DEVICE_GET_INFO_KHR => {
1127                Some("VULKAN_GRAPHICS_DEVICE_GET_INFO_KHR")
1128            }
1129            Self::COMPOSITION_LAYER_EQUIRECT2_KHR => Some("COMPOSITION_LAYER_EQUIRECT2_KHR"),
1130            Self::SCENE_OBSERVER_CREATE_INFO_MSFT => Some("SCENE_OBSERVER_CREATE_INFO_MSFT"),
1131            Self::SCENE_CREATE_INFO_MSFT => Some("SCENE_CREATE_INFO_MSFT"),
1132            Self::NEW_SCENE_COMPUTE_INFO_MSFT => Some("NEW_SCENE_COMPUTE_INFO_MSFT"),
1133            Self::VISUAL_MESH_COMPUTE_LOD_INFO_MSFT => Some("VISUAL_MESH_COMPUTE_LOD_INFO_MSFT"),
1134            Self::SCENE_COMPONENTS_MSFT => Some("SCENE_COMPONENTS_MSFT"),
1135            Self::SCENE_COMPONENTS_GET_INFO_MSFT => Some("SCENE_COMPONENTS_GET_INFO_MSFT"),
1136            Self::SCENE_COMPONENT_LOCATIONS_MSFT => Some("SCENE_COMPONENT_LOCATIONS_MSFT"),
1137            Self::SCENE_COMPONENTS_LOCATE_INFO_MSFT => Some("SCENE_COMPONENTS_LOCATE_INFO_MSFT"),
1138            Self::SCENE_OBJECTS_MSFT => Some("SCENE_OBJECTS_MSFT"),
1139            Self::SCENE_COMPONENT_PARENT_FILTER_INFO_MSFT => {
1140                Some("SCENE_COMPONENT_PARENT_FILTER_INFO_MSFT")
1141            }
1142            Self::SCENE_OBJECT_TYPES_FILTER_INFO_MSFT => {
1143                Some("SCENE_OBJECT_TYPES_FILTER_INFO_MSFT")
1144            }
1145            Self::SCENE_PLANES_MSFT => Some("SCENE_PLANES_MSFT"),
1146            Self::SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFT => {
1147                Some("SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFT")
1148            }
1149            Self::SCENE_MESHES_MSFT => Some("SCENE_MESHES_MSFT"),
1150            Self::SCENE_MESH_BUFFERS_GET_INFO_MSFT => Some("SCENE_MESH_BUFFERS_GET_INFO_MSFT"),
1151            Self::SCENE_MESH_BUFFERS_MSFT => Some("SCENE_MESH_BUFFERS_MSFT"),
1152            Self::SCENE_MESH_VERTEX_BUFFER_MSFT => Some("SCENE_MESH_VERTEX_BUFFER_MSFT"),
1153            Self::SCENE_MESH_INDICES_UINT32_MSFT => Some("SCENE_MESH_INDICES_UINT32_MSFT"),
1154            Self::SCENE_MESH_INDICES_UINT16_MSFT => Some("SCENE_MESH_INDICES_UINT16_MSFT"),
1155            Self::SERIALIZED_SCENE_FRAGMENT_DATA_GET_INFO_MSFT => {
1156                Some("SERIALIZED_SCENE_FRAGMENT_DATA_GET_INFO_MSFT")
1157            }
1158            Self::SCENE_DESERIALIZE_INFO_MSFT => Some("SCENE_DESERIALIZE_INFO_MSFT"),
1159            Self::EVENT_DATA_DISPLAY_REFRESH_RATE_CHANGED_FB => {
1160                Some("EVENT_DATA_DISPLAY_REFRESH_RATE_CHANGED_FB")
1161            }
1162            Self::VIVE_TRACKER_PATHS_HTCX => Some("VIVE_TRACKER_PATHS_HTCX"),
1163            Self::EVENT_DATA_VIVE_TRACKER_CONNECTED_HTCX => {
1164                Some("EVENT_DATA_VIVE_TRACKER_CONNECTED_HTCX")
1165            }
1166            Self::SYSTEM_FACIAL_TRACKING_PROPERTIES_HTC => {
1167                Some("SYSTEM_FACIAL_TRACKING_PROPERTIES_HTC")
1168            }
1169            Self::FACIAL_TRACKER_CREATE_INFO_HTC => Some("FACIAL_TRACKER_CREATE_INFO_HTC"),
1170            Self::FACIAL_EXPRESSIONS_HTC => Some("FACIAL_EXPRESSIONS_HTC"),
1171            Self::SYSTEM_COLOR_SPACE_PROPERTIES_FB => Some("SYSTEM_COLOR_SPACE_PROPERTIES_FB"),
1172            Self::HAND_TRACKING_MESH_FB => Some("HAND_TRACKING_MESH_FB"),
1173            Self::HAND_TRACKING_SCALE_FB => Some("HAND_TRACKING_SCALE_FB"),
1174            Self::HAND_TRACKING_AIM_STATE_FB => Some("HAND_TRACKING_AIM_STATE_FB"),
1175            Self::HAND_TRACKING_CAPSULES_STATE_FB => Some("HAND_TRACKING_CAPSULES_STATE_FB"),
1176            Self::SYSTEM_SPATIAL_ENTITY_PROPERTIES_FB => {
1177                Some("SYSTEM_SPATIAL_ENTITY_PROPERTIES_FB")
1178            }
1179            Self::SPATIAL_ANCHOR_CREATE_INFO_FB => Some("SPATIAL_ANCHOR_CREATE_INFO_FB"),
1180            Self::SPACE_COMPONENT_STATUS_SET_INFO_FB => Some("SPACE_COMPONENT_STATUS_SET_INFO_FB"),
1181            Self::SPACE_COMPONENT_STATUS_FB => Some("SPACE_COMPONENT_STATUS_FB"),
1182            Self::EVENT_DATA_SPATIAL_ANCHOR_CREATE_COMPLETE_FB => {
1183                Some("EVENT_DATA_SPATIAL_ANCHOR_CREATE_COMPLETE_FB")
1184            }
1185            Self::EVENT_DATA_SPACE_SET_STATUS_COMPLETE_FB => {
1186                Some("EVENT_DATA_SPACE_SET_STATUS_COMPLETE_FB")
1187            }
1188            Self::FOVEATION_PROFILE_CREATE_INFO_FB => Some("FOVEATION_PROFILE_CREATE_INFO_FB"),
1189            Self::SWAPCHAIN_CREATE_INFO_FOVEATION_FB => Some("SWAPCHAIN_CREATE_INFO_FOVEATION_FB"),
1190            Self::SWAPCHAIN_STATE_FOVEATION_FB => Some("SWAPCHAIN_STATE_FOVEATION_FB"),
1191            Self::FOVEATION_LEVEL_PROFILE_CREATE_INFO_FB => {
1192                Some("FOVEATION_LEVEL_PROFILE_CREATE_INFO_FB")
1193            }
1194            Self::KEYBOARD_SPACE_CREATE_INFO_FB => Some("KEYBOARD_SPACE_CREATE_INFO_FB"),
1195            Self::KEYBOARD_TRACKING_QUERY_FB => Some("KEYBOARD_TRACKING_QUERY_FB"),
1196            Self::SYSTEM_KEYBOARD_TRACKING_PROPERTIES_FB => {
1197                Some("SYSTEM_KEYBOARD_TRACKING_PROPERTIES_FB")
1198            }
1199            Self::TRIANGLE_MESH_CREATE_INFO_FB => Some("TRIANGLE_MESH_CREATE_INFO_FB"),
1200            Self::SYSTEM_PASSTHROUGH_PROPERTIES_FB => Some("SYSTEM_PASSTHROUGH_PROPERTIES_FB"),
1201            Self::PASSTHROUGH_CREATE_INFO_FB => Some("PASSTHROUGH_CREATE_INFO_FB"),
1202            Self::PASSTHROUGH_LAYER_CREATE_INFO_FB => Some("PASSTHROUGH_LAYER_CREATE_INFO_FB"),
1203            Self::COMPOSITION_LAYER_PASSTHROUGH_FB => Some("COMPOSITION_LAYER_PASSTHROUGH_FB"),
1204            Self::GEOMETRY_INSTANCE_CREATE_INFO_FB => Some("GEOMETRY_INSTANCE_CREATE_INFO_FB"),
1205            Self::GEOMETRY_INSTANCE_TRANSFORM_FB => Some("GEOMETRY_INSTANCE_TRANSFORM_FB"),
1206            Self::SYSTEM_PASSTHROUGH_PROPERTIES2_FB => Some("SYSTEM_PASSTHROUGH_PROPERTIES2_FB"),
1207            Self::PASSTHROUGH_STYLE_FB => Some("PASSTHROUGH_STYLE_FB"),
1208            Self::PASSTHROUGH_COLOR_MAP_MONO_TO_RGBA_FB => {
1209                Some("PASSTHROUGH_COLOR_MAP_MONO_TO_RGBA_FB")
1210            }
1211            Self::PASSTHROUGH_COLOR_MAP_MONO_TO_MONO_FB => {
1212                Some("PASSTHROUGH_COLOR_MAP_MONO_TO_MONO_FB")
1213            }
1214            Self::PASSTHROUGH_BRIGHTNESS_CONTRAST_SATURATION_FB => {
1215                Some("PASSTHROUGH_BRIGHTNESS_CONTRAST_SATURATION_FB")
1216            }
1217            Self::EVENT_DATA_PASSTHROUGH_STATE_CHANGED_FB => {
1218                Some("EVENT_DATA_PASSTHROUGH_STATE_CHANGED_FB")
1219            }
1220            Self::RENDER_MODEL_PATH_INFO_FB => Some("RENDER_MODEL_PATH_INFO_FB"),
1221            Self::RENDER_MODEL_PROPERTIES_FB => Some("RENDER_MODEL_PROPERTIES_FB"),
1222            Self::RENDER_MODEL_BUFFER_FB => Some("RENDER_MODEL_BUFFER_FB"),
1223            Self::RENDER_MODEL_LOAD_INFO_FB => Some("RENDER_MODEL_LOAD_INFO_FB"),
1224            Self::SYSTEM_RENDER_MODEL_PROPERTIES_FB => Some("SYSTEM_RENDER_MODEL_PROPERTIES_FB"),
1225            Self::RENDER_MODEL_CAPABILITIES_REQUEST_FB => {
1226                Some("RENDER_MODEL_CAPABILITIES_REQUEST_FB")
1227            }
1228            Self::BINDING_MODIFICATIONS_KHR => Some("BINDING_MODIFICATIONS_KHR"),
1229            Self::VIEW_LOCATE_FOVEATED_RENDERING_VARJO => {
1230                Some("VIEW_LOCATE_FOVEATED_RENDERING_VARJO")
1231            }
1232            Self::FOVEATED_VIEW_CONFIGURATION_VIEW_VARJO => {
1233                Some("FOVEATED_VIEW_CONFIGURATION_VIEW_VARJO")
1234            }
1235            Self::SYSTEM_FOVEATED_RENDERING_PROPERTIES_VARJO => {
1236                Some("SYSTEM_FOVEATED_RENDERING_PROPERTIES_VARJO")
1237            }
1238            Self::COMPOSITION_LAYER_DEPTH_TEST_VARJO => Some("COMPOSITION_LAYER_DEPTH_TEST_VARJO"),
1239            Self::SYSTEM_MARKER_TRACKING_PROPERTIES_VARJO => {
1240                Some("SYSTEM_MARKER_TRACKING_PROPERTIES_VARJO")
1241            }
1242            Self::EVENT_DATA_MARKER_TRACKING_UPDATE_VARJO => {
1243                Some("EVENT_DATA_MARKER_TRACKING_UPDATE_VARJO")
1244            }
1245            Self::MARKER_SPACE_CREATE_INFO_VARJO => Some("MARKER_SPACE_CREATE_INFO_VARJO"),
1246            Self::FRAME_END_INFO_ML => Some("FRAME_END_INFO_ML"),
1247            Self::GLOBAL_DIMMER_FRAME_END_INFO_ML => Some("GLOBAL_DIMMER_FRAME_END_INFO_ML"),
1248            Self::COORDINATE_SPACE_CREATE_INFO_ML => Some("COORDINATE_SPACE_CREATE_INFO_ML"),
1249            Self::SYSTEM_MARKER_UNDERSTANDING_PROPERTIES_ML => {
1250                Some("SYSTEM_MARKER_UNDERSTANDING_PROPERTIES_ML")
1251            }
1252            Self::MARKER_DETECTOR_CREATE_INFO_ML => Some("MARKER_DETECTOR_CREATE_INFO_ML"),
1253            Self::MARKER_DETECTOR_ARUCO_INFO_ML => Some("MARKER_DETECTOR_ARUCO_INFO_ML"),
1254            Self::MARKER_DETECTOR_SIZE_INFO_ML => Some("MARKER_DETECTOR_SIZE_INFO_ML"),
1255            Self::MARKER_DETECTOR_APRIL_TAG_INFO_ML => Some("MARKER_DETECTOR_APRIL_TAG_INFO_ML"),
1256            Self::MARKER_DETECTOR_CUSTOM_PROFILE_INFO_ML => {
1257                Some("MARKER_DETECTOR_CUSTOM_PROFILE_INFO_ML")
1258            }
1259            Self::MARKER_DETECTOR_SNAPSHOT_INFO_ML => Some("MARKER_DETECTOR_SNAPSHOT_INFO_ML"),
1260            Self::MARKER_DETECTOR_STATE_ML => Some("MARKER_DETECTOR_STATE_ML"),
1261            Self::MARKER_SPACE_CREATE_INFO_ML => Some("MARKER_SPACE_CREATE_INFO_ML"),
1262            Self::LOCALIZATION_MAP_ML => Some("LOCALIZATION_MAP_ML"),
1263            Self::EVENT_DATA_LOCALIZATION_CHANGED_ML => Some("EVENT_DATA_LOCALIZATION_CHANGED_ML"),
1264            Self::MAP_LOCALIZATION_REQUEST_INFO_ML => Some("MAP_LOCALIZATION_REQUEST_INFO_ML"),
1265            Self::LOCALIZATION_MAP_IMPORT_INFO_ML => Some("LOCALIZATION_MAP_IMPORT_INFO_ML"),
1266            Self::LOCALIZATION_ENABLE_EVENTS_INFO_ML => Some("LOCALIZATION_ENABLE_EVENTS_INFO_ML"),
1267            Self::SPATIAL_ANCHORS_CREATE_INFO_FROM_POSE_ML => {
1268                Some("SPATIAL_ANCHORS_CREATE_INFO_FROM_POSE_ML")
1269            }
1270            Self::CREATE_SPATIAL_ANCHORS_COMPLETION_ML => {
1271                Some("CREATE_SPATIAL_ANCHORS_COMPLETION_ML")
1272            }
1273            Self::SPATIAL_ANCHOR_STATE_ML => Some("SPATIAL_ANCHOR_STATE_ML"),
1274            Self::SPATIAL_ANCHORS_CREATE_STORAGE_INFO_ML => {
1275                Some("SPATIAL_ANCHORS_CREATE_STORAGE_INFO_ML")
1276            }
1277            Self::SPATIAL_ANCHORS_QUERY_INFO_RADIUS_ML => {
1278                Some("SPATIAL_ANCHORS_QUERY_INFO_RADIUS_ML")
1279            }
1280            Self::SPATIAL_ANCHORS_QUERY_COMPLETION_ML => {
1281                Some("SPATIAL_ANCHORS_QUERY_COMPLETION_ML")
1282            }
1283            Self::SPATIAL_ANCHORS_CREATE_INFO_FROM_UUIDS_ML => {
1284                Some("SPATIAL_ANCHORS_CREATE_INFO_FROM_UUIDS_ML")
1285            }
1286            Self::SPATIAL_ANCHORS_PUBLISH_INFO_ML => Some("SPATIAL_ANCHORS_PUBLISH_INFO_ML"),
1287            Self::SPATIAL_ANCHORS_PUBLISH_COMPLETION_ML => {
1288                Some("SPATIAL_ANCHORS_PUBLISH_COMPLETION_ML")
1289            }
1290            Self::SPATIAL_ANCHORS_DELETE_INFO_ML => Some("SPATIAL_ANCHORS_DELETE_INFO_ML"),
1291            Self::SPATIAL_ANCHORS_DELETE_COMPLETION_ML => {
1292                Some("SPATIAL_ANCHORS_DELETE_COMPLETION_ML")
1293            }
1294            Self::SPATIAL_ANCHORS_UPDATE_EXPIRATION_INFO_ML => {
1295                Some("SPATIAL_ANCHORS_UPDATE_EXPIRATION_INFO_ML")
1296            }
1297            Self::SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_ML => {
1298                Some("SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_ML")
1299            }
1300            Self::SPATIAL_ANCHORS_PUBLISH_COMPLETION_DETAILS_ML => {
1301                Some("SPATIAL_ANCHORS_PUBLISH_COMPLETION_DETAILS_ML")
1302            }
1303            Self::SPATIAL_ANCHORS_DELETE_COMPLETION_DETAILS_ML => {
1304                Some("SPATIAL_ANCHORS_DELETE_COMPLETION_DETAILS_ML")
1305            }
1306            Self::SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_DETAILS_ML => {
1307                Some("SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_DETAILS_ML")
1308            }
1309            Self::EVENT_DATA_HEADSET_FIT_CHANGED_ML => Some("EVENT_DATA_HEADSET_FIT_CHANGED_ML"),
1310            Self::EVENT_DATA_EYE_CALIBRATION_CHANGED_ML => {
1311                Some("EVENT_DATA_EYE_CALIBRATION_CHANGED_ML")
1312            }
1313            Self::USER_CALIBRATION_ENABLE_EVENTS_INFO_ML => {
1314                Some("USER_CALIBRATION_ENABLE_EVENTS_INFO_ML")
1315            }
1316            Self::SPATIAL_ANCHOR_PERSISTENCE_INFO_MSFT => {
1317                Some("SPATIAL_ANCHOR_PERSISTENCE_INFO_MSFT")
1318            }
1319            Self::SPATIAL_ANCHOR_FROM_PERSISTED_ANCHOR_CREATE_INFO_MSFT => {
1320                Some("SPATIAL_ANCHOR_FROM_PERSISTED_ANCHOR_CREATE_INFO_MSFT")
1321            }
1322            Self::SCENE_MARKERS_MSFT => Some("SCENE_MARKERS_MSFT"),
1323            Self::SCENE_MARKER_TYPE_FILTER_MSFT => Some("SCENE_MARKER_TYPE_FILTER_MSFT"),
1324            Self::SCENE_MARKER_QR_CODES_MSFT => Some("SCENE_MARKER_QR_CODES_MSFT"),
1325            Self::SPACE_QUERY_INFO_FB => Some("SPACE_QUERY_INFO_FB"),
1326            Self::SPACE_QUERY_RESULTS_FB => Some("SPACE_QUERY_RESULTS_FB"),
1327            Self::SPACE_STORAGE_LOCATION_FILTER_INFO_FB => {
1328                Some("SPACE_STORAGE_LOCATION_FILTER_INFO_FB")
1329            }
1330            Self::SPACE_UUID_FILTER_INFO_FB => Some("SPACE_UUID_FILTER_INFO_FB"),
1331            Self::SPACE_COMPONENT_FILTER_INFO_FB => Some("SPACE_COMPONENT_FILTER_INFO_FB"),
1332            Self::EVENT_DATA_SPACE_QUERY_RESULTS_AVAILABLE_FB => {
1333                Some("EVENT_DATA_SPACE_QUERY_RESULTS_AVAILABLE_FB")
1334            }
1335            Self::EVENT_DATA_SPACE_QUERY_COMPLETE_FB => Some("EVENT_DATA_SPACE_QUERY_COMPLETE_FB"),
1336            Self::SPACE_SAVE_INFO_FB => Some("SPACE_SAVE_INFO_FB"),
1337            Self::SPACE_ERASE_INFO_FB => Some("SPACE_ERASE_INFO_FB"),
1338            Self::EVENT_DATA_SPACE_SAVE_COMPLETE_FB => Some("EVENT_DATA_SPACE_SAVE_COMPLETE_FB"),
1339            Self::EVENT_DATA_SPACE_ERASE_COMPLETE_FB => Some("EVENT_DATA_SPACE_ERASE_COMPLETE_FB"),
1340            Self::SWAPCHAIN_IMAGE_FOVEATION_VULKAN_FB => {
1341                Some("SWAPCHAIN_IMAGE_FOVEATION_VULKAN_FB")
1342            }
1343            Self::SWAPCHAIN_STATE_ANDROID_SURFACE_DIMENSIONS_FB => {
1344                Some("SWAPCHAIN_STATE_ANDROID_SURFACE_DIMENSIONS_FB")
1345            }
1346            Self::SWAPCHAIN_STATE_SAMPLER_OPENGL_ES_FB => {
1347                Some("SWAPCHAIN_STATE_SAMPLER_OPENGL_ES_FB")
1348            }
1349            Self::SWAPCHAIN_STATE_SAMPLER_VULKAN_FB => Some("SWAPCHAIN_STATE_SAMPLER_VULKAN_FB"),
1350            Self::SPACE_SHARE_INFO_FB => Some("SPACE_SHARE_INFO_FB"),
1351            Self::EVENT_DATA_SPACE_SHARE_COMPLETE_FB => Some("EVENT_DATA_SPACE_SHARE_COMPLETE_FB"),
1352            Self::COMPOSITION_LAYER_SPACE_WARP_INFO_FB => {
1353                Some("COMPOSITION_LAYER_SPACE_WARP_INFO_FB")
1354            }
1355            Self::SYSTEM_SPACE_WARP_PROPERTIES_FB => Some("SYSTEM_SPACE_WARP_PROPERTIES_FB"),
1356            Self::HAPTIC_AMPLITUDE_ENVELOPE_VIBRATION_FB => {
1357                Some("HAPTIC_AMPLITUDE_ENVELOPE_VIBRATION_FB")
1358            }
1359            Self::SEMANTIC_LABELS_FB => Some("SEMANTIC_LABELS_FB"),
1360            Self::ROOM_LAYOUT_FB => Some("ROOM_LAYOUT_FB"),
1361            Self::BOUNDARY_2D_FB => Some("BOUNDARY_2D_FB"),
1362            Self::SEMANTIC_LABELS_SUPPORT_INFO_FB => Some("SEMANTIC_LABELS_SUPPORT_INFO_FB"),
1363            Self::DIGITAL_LENS_CONTROL_ALMALENCE => Some("DIGITAL_LENS_CONTROL_ALMALENCE"),
1364            Self::EVENT_DATA_SCENE_CAPTURE_COMPLETE_FB => {
1365                Some("EVENT_DATA_SCENE_CAPTURE_COMPLETE_FB")
1366            }
1367            Self::SCENE_CAPTURE_REQUEST_INFO_FB => Some("SCENE_CAPTURE_REQUEST_INFO_FB"),
1368            Self::SPACE_CONTAINER_FB => Some("SPACE_CONTAINER_FB"),
1369            Self::FOVEATION_EYE_TRACKED_PROFILE_CREATE_INFO_META => {
1370                Some("FOVEATION_EYE_TRACKED_PROFILE_CREATE_INFO_META")
1371            }
1372            Self::FOVEATION_EYE_TRACKED_STATE_META => Some("FOVEATION_EYE_TRACKED_STATE_META"),
1373            Self::SYSTEM_FOVEATION_EYE_TRACKED_PROPERTIES_META => {
1374                Some("SYSTEM_FOVEATION_EYE_TRACKED_PROPERTIES_META")
1375            }
1376            Self::SYSTEM_FACE_TRACKING_PROPERTIES_FB => Some("SYSTEM_FACE_TRACKING_PROPERTIES_FB"),
1377            Self::FACE_TRACKER_CREATE_INFO_FB => Some("FACE_TRACKER_CREATE_INFO_FB"),
1378            Self::FACE_EXPRESSION_INFO_FB => Some("FACE_EXPRESSION_INFO_FB"),
1379            Self::FACE_EXPRESSION_WEIGHTS_FB => Some("FACE_EXPRESSION_WEIGHTS_FB"),
1380            Self::EYE_TRACKER_CREATE_INFO_FB => Some("EYE_TRACKER_CREATE_INFO_FB"),
1381            Self::EYE_GAZES_INFO_FB => Some("EYE_GAZES_INFO_FB"),
1382            Self::EYE_GAZES_FB => Some("EYE_GAZES_FB"),
1383            Self::SYSTEM_EYE_TRACKING_PROPERTIES_FB => Some("SYSTEM_EYE_TRACKING_PROPERTIES_FB"),
1384            Self::PASSTHROUGH_KEYBOARD_HANDS_INTENSITY_FB => {
1385                Some("PASSTHROUGH_KEYBOARD_HANDS_INTENSITY_FB")
1386            }
1387            Self::COMPOSITION_LAYER_SETTINGS_FB => Some("COMPOSITION_LAYER_SETTINGS_FB"),
1388            Self::HAPTIC_PCM_VIBRATION_FB => Some("HAPTIC_PCM_VIBRATION_FB"),
1389            Self::DEVICE_PCM_SAMPLE_RATE_STATE_FB => Some("DEVICE_PCM_SAMPLE_RATE_STATE_FB"),
1390            Self::FRAME_SYNTHESIS_INFO_EXT => Some("FRAME_SYNTHESIS_INFO_EXT"),
1391            Self::FRAME_SYNTHESIS_CONFIG_VIEW_EXT => Some("FRAME_SYNTHESIS_CONFIG_VIEW_EXT"),
1392            Self::COMPOSITION_LAYER_DEPTH_TEST_FB => Some("COMPOSITION_LAYER_DEPTH_TEST_FB"),
1393            Self::LOCAL_DIMMING_FRAME_END_INFO_META => Some("LOCAL_DIMMING_FRAME_END_INFO_META"),
1394            Self::PASSTHROUGH_PREFERENCES_META => Some("PASSTHROUGH_PREFERENCES_META"),
1395            Self::SYSTEM_VIRTUAL_KEYBOARD_PROPERTIES_META => {
1396                Some("SYSTEM_VIRTUAL_KEYBOARD_PROPERTIES_META")
1397            }
1398            Self::VIRTUAL_KEYBOARD_CREATE_INFO_META => Some("VIRTUAL_KEYBOARD_CREATE_INFO_META"),
1399            Self::VIRTUAL_KEYBOARD_SPACE_CREATE_INFO_META => {
1400                Some("VIRTUAL_KEYBOARD_SPACE_CREATE_INFO_META")
1401            }
1402            Self::VIRTUAL_KEYBOARD_LOCATION_INFO_META => {
1403                Some("VIRTUAL_KEYBOARD_LOCATION_INFO_META")
1404            }
1405            Self::VIRTUAL_KEYBOARD_MODEL_VISIBILITY_SET_INFO_META => {
1406                Some("VIRTUAL_KEYBOARD_MODEL_VISIBILITY_SET_INFO_META")
1407            }
1408            Self::VIRTUAL_KEYBOARD_ANIMATION_STATE_META => {
1409                Some("VIRTUAL_KEYBOARD_ANIMATION_STATE_META")
1410            }
1411            Self::VIRTUAL_KEYBOARD_MODEL_ANIMATION_STATES_META => {
1412                Some("VIRTUAL_KEYBOARD_MODEL_ANIMATION_STATES_META")
1413            }
1414            Self::VIRTUAL_KEYBOARD_TEXTURE_DATA_META => Some("VIRTUAL_KEYBOARD_TEXTURE_DATA_META"),
1415            Self::VIRTUAL_KEYBOARD_INPUT_INFO_META => Some("VIRTUAL_KEYBOARD_INPUT_INFO_META"),
1416            Self::VIRTUAL_KEYBOARD_TEXT_CONTEXT_CHANGE_INFO_META => {
1417                Some("VIRTUAL_KEYBOARD_TEXT_CONTEXT_CHANGE_INFO_META")
1418            }
1419            Self::EVENT_DATA_VIRTUAL_KEYBOARD_COMMIT_TEXT_META => {
1420                Some("EVENT_DATA_VIRTUAL_KEYBOARD_COMMIT_TEXT_META")
1421            }
1422            Self::EVENT_DATA_VIRTUAL_KEYBOARD_BACKSPACE_META => {
1423                Some("EVENT_DATA_VIRTUAL_KEYBOARD_BACKSPACE_META")
1424            }
1425            Self::EVENT_DATA_VIRTUAL_KEYBOARD_ENTER_META => {
1426                Some("EVENT_DATA_VIRTUAL_KEYBOARD_ENTER_META")
1427            }
1428            Self::EVENT_DATA_VIRTUAL_KEYBOARD_SHOWN_META => {
1429                Some("EVENT_DATA_VIRTUAL_KEYBOARD_SHOWN_META")
1430            }
1431            Self::EVENT_DATA_VIRTUAL_KEYBOARD_HIDDEN_META => {
1432                Some("EVENT_DATA_VIRTUAL_KEYBOARD_HIDDEN_META")
1433            }
1434            Self::EXTERNAL_CAMERA_OCULUS => Some("EXTERNAL_CAMERA_OCULUS"),
1435            Self::VULKAN_SWAPCHAIN_CREATE_INFO_META => Some("VULKAN_SWAPCHAIN_CREATE_INFO_META"),
1436            Self::PERFORMANCE_METRICS_STATE_META => Some("PERFORMANCE_METRICS_STATE_META"),
1437            Self::PERFORMANCE_METRICS_COUNTER_META => Some("PERFORMANCE_METRICS_COUNTER_META"),
1438            Self::SPACE_LIST_SAVE_INFO_FB => Some("SPACE_LIST_SAVE_INFO_FB"),
1439            Self::EVENT_DATA_SPACE_LIST_SAVE_COMPLETE_FB => {
1440                Some("EVENT_DATA_SPACE_LIST_SAVE_COMPLETE_FB")
1441            }
1442            Self::SPACE_USER_CREATE_INFO_FB => Some("SPACE_USER_CREATE_INFO_FB"),
1443            Self::SYSTEM_HEADSET_ID_PROPERTIES_META => Some("SYSTEM_HEADSET_ID_PROPERTIES_META"),
1444            Self::SYSTEM_SPACE_DISCOVERY_PROPERTIES_META => {
1445                Some("SYSTEM_SPACE_DISCOVERY_PROPERTIES_META")
1446            }
1447            Self::SPACE_DISCOVERY_INFO_META => Some("SPACE_DISCOVERY_INFO_META"),
1448            Self::SPACE_FILTER_UUID_META => Some("SPACE_FILTER_UUID_META"),
1449            Self::SPACE_FILTER_COMPONENT_META => Some("SPACE_FILTER_COMPONENT_META"),
1450            Self::SPACE_DISCOVERY_RESULT_META => Some("SPACE_DISCOVERY_RESULT_META"),
1451            Self::SPACE_DISCOVERY_RESULTS_META => Some("SPACE_DISCOVERY_RESULTS_META"),
1452            Self::EVENT_DATA_SPACE_DISCOVERY_RESULTS_AVAILABLE_META => {
1453                Some("EVENT_DATA_SPACE_DISCOVERY_RESULTS_AVAILABLE_META")
1454            }
1455            Self::EVENT_DATA_SPACE_DISCOVERY_COMPLETE_META => {
1456                Some("EVENT_DATA_SPACE_DISCOVERY_COMPLETE_META")
1457            }
1458            Self::RECOMMENDED_LAYER_RESOLUTION_META => Some("RECOMMENDED_LAYER_RESOLUTION_META"),
1459            Self::RECOMMENDED_LAYER_RESOLUTION_GET_INFO_META => {
1460                Some("RECOMMENDED_LAYER_RESOLUTION_GET_INFO_META")
1461            }
1462            Self::SYSTEM_SPACE_PERSISTENCE_PROPERTIES_META => {
1463                Some("SYSTEM_SPACE_PERSISTENCE_PROPERTIES_META")
1464            }
1465            Self::SPACES_SAVE_INFO_META => Some("SPACES_SAVE_INFO_META"),
1466            Self::EVENT_DATA_SPACES_SAVE_RESULT_META => Some("EVENT_DATA_SPACES_SAVE_RESULT_META"),
1467            Self::SPACES_ERASE_INFO_META => Some("SPACES_ERASE_INFO_META"),
1468            Self::EVENT_DATA_SPACES_ERASE_RESULT_META => {
1469                Some("EVENT_DATA_SPACES_ERASE_RESULT_META")
1470            }
1471            Self::SYSTEM_PASSTHROUGH_COLOR_LUT_PROPERTIES_META => {
1472                Some("SYSTEM_PASSTHROUGH_COLOR_LUT_PROPERTIES_META")
1473            }
1474            Self::PASSTHROUGH_COLOR_LUT_CREATE_INFO_META => {
1475                Some("PASSTHROUGH_COLOR_LUT_CREATE_INFO_META")
1476            }
1477            Self::PASSTHROUGH_COLOR_LUT_UPDATE_INFO_META => {
1478                Some("PASSTHROUGH_COLOR_LUT_UPDATE_INFO_META")
1479            }
1480            Self::PASSTHROUGH_COLOR_MAP_LUT_META => Some("PASSTHROUGH_COLOR_MAP_LUT_META"),
1481            Self::PASSTHROUGH_COLOR_MAP_INTERPOLATED_LUT_META => {
1482                Some("PASSTHROUGH_COLOR_MAP_INTERPOLATED_LUT_META")
1483            }
1484            Self::SPACE_TRIANGLE_MESH_GET_INFO_META => Some("SPACE_TRIANGLE_MESH_GET_INFO_META"),
1485            Self::SPACE_TRIANGLE_MESH_META => Some("SPACE_TRIANGLE_MESH_META"),
1486            Self::SYSTEM_PROPERTIES_BODY_TRACKING_FULL_BODY_META => {
1487                Some("SYSTEM_PROPERTIES_BODY_TRACKING_FULL_BODY_META")
1488            }
1489            Self::EVENT_DATA_PASSTHROUGH_LAYER_RESUMED_META => {
1490                Some("EVENT_DATA_PASSTHROUGH_LAYER_RESUMED_META")
1491            }
1492            Self::BODY_TRACKING_CALIBRATION_INFO_META => {
1493                Some("BODY_TRACKING_CALIBRATION_INFO_META")
1494            }
1495            Self::BODY_TRACKING_CALIBRATION_STATUS_META => {
1496                Some("BODY_TRACKING_CALIBRATION_STATUS_META")
1497            }
1498            Self::SYSTEM_PROPERTIES_BODY_TRACKING_CALIBRATION_META => {
1499                Some("SYSTEM_PROPERTIES_BODY_TRACKING_CALIBRATION_META")
1500            }
1501            Self::BODY_TRACKING_FIDELITY_STATUS_META => Some("BODY_TRACKING_FIDELITY_STATUS_META"),
1502            Self::SYSTEM_PROPERTIES_BODY_TRACKING_FIDELITY_META => {
1503                Some("SYSTEM_PROPERTIES_BODY_TRACKING_FIDELITY_META")
1504            }
1505            Self::SYSTEM_FACE_TRACKING_PROPERTIES2_FB => {
1506                Some("SYSTEM_FACE_TRACKING_PROPERTIES2_FB")
1507            }
1508            Self::FACE_TRACKER_CREATE_INFO2_FB => Some("FACE_TRACKER_CREATE_INFO2_FB"),
1509            Self::FACE_EXPRESSION_INFO2_FB => Some("FACE_EXPRESSION_INFO2_FB"),
1510            Self::FACE_EXPRESSION_WEIGHTS2_FB => Some("FACE_EXPRESSION_WEIGHTS2_FB"),
1511            Self::SYSTEM_SPATIAL_ENTITY_SHARING_PROPERTIES_META => {
1512                Some("SYSTEM_SPATIAL_ENTITY_SHARING_PROPERTIES_META")
1513            }
1514            Self::SHARE_SPACES_INFO_META => Some("SHARE_SPACES_INFO_META"),
1515            Self::EVENT_DATA_SHARE_SPACES_COMPLETE_META => {
1516                Some("EVENT_DATA_SHARE_SPACES_COMPLETE_META")
1517            }
1518            Self::ENVIRONMENT_DEPTH_PROVIDER_CREATE_INFO_META => {
1519                Some("ENVIRONMENT_DEPTH_PROVIDER_CREATE_INFO_META")
1520            }
1521            Self::ENVIRONMENT_DEPTH_SWAPCHAIN_CREATE_INFO_META => {
1522                Some("ENVIRONMENT_DEPTH_SWAPCHAIN_CREATE_INFO_META")
1523            }
1524            Self::ENVIRONMENT_DEPTH_SWAPCHAIN_STATE_META => {
1525                Some("ENVIRONMENT_DEPTH_SWAPCHAIN_STATE_META")
1526            }
1527            Self::ENVIRONMENT_DEPTH_IMAGE_ACQUIRE_INFO_META => {
1528                Some("ENVIRONMENT_DEPTH_IMAGE_ACQUIRE_INFO_META")
1529            }
1530            Self::ENVIRONMENT_DEPTH_IMAGE_VIEW_META => Some("ENVIRONMENT_DEPTH_IMAGE_VIEW_META"),
1531            Self::ENVIRONMENT_DEPTH_IMAGE_META => Some("ENVIRONMENT_DEPTH_IMAGE_META"),
1532            Self::ENVIRONMENT_DEPTH_HAND_REMOVAL_SET_INFO_META => {
1533                Some("ENVIRONMENT_DEPTH_HAND_REMOVAL_SET_INFO_META")
1534            }
1535            Self::SYSTEM_ENVIRONMENT_DEPTH_PROPERTIES_META => {
1536                Some("SYSTEM_ENVIRONMENT_DEPTH_PROPERTIES_META")
1537            }
1538            Self::ENVIRONMENT_DEPTH_IMAGE_TIMESTAMP_META => {
1539                Some("ENVIRONMENT_DEPTH_IMAGE_TIMESTAMP_META")
1540            }
1541            Self::RENDER_MODEL_CREATE_INFO_EXT => Some("RENDER_MODEL_CREATE_INFO_EXT"),
1542            Self::RENDER_MODEL_PROPERTIES_GET_INFO_EXT => {
1543                Some("RENDER_MODEL_PROPERTIES_GET_INFO_EXT")
1544            }
1545            Self::RENDER_MODEL_PROPERTIES_EXT => Some("RENDER_MODEL_PROPERTIES_EXT"),
1546            Self::RENDER_MODEL_SPACE_CREATE_INFO_EXT => Some("RENDER_MODEL_SPACE_CREATE_INFO_EXT"),
1547            Self::RENDER_MODEL_STATE_GET_INFO_EXT => Some("RENDER_MODEL_STATE_GET_INFO_EXT"),
1548            Self::RENDER_MODEL_STATE_EXT => Some("RENDER_MODEL_STATE_EXT"),
1549            Self::RENDER_MODEL_ASSET_CREATE_INFO_EXT => Some("RENDER_MODEL_ASSET_CREATE_INFO_EXT"),
1550            Self::RENDER_MODEL_ASSET_DATA_GET_INFO_EXT => {
1551                Some("RENDER_MODEL_ASSET_DATA_GET_INFO_EXT")
1552            }
1553            Self::RENDER_MODEL_ASSET_DATA_EXT => Some("RENDER_MODEL_ASSET_DATA_EXT"),
1554            Self::RENDER_MODEL_ASSET_PROPERTIES_GET_INFO_EXT => {
1555                Some("RENDER_MODEL_ASSET_PROPERTIES_GET_INFO_EXT")
1556            }
1557            Self::RENDER_MODEL_ASSET_PROPERTIES_EXT => Some("RENDER_MODEL_ASSET_PROPERTIES_EXT"),
1558            Self::INTERACTION_RENDER_MODEL_IDS_ENUMERATE_INFO_EXT => {
1559                Some("INTERACTION_RENDER_MODEL_IDS_ENUMERATE_INFO_EXT")
1560            }
1561            Self::INTERACTION_RENDER_MODEL_SUBACTION_PATH_INFO_EXT => {
1562                Some("INTERACTION_RENDER_MODEL_SUBACTION_PATH_INFO_EXT")
1563            }
1564            Self::EVENT_DATA_INTERACTION_RENDER_MODELS_CHANGED_EXT => {
1565                Some("EVENT_DATA_INTERACTION_RENDER_MODELS_CHANGED_EXT")
1566            }
1567            Self::INTERACTION_RENDER_MODEL_TOP_LEVEL_USER_PATH_GET_INFO_EXT => {
1568                Some("INTERACTION_RENDER_MODEL_TOP_LEVEL_USER_PATH_GET_INFO_EXT")
1569            }
1570            Self::PASSTHROUGH_CREATE_INFO_HTC => Some("PASSTHROUGH_CREATE_INFO_HTC"),
1571            Self::PASSTHROUGH_COLOR_HTC => Some("PASSTHROUGH_COLOR_HTC"),
1572            Self::PASSTHROUGH_MESH_TRANSFORM_INFO_HTC => {
1573                Some("PASSTHROUGH_MESH_TRANSFORM_INFO_HTC")
1574            }
1575            Self::COMPOSITION_LAYER_PASSTHROUGH_HTC => Some("COMPOSITION_LAYER_PASSTHROUGH_HTC"),
1576            Self::FOVEATION_APPLY_INFO_HTC => Some("FOVEATION_APPLY_INFO_HTC"),
1577            Self::FOVEATION_DYNAMIC_MODE_INFO_HTC => Some("FOVEATION_DYNAMIC_MODE_INFO_HTC"),
1578            Self::FOVEATION_CUSTOM_MODE_INFO_HTC => Some("FOVEATION_CUSTOM_MODE_INFO_HTC"),
1579            Self::SYSTEM_ANCHOR_PROPERTIES_HTC => Some("SYSTEM_ANCHOR_PROPERTIES_HTC"),
1580            Self::SPATIAL_ANCHOR_CREATE_INFO_HTC => Some("SPATIAL_ANCHOR_CREATE_INFO_HTC"),
1581            Self::SYSTEM_BODY_TRACKING_PROPERTIES_HTC => {
1582                Some("SYSTEM_BODY_TRACKING_PROPERTIES_HTC")
1583            }
1584            Self::BODY_TRACKER_CREATE_INFO_HTC => Some("BODY_TRACKER_CREATE_INFO_HTC"),
1585            Self::BODY_JOINTS_LOCATE_INFO_HTC => Some("BODY_JOINTS_LOCATE_INFO_HTC"),
1586            Self::BODY_JOINT_LOCATIONS_HTC => Some("BODY_JOINT_LOCATIONS_HTC"),
1587            Self::BODY_SKELETON_HTC => Some("BODY_SKELETON_HTC"),
1588            Self::ACTIVE_ACTION_SET_PRIORITIES_EXT => Some("ACTIVE_ACTION_SET_PRIORITIES_EXT"),
1589            Self::SYSTEM_FORCE_FEEDBACK_CURL_PROPERTIES_MNDX => {
1590                Some("SYSTEM_FORCE_FEEDBACK_CURL_PROPERTIES_MNDX")
1591            }
1592            Self::FORCE_FEEDBACK_CURL_APPLY_LOCATIONS_MNDX => {
1593                Some("FORCE_FEEDBACK_CURL_APPLY_LOCATIONS_MNDX")
1594            }
1595            Self::BODY_TRACKER_CREATE_INFO_BD => Some("BODY_TRACKER_CREATE_INFO_BD"),
1596            Self::BODY_JOINTS_LOCATE_INFO_BD => Some("BODY_JOINTS_LOCATE_INFO_BD"),
1597            Self::BODY_JOINT_LOCATIONS_BD => Some("BODY_JOINT_LOCATIONS_BD"),
1598            Self::SYSTEM_BODY_TRACKING_PROPERTIES_BD => Some("SYSTEM_BODY_TRACKING_PROPERTIES_BD"),
1599            Self::SYSTEM_FACIAL_SIMULATION_PROPERTIES_BD => {
1600                Some("SYSTEM_FACIAL_SIMULATION_PROPERTIES_BD")
1601            }
1602            Self::FACE_TRACKER_CREATE_INFO_BD => Some("FACE_TRACKER_CREATE_INFO_BD"),
1603            Self::FACIAL_SIMULATION_DATA_GET_INFO_BD => Some("FACIAL_SIMULATION_DATA_GET_INFO_BD"),
1604            Self::FACIAL_SIMULATION_DATA_BD => Some("FACIAL_SIMULATION_DATA_BD"),
1605            Self::LIP_EXPRESSION_DATA_BD => Some("LIP_EXPRESSION_DATA_BD"),
1606            Self::SYSTEM_SPATIAL_SENSING_PROPERTIES_BD => {
1607                Some("SYSTEM_SPATIAL_SENSING_PROPERTIES_BD")
1608            }
1609            Self::SPATIAL_ENTITY_COMPONENT_GET_INFO_BD => {
1610                Some("SPATIAL_ENTITY_COMPONENT_GET_INFO_BD")
1611            }
1612            Self::SPATIAL_ENTITY_LOCATION_GET_INFO_BD => {
1613                Some("SPATIAL_ENTITY_LOCATION_GET_INFO_BD")
1614            }
1615            Self::SPATIAL_ENTITY_COMPONENT_DATA_LOCATION_BD => {
1616                Some("SPATIAL_ENTITY_COMPONENT_DATA_LOCATION_BD")
1617            }
1618            Self::SPATIAL_ENTITY_COMPONENT_DATA_SEMANTIC_BD => {
1619                Some("SPATIAL_ENTITY_COMPONENT_DATA_SEMANTIC_BD")
1620            }
1621            Self::SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_2D_BD => {
1622                Some("SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_2D_BD")
1623            }
1624            Self::SPATIAL_ENTITY_COMPONENT_DATA_POLYGON_BD => {
1625                Some("SPATIAL_ENTITY_COMPONENT_DATA_POLYGON_BD")
1626            }
1627            Self::SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_3D_BD => {
1628                Some("SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_3D_BD")
1629            }
1630            Self::SPATIAL_ENTITY_COMPONENT_DATA_TRIANGLE_MESH_BD => {
1631                Some("SPATIAL_ENTITY_COMPONENT_DATA_TRIANGLE_MESH_BD")
1632            }
1633            Self::SENSE_DATA_PROVIDER_CREATE_INFO_BD => Some("SENSE_DATA_PROVIDER_CREATE_INFO_BD"),
1634            Self::SENSE_DATA_PROVIDER_START_INFO_BD => Some("SENSE_DATA_PROVIDER_START_INFO_BD"),
1635            Self::EVENT_DATA_SENSE_DATA_PROVIDER_STATE_CHANGED_BD => {
1636                Some("EVENT_DATA_SENSE_DATA_PROVIDER_STATE_CHANGED_BD")
1637            }
1638            Self::EVENT_DATA_SENSE_DATA_UPDATED_BD => Some("EVENT_DATA_SENSE_DATA_UPDATED_BD"),
1639            Self::SENSE_DATA_QUERY_INFO_BD => Some("SENSE_DATA_QUERY_INFO_BD"),
1640            Self::SENSE_DATA_QUERY_COMPLETION_BD => Some("SENSE_DATA_QUERY_COMPLETION_BD"),
1641            Self::SENSE_DATA_FILTER_UUID_BD => Some("SENSE_DATA_FILTER_UUID_BD"),
1642            Self::SENSE_DATA_FILTER_SEMANTIC_BD => Some("SENSE_DATA_FILTER_SEMANTIC_BD"),
1643            Self::QUERIED_SENSE_DATA_GET_INFO_BD => Some("QUERIED_SENSE_DATA_GET_INFO_BD"),
1644            Self::QUERIED_SENSE_DATA_BD => Some("QUERIED_SENSE_DATA_BD"),
1645            Self::SPATIAL_ENTITY_STATE_BD => Some("SPATIAL_ENTITY_STATE_BD"),
1646            Self::SPATIAL_ENTITY_ANCHOR_CREATE_INFO_BD => {
1647                Some("SPATIAL_ENTITY_ANCHOR_CREATE_INFO_BD")
1648            }
1649            Self::ANCHOR_SPACE_CREATE_INFO_BD => Some("ANCHOR_SPACE_CREATE_INFO_BD"),
1650            Self::SYSTEM_SPATIAL_ANCHOR_PROPERTIES_BD => {
1651                Some("SYSTEM_SPATIAL_ANCHOR_PROPERTIES_BD")
1652            }
1653            Self::SPATIAL_ANCHOR_CREATE_INFO_BD => Some("SPATIAL_ANCHOR_CREATE_INFO_BD"),
1654            Self::SPATIAL_ANCHOR_CREATE_COMPLETION_BD => {
1655                Some("SPATIAL_ANCHOR_CREATE_COMPLETION_BD")
1656            }
1657            Self::SPATIAL_ANCHOR_PERSIST_INFO_BD => Some("SPATIAL_ANCHOR_PERSIST_INFO_BD"),
1658            Self::SPATIAL_ANCHOR_UNPERSIST_INFO_BD => Some("SPATIAL_ANCHOR_UNPERSIST_INFO_BD"),
1659            Self::SYSTEM_SPATIAL_ANCHOR_SHARING_PROPERTIES_BD => {
1660                Some("SYSTEM_SPATIAL_ANCHOR_SHARING_PROPERTIES_BD")
1661            }
1662            Self::SPATIAL_ANCHOR_SHARE_INFO_BD => Some("SPATIAL_ANCHOR_SHARE_INFO_BD"),
1663            Self::SHARED_SPATIAL_ANCHOR_DOWNLOAD_INFO_BD => {
1664                Some("SHARED_SPATIAL_ANCHOR_DOWNLOAD_INFO_BD")
1665            }
1666            Self::SYSTEM_SPATIAL_SCENE_PROPERTIES_BD => Some("SYSTEM_SPATIAL_SCENE_PROPERTIES_BD"),
1667            Self::SCENE_CAPTURE_INFO_BD => Some("SCENE_CAPTURE_INFO_BD"),
1668            Self::SYSTEM_SPATIAL_MESH_PROPERTIES_BD => Some("SYSTEM_SPATIAL_MESH_PROPERTIES_BD"),
1669            Self::SENSE_DATA_PROVIDER_CREATE_INFO_SPATIAL_MESH_BD => {
1670                Some("SENSE_DATA_PROVIDER_CREATE_INFO_SPATIAL_MESH_BD")
1671            }
1672            Self::FUTURE_POLL_RESULT_PROGRESS_BD => Some("FUTURE_POLL_RESULT_PROGRESS_BD"),
1673            Self::SYSTEM_SPATIAL_PLANE_PROPERTIES_BD => Some("SYSTEM_SPATIAL_PLANE_PROPERTIES_BD"),
1674            Self::SPATIAL_ENTITY_COMPONENT_DATA_PLANE_ORIENTATION_BD => {
1675                Some("SPATIAL_ENTITY_COMPONENT_DATA_PLANE_ORIENTATION_BD")
1676            }
1677            Self::SENSE_DATA_FILTER_PLANE_ORIENTATION_BD => {
1678                Some("SENSE_DATA_FILTER_PLANE_ORIENTATION_BD")
1679            }
1680            Self::SPATIAL_AUDIO_RENDERER_CREATE_INFO_BD => {
1681                Some("SPATIAL_AUDIO_RENDERER_CREATE_INFO_BD")
1682            }
1683            Self::AUDIO_BUFFER_BD => Some("AUDIO_BUFFER_BD"),
1684            Self::SOUND_OBJECT_DIRECTIVITY_CARDIOID_BD => {
1685                Some("SOUND_OBJECT_DIRECTIVITY_CARDIOID_BD")
1686            }
1687            Self::SOUND_OBJECT_SHAPE_SPHERE_BD => Some("SOUND_OBJECT_SHAPE_SPHERE_BD"),
1688            Self::SOUND_OBJECT_DISTANCE_ATTENUATION_BD => {
1689                Some("SOUND_OBJECT_DISTANCE_ATTENUATION_BD")
1690            }
1691            Self::SOUND_OBJECT_DISTANCE_ATTENUATION_CURVE_BD => {
1692                Some("SOUND_OBJECT_DISTANCE_ATTENUATION_CURVE_BD")
1693            }
1694            Self::SOUND_OBJECT_CONFIG_BD => Some("SOUND_OBJECT_CONFIG_BD"),
1695            Self::SOUND_FIELD_CONFIG_BD => Some("SOUND_FIELD_CONFIG_BD"),
1696            Self::SOUND_FIELD_CHANNEL_DEFINITION_SURROUND_BD => {
1697                Some("SOUND_FIELD_CHANNEL_DEFINITION_SURROUND_BD")
1698            }
1699            Self::SOUND_FIELD_CHANNEL_DEFINITION_AMBIX_BD => {
1700                Some("SOUND_FIELD_CHANNEL_DEFINITION_AMBIX_BD")
1701            }
1702            Self::SOUND_FIELD_CHANNEL_DEFINITION_FUMA_BD => {
1703                Some("SOUND_FIELD_CHANNEL_DEFINITION_FUMA_BD")
1704            }
1705            Self::SOUND_TRIANGLE_MESH_BD => Some("SOUND_TRIANGLE_MESH_BD"),
1706            Self::SOUND_OBSTACLE_CONFIG_BD => Some("SOUND_OBSTACLE_CONFIG_BD"),
1707            Self::SOUND_OBSTACLE_MATERIAL_CONFIG_BD => Some("SOUND_OBSTACLE_MATERIAL_CONFIG_BD"),
1708            Self::HAND_TRACKING_DATA_SOURCE_INFO_EXT => Some("HAND_TRACKING_DATA_SOURCE_INFO_EXT"),
1709            Self::HAND_TRACKING_DATA_SOURCE_STATE_EXT => {
1710                Some("HAND_TRACKING_DATA_SOURCE_STATE_EXT")
1711            }
1712            Self::PLANE_DETECTOR_CREATE_INFO_EXT => Some("PLANE_DETECTOR_CREATE_INFO_EXT"),
1713            Self::PLANE_DETECTOR_BEGIN_INFO_EXT => Some("PLANE_DETECTOR_BEGIN_INFO_EXT"),
1714            Self::PLANE_DETECTOR_GET_INFO_EXT => Some("PLANE_DETECTOR_GET_INFO_EXT"),
1715            Self::PLANE_DETECTOR_LOCATIONS_EXT => Some("PLANE_DETECTOR_LOCATIONS_EXT"),
1716            Self::PLANE_DETECTOR_LOCATION_EXT => Some("PLANE_DETECTOR_LOCATION_EXT"),
1717            Self::PLANE_DETECTOR_POLYGON_BUFFER_EXT => Some("PLANE_DETECTOR_POLYGON_BUFFER_EXT"),
1718            Self::SYSTEM_PLANE_DETECTION_PROPERTIES_EXT => {
1719                Some("SYSTEM_PLANE_DETECTION_PROPERTIES_EXT")
1720            }
1721            Self::TRACKABLE_GET_INFO_ANDROID => Some("TRACKABLE_GET_INFO_ANDROID"),
1722            Self::ANCHOR_SPACE_CREATE_INFO_ANDROID => Some("ANCHOR_SPACE_CREATE_INFO_ANDROID"),
1723            Self::TRACKABLE_PLANE_ANDROID => Some("TRACKABLE_PLANE_ANDROID"),
1724            Self::TRACKABLE_TRACKER_CREATE_INFO_ANDROID => {
1725                Some("TRACKABLE_TRACKER_CREATE_INFO_ANDROID")
1726            }
1727            Self::SYSTEM_TRACKABLES_PROPERTIES_ANDROID => {
1728                Some("SYSTEM_TRACKABLES_PROPERTIES_ANDROID")
1729            }
1730            Self::PERSISTED_ANCHOR_SPACE_CREATE_INFO_ANDROID => {
1731                Some("PERSISTED_ANCHOR_SPACE_CREATE_INFO_ANDROID")
1732            }
1733            Self::PERSISTED_ANCHOR_SPACE_INFO_ANDROID => {
1734                Some("PERSISTED_ANCHOR_SPACE_INFO_ANDROID")
1735            }
1736            Self::DEVICE_ANCHOR_PERSISTENCE_CREATE_INFO_ANDROID => {
1737                Some("DEVICE_ANCHOR_PERSISTENCE_CREATE_INFO_ANDROID")
1738            }
1739            Self::SYSTEM_DEVICE_ANCHOR_PERSISTENCE_PROPERTIES_ANDROID => {
1740                Some("SYSTEM_DEVICE_ANCHOR_PERSISTENCE_PROPERTIES_ANDROID")
1741            }
1742            Self::FACE_TRACKER_CREATE_INFO_ANDROID => Some("FACE_TRACKER_CREATE_INFO_ANDROID"),
1743            Self::FACE_STATE_GET_INFO_ANDROID => Some("FACE_STATE_GET_INFO_ANDROID"),
1744            Self::FACE_STATE_ANDROID => Some("FACE_STATE_ANDROID"),
1745            Self::SYSTEM_FACE_TRACKING_PROPERTIES_ANDROID => {
1746                Some("SYSTEM_FACE_TRACKING_PROPERTIES_ANDROID")
1747            }
1748            Self::PASSTHROUGH_CAMERA_STATE_GET_INFO_ANDROID => {
1749                Some("PASSTHROUGH_CAMERA_STATE_GET_INFO_ANDROID")
1750            }
1751            Self::SYSTEM_PASSTHROUGH_CAMERA_STATE_PROPERTIES_ANDROID => {
1752                Some("SYSTEM_PASSTHROUGH_CAMERA_STATE_PROPERTIES_ANDROID")
1753            }
1754            Self::PASSTHROUGH_LAYER_CREATE_INFO_ANDROID => {
1755                Some("PASSTHROUGH_LAYER_CREATE_INFO_ANDROID")
1756            }
1757            Self::PASSTHROUGH_LAYER_MESH_ANDROID => Some("PASSTHROUGH_LAYER_MESH_ANDROID"),
1758            Self::COMPOSITION_LAYER_PASSTHROUGH_ANDROID => {
1759                Some("COMPOSITION_LAYER_PASSTHROUGH_ANDROID")
1760            }
1761            Self::SYSTEM_PASSTHROUGH_LAYER_PROPERTIES_ANDROID => {
1762                Some("SYSTEM_PASSTHROUGH_LAYER_PROPERTIES_ANDROID")
1763            }
1764            Self::RAYCAST_INFO_ANDROID => Some("RAYCAST_INFO_ANDROID"),
1765            Self::RAYCAST_HIT_RESULTS_ANDROID => Some("RAYCAST_HIT_RESULTS_ANDROID"),
1766            Self::PERFORMANCE_METRICS_STATE_ANDROID => Some("PERFORMANCE_METRICS_STATE_ANDROID"),
1767            Self::PERFORMANCE_METRICS_COUNTER_ANDROID => {
1768                Some("PERFORMANCE_METRICS_COUNTER_ANDROID")
1769            }
1770            Self::TRACKABLE_OBJECT_ANDROID => Some("TRACKABLE_OBJECT_ANDROID"),
1771            Self::TRACKABLE_OBJECT_CONFIGURATION_ANDROID => {
1772                Some("TRACKABLE_OBJECT_CONFIGURATION_ANDROID")
1773            }
1774            Self::FUTURE_CANCEL_INFO_EXT => Some("FUTURE_CANCEL_INFO_EXT"),
1775            Self::FUTURE_POLL_INFO_EXT => Some("FUTURE_POLL_INFO_EXT"),
1776            Self::FUTURE_COMPLETION_EXT => Some("FUTURE_COMPLETION_EXT"),
1777            Self::FUTURE_POLL_RESULT_EXT => Some("FUTURE_POLL_RESULT_EXT"),
1778            Self::EVENT_DATA_USER_PRESENCE_CHANGED_EXT => {
1779                Some("EVENT_DATA_USER_PRESENCE_CHANGED_EXT")
1780            }
1781            Self::SYSTEM_USER_PRESENCE_PROPERTIES_EXT => {
1782                Some("SYSTEM_USER_PRESENCE_PROPERTIES_EXT")
1783            }
1784            Self::SYSTEM_NOTIFICATIONS_SET_INFO_ML => Some("SYSTEM_NOTIFICATIONS_SET_INFO_ML"),
1785            Self::WORLD_MESH_DETECTOR_CREATE_INFO_ML => Some("WORLD_MESH_DETECTOR_CREATE_INFO_ML"),
1786            Self::WORLD_MESH_STATE_REQUEST_INFO_ML => Some("WORLD_MESH_STATE_REQUEST_INFO_ML"),
1787            Self::WORLD_MESH_BLOCK_STATE_ML => Some("WORLD_MESH_BLOCK_STATE_ML"),
1788            Self::WORLD_MESH_STATE_REQUEST_COMPLETION_ML => {
1789                Some("WORLD_MESH_STATE_REQUEST_COMPLETION_ML")
1790            }
1791            Self::WORLD_MESH_BUFFER_RECOMMENDED_SIZE_INFO_ML => {
1792                Some("WORLD_MESH_BUFFER_RECOMMENDED_SIZE_INFO_ML")
1793            }
1794            Self::WORLD_MESH_BUFFER_SIZE_ML => Some("WORLD_MESH_BUFFER_SIZE_ML"),
1795            Self::WORLD_MESH_BUFFER_ML => Some("WORLD_MESH_BUFFER_ML"),
1796            Self::WORLD_MESH_BLOCK_REQUEST_ML => Some("WORLD_MESH_BLOCK_REQUEST_ML"),
1797            Self::WORLD_MESH_GET_INFO_ML => Some("WORLD_MESH_GET_INFO_ML"),
1798            Self::WORLD_MESH_BLOCK_ML => Some("WORLD_MESH_BLOCK_ML"),
1799            Self::WORLD_MESH_REQUEST_COMPLETION_ML => Some("WORLD_MESH_REQUEST_COMPLETION_ML"),
1800            Self::WORLD_MESH_REQUEST_COMPLETION_INFO_ML => {
1801                Some("WORLD_MESH_REQUEST_COMPLETION_INFO_ML")
1802            }
1803            Self::SYSTEM_FACIAL_EXPRESSION_PROPERTIES_ML => {
1804                Some("SYSTEM_FACIAL_EXPRESSION_PROPERTIES_ML")
1805            }
1806            Self::FACIAL_EXPRESSION_CLIENT_CREATE_INFO_ML => {
1807                Some("FACIAL_EXPRESSION_CLIENT_CREATE_INFO_ML")
1808            }
1809            Self::FACIAL_EXPRESSION_BLEND_SHAPE_GET_INFO_ML => {
1810                Some("FACIAL_EXPRESSION_BLEND_SHAPE_GET_INFO_ML")
1811            }
1812            Self::FACIAL_EXPRESSION_BLEND_SHAPE_PROPERTIES_ML => {
1813                Some("FACIAL_EXPRESSION_BLEND_SHAPE_PROPERTIES_ML")
1814            }
1815            Self::SYSTEM_SIMULTANEOUS_HANDS_AND_CONTROLLERS_PROPERTIES_META => {
1816                Some("SYSTEM_SIMULTANEOUS_HANDS_AND_CONTROLLERS_PROPERTIES_META")
1817            }
1818            Self::SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_RESUME_INFO_META => {
1819                Some("SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_RESUME_INFO_META")
1820            }
1821            Self::SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_PAUSE_INFO_META => {
1822                Some("SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_PAUSE_INFO_META")
1823            }
1824            Self::COLOCATION_DISCOVERY_START_INFO_META => {
1825                Some("COLOCATION_DISCOVERY_START_INFO_META")
1826            }
1827            Self::COLOCATION_DISCOVERY_STOP_INFO_META => {
1828                Some("COLOCATION_DISCOVERY_STOP_INFO_META")
1829            }
1830            Self::COLOCATION_ADVERTISEMENT_START_INFO_META => {
1831                Some("COLOCATION_ADVERTISEMENT_START_INFO_META")
1832            }
1833            Self::COLOCATION_ADVERTISEMENT_STOP_INFO_META => {
1834                Some("COLOCATION_ADVERTISEMENT_STOP_INFO_META")
1835            }
1836            Self::EVENT_DATA_START_COLOCATION_ADVERTISEMENT_COMPLETE_META => {
1837                Some("EVENT_DATA_START_COLOCATION_ADVERTISEMENT_COMPLETE_META")
1838            }
1839            Self::EVENT_DATA_STOP_COLOCATION_ADVERTISEMENT_COMPLETE_META => {
1840                Some("EVENT_DATA_STOP_COLOCATION_ADVERTISEMENT_COMPLETE_META")
1841            }
1842            Self::EVENT_DATA_COLOCATION_ADVERTISEMENT_COMPLETE_META => {
1843                Some("EVENT_DATA_COLOCATION_ADVERTISEMENT_COMPLETE_META")
1844            }
1845            Self::EVENT_DATA_START_COLOCATION_DISCOVERY_COMPLETE_META => {
1846                Some("EVENT_DATA_START_COLOCATION_DISCOVERY_COMPLETE_META")
1847            }
1848            Self::EVENT_DATA_COLOCATION_DISCOVERY_RESULT_META => {
1849                Some("EVENT_DATA_COLOCATION_DISCOVERY_RESULT_META")
1850            }
1851            Self::EVENT_DATA_COLOCATION_DISCOVERY_COMPLETE_META => {
1852                Some("EVENT_DATA_COLOCATION_DISCOVERY_COMPLETE_META")
1853            }
1854            Self::EVENT_DATA_STOP_COLOCATION_DISCOVERY_COMPLETE_META => {
1855                Some("EVENT_DATA_STOP_COLOCATION_DISCOVERY_COMPLETE_META")
1856            }
1857            Self::SYSTEM_COLOCATION_DISCOVERY_PROPERTIES_META => {
1858                Some("SYSTEM_COLOCATION_DISCOVERY_PROPERTIES_META")
1859            }
1860            Self::SHARE_SPACES_RECIPIENT_GROUPS_META => Some("SHARE_SPACES_RECIPIENT_GROUPS_META"),
1861            Self::SPACE_GROUP_UUID_FILTER_INFO_META => Some("SPACE_GROUP_UUID_FILTER_INFO_META"),
1862            Self::SYSTEM_SPATIAL_ENTITY_GROUP_SHARING_PROPERTIES_META => {
1863                Some("SYSTEM_SPATIAL_ENTITY_GROUP_SHARING_PROPERTIES_META")
1864            }
1865            Self::SYSTEM_ENVIRONMENT_RAYCAST_PROPERTIES_META => {
1866                Some("SYSTEM_ENVIRONMENT_RAYCAST_PROPERTIES_META")
1867            }
1868            Self::ENVIRONMENT_RAYCASTER_CREATE_INFO_META => {
1869                Some("ENVIRONMENT_RAYCASTER_CREATE_INFO_META")
1870            }
1871            Self::ENVIRONMENT_RAYCASTER_CREATE_COMPLETION_META => {
1872                Some("ENVIRONMENT_RAYCASTER_CREATE_COMPLETION_META")
1873            }
1874            Self::ENVIRONMENT_RAYCAST_HIT_GET_INFO_META => {
1875                Some("ENVIRONMENT_RAYCAST_HIT_GET_INFO_META")
1876            }
1877            Self::ENVIRONMENT_RAYCAST_HIT_META => Some("ENVIRONMENT_RAYCAST_HIT_META"),
1878            Self::ENVIRONMENT_RAYCAST_FILTER_DISTANCE_META => {
1879                Some("ENVIRONMENT_RAYCAST_FILTER_DISTANCE_META")
1880            }
1881            Self::TILE_PROPERTIES_META => Some("TILE_PROPERTIES_META"),
1882            Self::TILE_PROPERTIES_HINT_META => Some("TILE_PROPERTIES_HINT_META"),
1883            Self::ANCHOR_SHARING_INFO_ANDROID => Some("ANCHOR_SHARING_INFO_ANDROID"),
1884            Self::ANCHOR_SHARING_TOKEN_ANDROID => Some("ANCHOR_SHARING_TOKEN_ANDROID"),
1885            Self::SYSTEM_ANCHOR_SHARING_EXPORT_PROPERTIES_ANDROID => {
1886                Some("SYSTEM_ANCHOR_SHARING_EXPORT_PROPERTIES_ANDROID")
1887            }
1888            Self::SYSTEM_MARKER_TRACKING_PROPERTIES_ANDROID => {
1889                Some("SYSTEM_MARKER_TRACKING_PROPERTIES_ANDROID")
1890            }
1891            Self::TRACKABLE_MARKER_CONFIGURATION_ANDROID => {
1892                Some("TRACKABLE_MARKER_CONFIGURATION_ANDROID")
1893            }
1894            Self::TRACKABLE_MARKER_ANDROID => Some("TRACKABLE_MARKER_ANDROID"),
1895            Self::SYSTEM_QR_CODE_TRACKING_PROPERTIES_ANDROID => {
1896                Some("SYSTEM_QR_CODE_TRACKING_PROPERTIES_ANDROID")
1897            }
1898            Self::TRACKABLE_QR_CODE_CONFIGURATION_ANDROID => {
1899                Some("TRACKABLE_QR_CODE_CONFIGURATION_ANDROID")
1900            }
1901            Self::TRACKABLE_QR_CODE_ANDROID => Some("TRACKABLE_QR_CODE_ANDROID"),
1902            Self::SYSTEM_IMAGE_TRACKING_PROPERTIES_ANDROID => {
1903                Some("SYSTEM_IMAGE_TRACKING_PROPERTIES_ANDROID")
1904            }
1905            Self::TRACKABLE_IMAGE_DATABASE_ENTRY_ANDROID => {
1906                Some("TRACKABLE_IMAGE_DATABASE_ENTRY_ANDROID")
1907            }
1908            Self::TRACKABLE_IMAGE_DATABASE_CREATE_INFO_ANDROID => {
1909                Some("TRACKABLE_IMAGE_DATABASE_CREATE_INFO_ANDROID")
1910            }
1911            Self::CREATE_TRACKABLE_IMAGE_DATABASE_COMPLETION_ANDROID => {
1912                Some("CREATE_TRACKABLE_IMAGE_DATABASE_COMPLETION_ANDROID")
1913            }
1914            Self::TRACKABLE_IMAGE_CONFIGURATION_ANDROID => {
1915                Some("TRACKABLE_IMAGE_CONFIGURATION_ANDROID")
1916            }
1917            Self::TRACKABLE_IMAGE_ANDROID => Some("TRACKABLE_IMAGE_ANDROID"),
1918            Self::EVENT_DATA_IMAGE_TRACKING_LOST_ANDROID => {
1919                Some("EVENT_DATA_IMAGE_TRACKING_LOST_ANDROID")
1920            }
1921            Self::SYSTEM_SCENE_MESHING_PROPERTIES_ANDROID => {
1922                Some("SYSTEM_SCENE_MESHING_PROPERTIES_ANDROID")
1923            }
1924            Self::SCENE_MESHING_TRACKER_CREATE_INFO_ANDROID => {
1925                Some("SCENE_MESHING_TRACKER_CREATE_INFO_ANDROID")
1926            }
1927            Self::SCENE_MESH_SNAPSHOT_CREATE_INFO_ANDROID => {
1928                Some("SCENE_MESH_SNAPSHOT_CREATE_INFO_ANDROID")
1929            }
1930            Self::SCENE_MESH_SNAPSHOT_CREATION_RESULT_ANDROID => {
1931                Some("SCENE_MESH_SNAPSHOT_CREATION_RESULT_ANDROID")
1932            }
1933            Self::SCENE_SUBMESH_STATE_ANDROID => Some("SCENE_SUBMESH_STATE_ANDROID"),
1934            Self::SCENE_SUBMESH_DATA_ANDROID => Some("SCENE_SUBMESH_DATA_ANDROID"),
1935            Self::SPATIAL_CAPABILITY_COMPONENT_TYPES_EXT => {
1936                Some("SPATIAL_CAPABILITY_COMPONENT_TYPES_EXT")
1937            }
1938            Self::SPATIAL_CONTEXT_CREATE_INFO_EXT => Some("SPATIAL_CONTEXT_CREATE_INFO_EXT"),
1939            Self::CREATE_SPATIAL_CONTEXT_COMPLETION_EXT => {
1940                Some("CREATE_SPATIAL_CONTEXT_COMPLETION_EXT")
1941            }
1942            Self::SPATIAL_DISCOVERY_SNAPSHOT_CREATE_INFO_EXT => {
1943                Some("SPATIAL_DISCOVERY_SNAPSHOT_CREATE_INFO_EXT")
1944            }
1945            Self::CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_INFO_EXT => {
1946                Some("CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_INFO_EXT")
1947            }
1948            Self::CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_EXT => {
1949                Some("CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_EXT")
1950            }
1951            Self::SPATIAL_COMPONENT_DATA_QUERY_CONDITION_EXT => {
1952                Some("SPATIAL_COMPONENT_DATA_QUERY_CONDITION_EXT")
1953            }
1954            Self::SPATIAL_COMPONENT_DATA_QUERY_RESULT_EXT => {
1955                Some("SPATIAL_COMPONENT_DATA_QUERY_RESULT_EXT")
1956            }
1957            Self::SPATIAL_BUFFER_GET_INFO_EXT => Some("SPATIAL_BUFFER_GET_INFO_EXT"),
1958            Self::SPATIAL_COMPONENT_BOUNDED_2D_LIST_EXT => {
1959                Some("SPATIAL_COMPONENT_BOUNDED_2D_LIST_EXT")
1960            }
1961            Self::SPATIAL_COMPONENT_BOUNDED_3D_LIST_EXT => {
1962                Some("SPATIAL_COMPONENT_BOUNDED_3D_LIST_EXT")
1963            }
1964            Self::SPATIAL_COMPONENT_PARENT_LIST_EXT => Some("SPATIAL_COMPONENT_PARENT_LIST_EXT"),
1965            Self::SPATIAL_COMPONENT_MESH_3D_LIST_EXT => Some("SPATIAL_COMPONENT_MESH_3D_LIST_EXT"),
1966            Self::SPATIAL_ENTITY_FROM_ID_CREATE_INFO_EXT => {
1967                Some("SPATIAL_ENTITY_FROM_ID_CREATE_INFO_EXT")
1968            }
1969            Self::SPATIAL_UPDATE_SNAPSHOT_CREATE_INFO_EXT => {
1970                Some("SPATIAL_UPDATE_SNAPSHOT_CREATE_INFO_EXT")
1971            }
1972            Self::EVENT_DATA_SPATIAL_DISCOVERY_RECOMMENDED_EXT => {
1973                Some("EVENT_DATA_SPATIAL_DISCOVERY_RECOMMENDED_EXT")
1974            }
1975            Self::SPATIAL_FILTER_TRACKING_STATE_EXT => Some("SPATIAL_FILTER_TRACKING_STATE_EXT"),
1976            Self::SPATIAL_CAPABILITY_CONFIGURATION_PLANE_TRACKING_EXT => {
1977                Some("SPATIAL_CAPABILITY_CONFIGURATION_PLANE_TRACKING_EXT")
1978            }
1979            Self::SPATIAL_COMPONENT_PLANE_ALIGNMENT_LIST_EXT => {
1980                Some("SPATIAL_COMPONENT_PLANE_ALIGNMENT_LIST_EXT")
1981            }
1982            Self::SPATIAL_COMPONENT_MESH_2D_LIST_EXT => Some("SPATIAL_COMPONENT_MESH_2D_LIST_EXT"),
1983            Self::SPATIAL_COMPONENT_POLYGON_2D_LIST_EXT => {
1984                Some("SPATIAL_COMPONENT_POLYGON_2D_LIST_EXT")
1985            }
1986            Self::SPATIAL_COMPONENT_PLANE_SEMANTIC_LABEL_LIST_EXT => {
1987                Some("SPATIAL_COMPONENT_PLANE_SEMANTIC_LABEL_LIST_EXT")
1988            }
1989            Self::SPATIAL_CAPABILITY_CONFIGURATION_QR_CODE_EXT => {
1990                Some("SPATIAL_CAPABILITY_CONFIGURATION_QR_CODE_EXT")
1991            }
1992            Self::SPATIAL_CAPABILITY_CONFIGURATION_MICRO_QR_CODE_EXT => {
1993                Some("SPATIAL_CAPABILITY_CONFIGURATION_MICRO_QR_CODE_EXT")
1994            }
1995            Self::SPATIAL_CAPABILITY_CONFIGURATION_ARUCO_MARKER_EXT => {
1996                Some("SPATIAL_CAPABILITY_CONFIGURATION_ARUCO_MARKER_EXT")
1997            }
1998            Self::SPATIAL_CAPABILITY_CONFIGURATION_APRIL_TAG_EXT => {
1999                Some("SPATIAL_CAPABILITY_CONFIGURATION_APRIL_TAG_EXT")
2000            }
2001            Self::SPATIAL_MARKER_SIZE_EXT => Some("SPATIAL_MARKER_SIZE_EXT"),
2002            Self::SPATIAL_MARKER_STATIC_OPTIMIZATION_EXT => {
2003                Some("SPATIAL_MARKER_STATIC_OPTIMIZATION_EXT")
2004            }
2005            Self::SPATIAL_COMPONENT_MARKER_LIST_EXT => Some("SPATIAL_COMPONENT_MARKER_LIST_EXT"),
2006            Self::SPATIAL_CAPABILITY_CONFIGURATION_ANCHOR_EXT => {
2007                Some("SPATIAL_CAPABILITY_CONFIGURATION_ANCHOR_EXT")
2008            }
2009            Self::SPATIAL_COMPONENT_ANCHOR_LIST_EXT => Some("SPATIAL_COMPONENT_ANCHOR_LIST_EXT"),
2010            Self::SPATIAL_ANCHOR_CREATE_INFO_EXT => Some("SPATIAL_ANCHOR_CREATE_INFO_EXT"),
2011            Self::SPATIAL_PERSISTENCE_CONTEXT_CREATE_INFO_EXT => {
2012                Some("SPATIAL_PERSISTENCE_CONTEXT_CREATE_INFO_EXT")
2013            }
2014            Self::CREATE_SPATIAL_PERSISTENCE_CONTEXT_COMPLETION_EXT => {
2015                Some("CREATE_SPATIAL_PERSISTENCE_CONTEXT_COMPLETION_EXT")
2016            }
2017            Self::SPATIAL_CONTEXT_PERSISTENCE_CONFIG_EXT => {
2018                Some("SPATIAL_CONTEXT_PERSISTENCE_CONFIG_EXT")
2019            }
2020            Self::SPATIAL_DISCOVERY_PERSISTENCE_UUID_FILTER_EXT => {
2021                Some("SPATIAL_DISCOVERY_PERSISTENCE_UUID_FILTER_EXT")
2022            }
2023            Self::SPATIAL_COMPONENT_PERSISTENCE_LIST_EXT => {
2024                Some("SPATIAL_COMPONENT_PERSISTENCE_LIST_EXT")
2025            }
2026            Self::SPATIAL_ENTITY_PERSIST_INFO_EXT => Some("SPATIAL_ENTITY_PERSIST_INFO_EXT"),
2027            Self::PERSIST_SPATIAL_ENTITY_COMPLETION_EXT => {
2028                Some("PERSIST_SPATIAL_ENTITY_COMPLETION_EXT")
2029            }
2030            Self::SPATIAL_ENTITY_UNPERSIST_INFO_EXT => Some("SPATIAL_ENTITY_UNPERSIST_INFO_EXT"),
2031            Self::UNPERSIST_SPATIAL_ENTITY_COMPLETION_EXT => {
2032                Some("UNPERSIST_SPATIAL_ENTITY_COMPLETION_EXT")
2033            }
2034            Self::SPATIAL_CAPABILITY_CONFIGURATION_OBJECT_TRACKING_ANDROID => {
2035                Some("SPATIAL_CAPABILITY_CONFIGURATION_OBJECT_TRACKING_ANDROID")
2036            }
2037            Self::SPATIAL_COMPONENT_OBJECT_SEMANTIC_LABEL_LIST_ANDROID => {
2038                Some("SPATIAL_COMPONENT_OBJECT_SEMANTIC_LABEL_LIST_ANDROID")
2039            }
2040            Self::SPATIAL_CAPABILITY_CONFIGURATION_DEPTH_RAYCAST_ANDROID => {
2041                Some("SPATIAL_CAPABILITY_CONFIGURATION_DEPTH_RAYCAST_ANDROID")
2042            }
2043            Self::SPATIAL_RAYCAST_INFO_ANDROID => Some("SPATIAL_RAYCAST_INFO_ANDROID"),
2044            Self::SPATIAL_COMPONENT_RAYCAST_RESULT_LIST_ANDROID => {
2045                Some("SPATIAL_COMPONENT_RAYCAST_RESULT_LIST_ANDROID")
2046            }
2047            Self::SPATIAL_RAYCAST_SNAPSHOT_CREATE_INFO_ANDROID => {
2048                Some("SPATIAL_RAYCAST_SNAPSHOT_CREATE_INFO_ANDROID")
2049            }
2050            Self::SPATIAL_ANCHOR_PARENT_ANDROID => Some("SPATIAL_ANCHOR_PARENT_ANDROID"),
2051            Self::SPATIAL_DISCOVERY_UNIQUE_ENTITIES_FILTER_ANDROID => {
2052                Some("SPATIAL_DISCOVERY_UNIQUE_ENTITIES_FILTER_ANDROID")
2053            }
2054            Self::SPATIAL_COMPONENT_SUBSUMED_BY_LIST_ANDROID => {
2055                Some("SPATIAL_COMPONENT_SUBSUMED_BY_LIST_ANDROID")
2056            }
2057            Self::SPATIAL_ANCHOR_SPACE_FROM_ID_CREATE_INFO_ANDROID => {
2058                Some("SPATIAL_ANCHOR_SPACE_FROM_ID_CREATE_INFO_ANDROID")
2059            }
2060            Self::BATTERY_STATE_DISPLAY_EXT => Some("BATTERY_STATE_DISPLAY_EXT"),
2061            Self::LOADER_INIT_INFO_PROPERTIES_EXT => Some("LOADER_INIT_INFO_PROPERTIES_EXT"),
2062            Self::EVENT_DATA_VIEW_CONFIGURATION_VIEWS_CHANGED_EXT => {
2063                Some("EVENT_DATA_VIEW_CONFIGURATION_VIEWS_CHANGED_EXT")
2064            }
2065            _ => None,
2066        };
2067        fmt_enum(fmt, self.0, name)
2068    }
2069}
2070#[doc = "Error and return codes - see [XrResult](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrResult)"]
2071#[repr(transparent)]
2072#[derive(Copy, Clone, Eq, PartialEq, Default)]
2073pub struct Result(i32);
2074impl Result {
2075    #[doc = "Function successfully completed."]
2076    pub const SUCCESS: Result = Self(0i32);
2077    #[doc = "The specified timeout time occurred before the operation could complete."]
2078    pub const TIMEOUT_EXPIRED: Result = Self(1i32);
2079    #[doc = "The session will be lost soon."]
2080    pub const SESSION_LOSS_PENDING: Result = Self(3i32);
2081    #[doc = "No event was available."]
2082    pub const EVENT_UNAVAILABLE: Result = Self(4i32);
2083    #[doc = "The space's bounds are not known at the moment."]
2084    pub const SPACE_BOUNDS_UNAVAILABLE: Result = Self(7i32);
2085    #[doc = "The session is not in the focused state."]
2086    pub const SESSION_NOT_FOCUSED: Result = Self(8i32);
2087    #[doc = "A frame has been discarded from composition."]
2088    pub const FRAME_DISCARDED: Result = Self(9i32);
2089    #[doc = "The function usage was invalid in some way."]
2090    pub const ERROR_VALIDATION_FAILURE: Result = Self(-1i32);
2091    #[doc = "The runtime failed to handle the function in an unexpected way that is not covered by another error result."]
2092    pub const ERROR_RUNTIME_FAILURE: Result = Self(-2i32);
2093    #[doc = "A memory allocation has failed."]
2094    pub const ERROR_OUT_OF_MEMORY: Result = Self(-3i32);
2095    #[doc = "The runtime does not support the requested API version."]
2096    pub const ERROR_API_VERSION_UNSUPPORTED: Result = Self(-4i32);
2097    #[doc = "Initialization of object could not be completed."]
2098    pub const ERROR_INITIALIZATION_FAILED: Result = Self(-6i32);
2099    #[doc = "The requested function was not found or is otherwise unsupported."]
2100    pub const ERROR_FUNCTION_UNSUPPORTED: Result = Self(-7i32);
2101    #[doc = "The requested feature is not supported."]
2102    pub const ERROR_FEATURE_UNSUPPORTED: Result = Self(-8i32);
2103    #[doc = "A requested extension is not supported."]
2104    pub const ERROR_EXTENSION_NOT_PRESENT: Result = Self(-9i32);
2105    #[doc = "The runtime supports no more of the requested resource."]
2106    pub const ERROR_LIMIT_REACHED: Result = Self(-10i32);
2107    #[doc = "The supplied size was smaller than required."]
2108    pub const ERROR_SIZE_INSUFFICIENT: Result = Self(-11i32);
2109    #[doc = "A supplied object handle was invalid."]
2110    pub const ERROR_HANDLE_INVALID: Result = Self(-12i32);
2111    #[doc = "The XrInstance was lost or could not be found. It will need to be destroyed and optionally recreated."]
2112    pub const ERROR_INSTANCE_LOST: Result = Self(-13i32);
2113    #[doc = "The session is already running."]
2114    pub const ERROR_SESSION_RUNNING: Result = Self(-14i32);
2115    #[doc = "The session is not yet running."]
2116    pub const ERROR_SESSION_NOT_RUNNING: Result = Self(-16i32);
2117    #[doc = "The XrSession was lost. It will need to be destroyed and optionally recreated."]
2118    pub const ERROR_SESSION_LOST: Result = Self(-17i32);
2119    #[doc = "The provided XrSystemId was invalid."]
2120    pub const ERROR_SYSTEM_INVALID: Result = Self(-18i32);
2121    #[doc = "The provided XrPath was not valid."]
2122    pub const ERROR_PATH_INVALID: Result = Self(-19i32);
2123    #[doc = "The maximum number of supported semantic paths has been reached."]
2124    pub const ERROR_PATH_COUNT_EXCEEDED: Result = Self(-20i32);
2125    #[doc = "The semantic path character format is invalid."]
2126    pub const ERROR_PATH_FORMAT_INVALID: Result = Self(-21i32);
2127    #[doc = "The semantic path is unsupported."]
2128    pub const ERROR_PATH_UNSUPPORTED: Result = Self(-22i32);
2129    #[doc = "The layer was NULL or otherwise invalid."]
2130    pub const ERROR_LAYER_INVALID: Result = Self(-23i32);
2131    #[doc = "The number of specified layers is greater than the supported number."]
2132    pub const ERROR_LAYER_LIMIT_EXCEEDED: Result = Self(-24i32);
2133    #[doc = "The image rect was negatively sized or otherwise invalid."]
2134    pub const ERROR_SWAPCHAIN_RECT_INVALID: Result = Self(-25i32);
2135    #[doc = "The image format is not supported by the runtime or platform."]
2136    pub const ERROR_SWAPCHAIN_FORMAT_UNSUPPORTED: Result = Self(-26i32);
2137    #[doc = "The API used to retrieve an action's state does not match the action's type."]
2138    pub const ERROR_ACTION_TYPE_MISMATCH: Result = Self(-27i32);
2139    #[doc = "The session is not in the ready state."]
2140    pub const ERROR_SESSION_NOT_READY: Result = Self(-28i32);
2141    #[doc = "The session is not in the stopping state."]
2142    pub const ERROR_SESSION_NOT_STOPPING: Result = Self(-29i32);
2143    #[doc = "The provided XrTime was zero, negative, or out of range."]
2144    pub const ERROR_TIME_INVALID: Result = Self(-30i32);
2145    #[doc = "The specified reference space is not supported by the runtime or system."]
2146    pub const ERROR_REFERENCE_SPACE_UNSUPPORTED: Result = Self(-31i32);
2147    #[doc = "The file could not be accessed."]
2148    pub const ERROR_FILE_ACCESS_ERROR: Result = Self(-32i32);
2149    #[doc = "The file's contents were invalid."]
2150    pub const ERROR_FILE_CONTENTS_INVALID: Result = Self(-33i32);
2151    #[doc = "The specified form factor is not supported by the current runtime or platform."]
2152    pub const ERROR_FORM_FACTOR_UNSUPPORTED: Result = Self(-34i32);
2153    #[doc = "The specified form factor is supported, but the device is currently not available, e.g. not plugged in or powered off."]
2154    pub const ERROR_FORM_FACTOR_UNAVAILABLE: Result = Self(-35i32);
2155    #[doc = "A requested API layer is not present or could not be loaded."]
2156    pub const ERROR_API_LAYER_NOT_PRESENT: Result = Self(-36i32);
2157    #[doc = "The call was made without having made a previously required call."]
2158    pub const ERROR_CALL_ORDER_INVALID: Result = Self(-37i32);
2159    #[doc = "The given graphics device is not in a valid state. The graphics device could be lost or initialized without meeting graphics requirements."]
2160    pub const ERROR_GRAPHICS_DEVICE_INVALID: Result = Self(-38i32);
2161    #[doc = "The supplied pose was invalid with respect to the requirements."]
2162    pub const ERROR_POSE_INVALID: Result = Self(-39i32);
2163    #[doc = "The supplied index was outside the range of valid indices."]
2164    pub const ERROR_INDEX_OUT_OF_RANGE: Result = Self(-40i32);
2165    #[doc = "The specified view configuration type is not supported by the runtime or platform."]
2166    pub const ERROR_VIEW_CONFIGURATION_TYPE_UNSUPPORTED: Result = Self(-41i32);
2167    #[doc = "The specified environment blend mode is not supported by the runtime or platform."]
2168    pub const ERROR_ENVIRONMENT_BLEND_MODE_UNSUPPORTED: Result = Self(-42i32);
2169    #[doc = "The name provided was a duplicate of an already-existing resource."]
2170    pub const ERROR_NAME_DUPLICATED: Result = Self(-44i32);
2171    #[doc = "The name provided was invalid."]
2172    pub const ERROR_NAME_INVALID: Result = Self(-45i32);
2173    #[doc = "A referenced action set is not attached to the session."]
2174    pub const ERROR_ACTIONSET_NOT_ATTACHED: Result = Self(-46i32);
2175    #[doc = "The session already has attached action sets."]
2176    pub const ERROR_ACTIONSETS_ALREADY_ATTACHED: Result = Self(-47i32);
2177    #[doc = "The localized name provided was a duplicate of an already-existing resource."]
2178    pub const ERROR_LOCALIZED_NAME_DUPLICATED: Result = Self(-48i32);
2179    #[doc = "The localized name provided was invalid."]
2180    pub const ERROR_LOCALIZED_NAME_INVALID: Result = Self(-49i32);
2181    #[doc = "The xrGet*GraphicsRequirements call was not made before calling xrCreateSession."]
2182    pub const ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING: Result = Self(-50i32);
2183    #[doc = "The loader was unable to find or load a runtime."]
2184    pub const ERROR_RUNTIME_UNAVAILABLE: Result = Self(-51i32);
2185    #[doc = "One or more of the extensions being enabled has dependency on extensions that are not enabled."]
2186    pub const ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED: Result = Self(-1000710001i32);
2187    #[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."]
2188    pub const ERROR_PERMISSION_INSUFFICIENT: Result = Self(-1000710000i32);
2189    #[doc = "xrSetAndroidApplicationThreadKHR failed as thread id is invalid."]
2190    pub const ERROR_ANDROID_THREAD_SETTINGS_ID_INVALID_KHR: Result = Self(-1000003000i32);
2191    #[doc = "xrSetAndroidApplicationThreadKHR failed setting the thread attributes/priority."]
2192    pub const ERROR_ANDROID_THREAD_SETTINGS_FAILURE_KHR: Result = Self(-1000003001i32);
2193    #[doc = "Spatial anchor could not be created at that location."]
2194    pub const ERROR_CREATE_SPATIAL_ANCHOR_FAILED_MSFT: Result = Self(-1000039001i32);
2195    #[doc = "The secondary view configuration was not enabled when creating the session."]
2196    pub const ERROR_SECONDARY_VIEW_CONFIGURATION_TYPE_NOT_ENABLED_MSFT: Result =
2197        Self(-1000053000i32);
2198    #[doc = "The controller model key is invalid."]
2199    pub const ERROR_CONTROLLER_MODEL_KEY_INVALID_MSFT: Result = Self(-1000055000i32);
2200    #[doc = "The reprojection mode is not supported."]
2201    pub const ERROR_REPROJECTION_MODE_UNSUPPORTED_MSFT: Result = Self(-1000066000i32);
2202    #[doc = "Compute new scene not completed."]
2203    pub const ERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT: Result = Self(-1000097000i32);
2204    #[doc = "Scene component id invalid."]
2205    pub const ERROR_SCENE_COMPONENT_ID_INVALID_MSFT: Result = Self(-1000097001i32);
2206    #[doc = "Scene component type mismatch."]
2207    pub const ERROR_SCENE_COMPONENT_TYPE_MISMATCH_MSFT: Result = Self(-1000097002i32);
2208    #[doc = "Scene mesh buffer id invalid."]
2209    pub const ERROR_SCENE_MESH_BUFFER_ID_INVALID_MSFT: Result = Self(-1000097003i32);
2210    #[doc = "Scene compute feature incompatible."]
2211    pub const ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFT: Result = Self(-1000097004i32);
2212    #[doc = "Scene compute consistency mismatch."]
2213    pub const ERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFT: Result = Self(-1000097005i32);
2214    #[doc = "The display refresh rate is not supported by the platform."]
2215    pub const ERROR_DISPLAY_REFRESH_RATE_UNSUPPORTED_FB: Result = Self(-1000101000i32);
2216    #[doc = "The color space is not supported by the runtime."]
2217    pub const ERROR_COLOR_SPACE_UNSUPPORTED_FB: Result = Self(-1000108000i32);
2218    #[doc = "The component type is not supported for this space."]
2219    pub const ERROR_SPACE_COMPONENT_NOT_SUPPORTED_FB: Result = Self(-1000113000i32);
2220    #[doc = "The required component is not enabled for this space."]
2221    pub const ERROR_SPACE_COMPONENT_NOT_ENABLED_FB: Result = Self(-1000113001i32);
2222    #[doc = "A request to set the component's status is currently pending."]
2223    pub const ERROR_SPACE_COMPONENT_STATUS_PENDING_FB: Result = Self(-1000113002i32);
2224    #[doc = "The component is already set to the requested value."]
2225    pub const ERROR_SPACE_COMPONENT_STATUS_ALREADY_SET_FB: Result = Self(-1000113003i32);
2226    #[doc = "The object state is unexpected for the issued command."]
2227    pub const ERROR_UNEXPECTED_STATE_PASSTHROUGH_FB: Result = Self(-1000118000i32);
2228    #[doc = "Trying to create an MR feature when one was already created and only one instance is allowed."]
2229    pub const ERROR_FEATURE_ALREADY_CREATED_PASSTHROUGH_FB: Result = Self(-1000118001i32);
2230    #[doc = "Requested functionality requires a feature to be created first."]
2231    pub const ERROR_FEATURE_REQUIRED_PASSTHROUGH_FB: Result = Self(-1000118002i32);
2232    #[doc = "Requested functionality is not permitted - application is not allowed to perform the requested operation."]
2233    pub const ERROR_NOT_PERMITTED_PASSTHROUGH_FB: Result = Self(-1000118003i32);
2234    #[doc = "There were insufficient resources available to perform an operation."]
2235    pub const ERROR_INSUFFICIENT_RESOURCES_PASSTHROUGH_FB: Result = Self(-1000118004i32);
2236    #[doc = "Unknown Passthrough error (no further details provided)."]
2237    pub const ERROR_UNKNOWN_PASSTHROUGH_FB: Result = Self(-1000118050i32);
2238    #[doc = "The model key is invalid."]
2239    pub const ERROR_RENDER_MODEL_KEY_INVALID_FB: Result = Self(-1000119000i32);
2240    #[doc = "The model is unavailable."]
2241    pub const RENDER_MODEL_UNAVAILABLE_FB: Result = Self(1000119020i32);
2242    #[doc = "Marker tracking is disabled or the specified marker is not currently tracked."]
2243    pub const ERROR_MARKER_NOT_TRACKED_VARJO: Result = Self(-1000124000i32);
2244    #[doc = "The specified marker ID is not valid."]
2245    pub const ERROR_MARKER_ID_INVALID_VARJO: Result = Self(-1000124001i32);
2246    #[doc = "The com.magicleap.permission.MARKER_TRACKING permission was denied."]
2247    pub const ERROR_MARKER_DETECTOR_PERMISSION_DENIED_ML: Result = Self(-1000138000i32);
2248    #[doc = "The specified marker could not be located spatially."]
2249    pub const ERROR_MARKER_DETECTOR_LOCATE_FAILED_ML: Result = Self(-1000138001i32);
2250    #[doc = "The marker queried does not contain data of the requested type."]
2251    pub const ERROR_MARKER_DETECTOR_INVALID_DATA_QUERY_ML: Result = Self(-1000138002i32);
2252    #[doc = "createInfo contains mutually exclusive parameters, such as setting XR_MARKER_DETECTOR_CORNER_REFINE_METHOD_APRIL_TAG_ML with XR_MARKER_TYPE_ARUCO_ML."]
2253    pub const ERROR_MARKER_DETECTOR_INVALID_CREATE_INFO_ML: Result = Self(-1000138003i32);
2254    #[doc = "The marker id passed to the function was invalid."]
2255    pub const ERROR_MARKER_INVALID_ML: Result = Self(-1000138004i32);
2256    #[doc = "The localization map being imported is not compatible with current OS or mode."]
2257    pub const ERROR_LOCALIZATION_MAP_INCOMPATIBLE_ML: Result = Self(-1000139000i32);
2258    #[doc = "The localization map requested is not available."]
2259    pub const ERROR_LOCALIZATION_MAP_UNAVAILABLE_ML: Result = Self(-1000139001i32);
2260    #[doc = "The map localization service failed to fulfill the request, retry later."]
2261    pub const ERROR_LOCALIZATION_MAP_FAIL_ML: Result = Self(-1000139002i32);
2262    #[doc = "The com.magicleap.permission.SPACE_IMPORT_EXPORT permission was denied."]
2263    pub const ERROR_LOCALIZATION_MAP_IMPORT_EXPORT_PERMISSION_DENIED_ML: Result =
2264        Self(-1000139003i32);
2265    #[doc = "The com.magicleap.permission.SPACE_MANAGER permission was denied."]
2266    pub const ERROR_LOCALIZATION_MAP_PERMISSION_DENIED_ML: Result = Self(-1000139004i32);
2267    #[doc = "The map being imported already exists in the system."]
2268    pub const ERROR_LOCALIZATION_MAP_ALREADY_EXISTS_ML: Result = Self(-1000139005i32);
2269    #[doc = "The map localization service cannot export cloud based maps."]
2270    pub const ERROR_LOCALIZATION_MAP_CANNOT_EXPORT_CLOUD_MAP_ML: Result = Self(-1000139006i32);
2271    #[doc = "The com.magicleap.permission.SPATIAL_ANCHOR permission was not granted."]
2272    pub const ERROR_SPATIAL_ANCHORS_PERMISSION_DENIED_ML: Result = Self(-1000140000i32);
2273    #[doc = "Operation failed because the system is not localized into a localization map."]
2274    pub const ERROR_SPATIAL_ANCHORS_NOT_LOCALIZED_ML: Result = Self(-1000140001i32);
2275    #[doc = "Operation failed because it is performed outside of the localization map."]
2276    pub const ERROR_SPATIAL_ANCHORS_OUT_OF_MAP_BOUNDS_ML: Result = Self(-1000140002i32);
2277    #[doc = "Operation failed because the space referenced cannot be located."]
2278    pub const ERROR_SPATIAL_ANCHORS_SPACE_NOT_LOCATABLE_ML: Result = Self(-1000140003i32);
2279    #[doc = "The anchor references was not found."]
2280    pub const ERROR_SPATIAL_ANCHORS_ANCHOR_NOT_FOUND_ML: Result = Self(-1000141000i32);
2281    #[doc = "A spatial anchor was not found associated with the spatial anchor name provided"]
2282    pub const ERROR_SPATIAL_ANCHOR_NAME_NOT_FOUND_MSFT: Result = Self(-1000142001i32);
2283    #[doc = "The spatial anchor name provided was not valid"]
2284    pub const ERROR_SPATIAL_ANCHOR_NAME_INVALID_MSFT: Result = Self(-1000142002i32);
2285    #[doc = "Marker does not encode a string."]
2286    pub const SCENE_MARKER_DATA_NOT_STRING_MSFT: Result = Self(1000147000i32);
2287    #[doc = "Anchor import from cloud or export from device failed."]
2288    pub const ERROR_SPACE_MAPPING_INSUFFICIENT_FB: Result = Self(-1000169000i32);
2289    #[doc = "Anchors were downloaded from the cloud but failed to be imported/aligned on the device."]
2290    pub const ERROR_SPACE_LOCALIZATION_FAILED_FB: Result = Self(-1000169001i32);
2291    #[doc = "Timeout occurred while waiting for network request to complete."]
2292    pub const ERROR_SPACE_NETWORK_TIMEOUT_FB: Result = Self(-1000169002i32);
2293    #[doc = "The network request failed."]
2294    pub const ERROR_SPACE_NETWORK_REQUEST_FAILED_FB: Result = Self(-1000169003i32);
2295    #[doc = "Cloud storage is required for this operation but is currently disabled."]
2296    pub const ERROR_SPACE_CLOUD_STORAGE_DISABLED_FB: Result = Self(-1000169004i32);
2297    #[doc = "Resource limitation prevented this operation from executing. Recommend retrying, perhaps after a short delay and/or reducing memory consumption."]
2298    pub const ERROR_SPACE_INSUFFICIENT_RESOURCES_META: Result = Self(-1000259000i32);
2299    #[doc = "Operation could not be completed until resources used are reduced or storage expanded."]
2300    pub const ERROR_SPACE_STORAGE_AT_CAPACITY_META: Result = Self(-1000259001i32);
2301    #[doc = "Look around the environment more for space tracking to function."]
2302    pub const ERROR_SPACE_INSUFFICIENT_VIEW_META: Result = Self(-1000259002i32);
2303    #[doc = "Space operation permission insufficient. Recommend confirming the status of the required permissions needed for using Space APIs."]
2304    pub const ERROR_SPACE_PERMISSION_INSUFFICIENT_META: Result = Self(-1000259003i32);
2305    #[doc = "Operation cancelled due to rate limiting. Recommend retrying after a short delay."]
2306    pub const ERROR_SPACE_RATE_LIMITED_META: Result = Self(-1000259004i32);
2307    #[doc = "Environment too dark for tracking to complete operation."]
2308    pub const ERROR_SPACE_TOO_DARK_META: Result = Self(-1000259005i32);
2309    #[doc = "Environment too bright for tracking to complete operation."]
2310    pub const ERROR_SPACE_TOO_BRIGHT_META: Result = Self(-1000259006i32);
2311    #[doc = "The provided data buffer did not match the required size."]
2312    pub const ERROR_PASSTHROUGH_COLOR_LUT_BUFFER_SIZE_MISMATCH_META: Result = Self(-1000266000i32);
2313    #[doc = "Warning: The requested depth image is not yet available."]
2314    pub const ENVIRONMENT_DEPTH_NOT_AVAILABLE_META: Result = Self(1000291000i32);
2315    #[doc = "The render model ID is invalid."]
2316    pub const ERROR_RENDER_MODEL_ID_INVALID_EXT: Result = Self(-1000300000i32);
2317    #[doc = "The render model asset is unavailable."]
2318    pub const ERROR_RENDER_MODEL_ASSET_UNAVAILABLE_EXT: Result = Self(-1000300001i32);
2319    #[doc = "A glTF extension is required."]
2320    pub const ERROR_RENDER_MODEL_GLTF_EXTENSION_REQUIRED_EXT: Result = Self(-1000300002i32);
2321    #[doc = "The provided XrRenderModelEXT was not created from a XrRenderModelIdEXT from `<<XR_EXT_interaction_render_model>>`"]
2322    pub const ERROR_NOT_INTERACTION_RENDER_MODEL_EXT: Result = Self(-1000301000i32);
2323    #[doc = "Tracking optimization hint is already set for the domain."]
2324    pub const ERROR_HINT_ALREADY_SET_QCOM: Result = Self(-1000306000i32);
2325    #[doc = "The provided space is valid but not an anchor."]
2326    pub const ERROR_NOT_AN_ANCHOR_HTC: Result = Self(-1000319000i32);
2327    #[doc = "The spatial entity id is invalid."]
2328    pub const ERROR_SPATIAL_ENTITY_ID_INVALID_BD: Result = Self(-1000389000i32);
2329    #[doc = "The spatial sensing service is unavailable."]
2330    pub const ERROR_SPATIAL_SENSING_SERVICE_UNAVAILABLE_BD: Result = Self(-1000389001i32);
2331    #[doc = "The spatial entity does not support anchor."]
2332    pub const ERROR_ANCHOR_NOT_SUPPORTED_FOR_ENTITY_BD: Result = Self(-1000389002i32);
2333    #[doc = "The spatial anchor is not found."]
2334    pub const ERROR_SPATIAL_ANCHOR_NOT_FOUND_BD: Result = Self(-1000390000i32);
2335    #[doc = "The network transmission timeout."]
2336    pub const ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_TIMEOUT_BD: Result = Self(-1000391000i32);
2337    #[doc = "The authentication for the user account failed."]
2338    pub const ERROR_SPATIAL_ANCHOR_SHARING_AUTHENTICATION_FAILURE_BD: Result = Self(-1000391001i32);
2339    #[doc = "The network connection failed, e.g. the connection is unstable or disconnected."]
2340    pub const ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_FAILURE_BD: Result = Self(-1000391002i32);
2341    #[doc = "The spatial anchor localization failed."]
2342    pub const ERROR_SPATIAL_ANCHOR_SHARING_LOCALIZATION_FAIL_BD: Result = Self(-1000391003i32);
2343    #[doc = "The feature points of spatial anchor map are insufficient."]
2344    pub const ERROR_SPATIAL_ANCHOR_SHARING_MAP_INSUFFICIENT_BD: Result = Self(-1000391004i32);
2345    #[doc = "The scene capture is failed, for example exiting abnormally."]
2346    pub const ERROR_SCENE_CAPTURE_FAILURE_BD: Result = Self(-1000392000i32);
2347    #[doc = "The space passed to the function was not locatable."]
2348    pub const ERROR_SPACE_NOT_LOCATABLE_EXT: Result = Self(-1000429000i32);
2349    #[doc = "The permission for this resource was not granted."]
2350    pub const ERROR_PLANE_DETECTION_PERMISSION_DENIED_EXT: Result = Self(-1000429001i32);
2351    #[doc = "Indicates that the parameters contains multiple trackable types."]
2352    pub const ERROR_MISMATCHING_TRACKABLE_TYPE_ANDROID: Result = Self(-1000455000i32);
2353    #[doc = "Indicates that the function is not supported by the given trackable type."]
2354    pub const ERROR_TRACKABLE_TYPE_NOT_SUPPORTED_ANDROID: Result = Self(-1000455001i32);
2355    #[doc = "XrUuidExt passed to the function was not found to be a persisted anchor."]
2356    pub const ERROR_ANCHOR_ID_NOT_FOUND_ANDROID: Result = Self(-1000457000i32);
2357    #[doc = "XrUuidExt passed to the function was already marked to be persisted."]
2358    pub const ERROR_ANCHOR_ALREADY_PERSISTED_ANDROID: Result = Self(-1000457001i32);
2359    #[doc = "ANchor cannot be persisted because it is not tracking."]
2360    pub const ERROR_ANCHOR_NOT_TRACKING_ANDROID: Result = Self(-1000457002i32);
2361    #[doc = "Persisted data stored by this app has not been loaded yet."]
2362    pub const ERROR_PERSISTED_DATA_NOT_READY_ANDROID: Result = Self(-1000457003i32);
2363    #[doc = "The underlying tracking service is not yet ready."]
2364    pub const ERROR_SERVICE_NOT_READY_ANDROID: Result = Self(-1000458000i32);
2365    #[doc = "Returned by passthrough layer functions to indicate the mesh data exceeds the supported limit."]
2366    pub const ERROR_MESH_DATA_LIMIT_EXCEEDED_ANDROID: Result = Self(-1000462000i32);
2367    #[doc = "Returned by completion function to indicate future is not ready."]
2368    pub const ERROR_FUTURE_PENDING_EXT: Result = Self(-1000469001i32);
2369    #[doc = "Returned by completion function to indicate future is not valid."]
2370    pub const ERROR_FUTURE_INVALID_EXT: Result = Self(-1000469002i32);
2371    #[doc = "The com.magicleap.permission.SYSTEM_NOTIFICATION permission was not granted."]
2372    pub const ERROR_SYSTEM_NOTIFICATION_PERMISSION_DENIED_ML: Result = Self(-1000473000i32);
2373    #[doc = "Incompatible SKU detected."]
2374    pub const ERROR_SYSTEM_NOTIFICATION_INCOMPATIBLE_SKU_ML: Result = Self(-1000473001i32);
2375    #[doc = "The world mesh detector permission was not granted."]
2376    pub const ERROR_WORLD_MESH_DETECTOR_PERMISSION_DENIED_ML: Result = Self(-1000474000i32);
2377    #[doc = "At the time of the call the runtime was unable to locate the space and cannot fulfill your request."]
2378    pub const ERROR_WORLD_MESH_DETECTOR_SPACE_NOT_LOCATABLE_ML: Result = Self(-1000474001i32);
2379    #[doc = "Permission to track facial expressions was not granted"]
2380    pub const ERROR_FACIAL_EXPRESSION_PERMISSION_DENIED_ML: Result = Self(1000482000i32);
2381    #[doc = "The network request failed."]
2382    pub const ERROR_COLOCATION_DISCOVERY_NETWORK_FAILED_META: Result = Self(-1000571001i32);
2383    #[doc = "The runtime does not have any methods available to perform discovery."]
2384    pub const ERROR_COLOCATION_DISCOVERY_NO_DISCOVERY_METHOD_META: Result = Self(-1000571002i32);
2385    #[doc = "Colocation advertisement has already been enabled"]
2386    pub const COLOCATION_DISCOVERY_ALREADY_ADVERTISING_META: Result = Self(1000571003i32);
2387    #[doc = "Colocation discovery has already been enabled"]
2388    pub const COLOCATION_DISCOVERY_ALREADY_DISCOVERING_META: Result = Self(1000571004i32);
2389    #[doc = "The group UUID was not found within the runtime"]
2390    pub const ERROR_SPACE_GROUP_NOT_FOUND_META: Result = Self(-1000572002i32);
2391    #[doc = "Operation not allowed because anchor is not owned by the XrSession in which the function is being called."]
2392    pub const ERROR_ANCHOR_NOT_OWNED_BY_CALLER_ANDROID: Result = Self(-1000701000i32);
2393    #[doc = "Indicates that the input reference image format is not supported."]
2394    pub const ERROR_IMAGE_FORMAT_UNSUPPORTED_ANDROID: Result = Self(-1000709000i32);
2395    pub const ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED_KHR: Result =
2396        Self::ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED;
2397    pub const ERROR_PERMISSION_INSUFFICIENT_KHR: Result = Self::ERROR_PERMISSION_INSUFFICIENT;
2398    #[doc = "The specified spatial capability is not supported by the runtime or the system."]
2399    pub const ERROR_SPATIAL_CAPABILITY_UNSUPPORTED_EXT: Result = Self(-1000740001i32);
2400    #[doc = "The specified spatial entity id is invalid or an entity with that id does not exist in the environment."]
2401    pub const ERROR_SPATIAL_ENTITY_ID_INVALID_EXT: Result = Self(-1000740002i32);
2402    #[doc = "The specified spatial buffer id is invalid or does not exist in the spatial snapshot being used to query for the buffer data."]
2403    pub const ERROR_SPATIAL_BUFFER_ID_INVALID_EXT: Result = Self(-1000740003i32);
2404    #[doc = "The specified spatial component is not supported by the runtime or the system for the given capability."]
2405    pub const ERROR_SPATIAL_COMPONENT_UNSUPPORTED_FOR_CAPABILITY_EXT: Result = Self(-1000740004i32);
2406    #[doc = "The specified spatial capability configuration is invalid."]
2407    pub const ERROR_SPATIAL_CAPABILITY_CONFIGURATION_INVALID_EXT: Result = Self(-1000740005i32);
2408    #[doc = "The specified spatial component is not enabled for the spatial context."]
2409    pub const ERROR_SPATIAL_COMPONENT_NOT_ENABLED_EXT: Result = Self(-1000740006i32);
2410    #[doc = "The specified spatial persistence scope is not supported by the runtime or the system."]
2411    pub const ERROR_SPATIAL_PERSISTENCE_SCOPE_UNSUPPORTED_EXT: Result = Self(-1000763001i32);
2412    #[doc = "The scope configured for the persistence context is incompatible for the current spatial entity."]
2413    pub const ERROR_SPATIAL_PERSISTENCE_SCOPE_INCOMPATIBLE_EXT: Result = Self(-1000781001i32);
2414    #[doc = "Spatial entity with parent ID does not have at least one component enumerated by xrEnumerateSpatialAnchorAttachableComponentsANDROID"]
2415    pub const ERROR_SPATIAL_ANCHOR_ATTACHABLE_COMPONENT_NOT_FOUND_ANDROID: Result =
2416        Self(-1000790001i32);
2417    #[doc = "The specified spatial entity ID is invalid for an anchor."]
2418    pub const ERROR_SPATIAL_ANCHOR_ENTITY_ID_INVALID_ANDROID: Result = Self(-1000795001i32);
2419    pub fn from_raw(x: i32) -> Self {
2420        Self(x)
2421    }
2422    pub fn into_raw(self) -> i32 {
2423        self.0
2424    }
2425}
2426impl fmt::Debug for Result {
2427    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
2428        let name = match *self {
2429            Self::SUCCESS => Some("SUCCESS"),
2430            Self::TIMEOUT_EXPIRED => Some("TIMEOUT_EXPIRED"),
2431            Self::SESSION_LOSS_PENDING => Some("SESSION_LOSS_PENDING"),
2432            Self::EVENT_UNAVAILABLE => Some("EVENT_UNAVAILABLE"),
2433            Self::SPACE_BOUNDS_UNAVAILABLE => Some("SPACE_BOUNDS_UNAVAILABLE"),
2434            Self::SESSION_NOT_FOCUSED => Some("SESSION_NOT_FOCUSED"),
2435            Self::FRAME_DISCARDED => Some("FRAME_DISCARDED"),
2436            Self::ERROR_VALIDATION_FAILURE => Some("ERROR_VALIDATION_FAILURE"),
2437            Self::ERROR_RUNTIME_FAILURE => Some("ERROR_RUNTIME_FAILURE"),
2438            Self::ERROR_OUT_OF_MEMORY => Some("ERROR_OUT_OF_MEMORY"),
2439            Self::ERROR_API_VERSION_UNSUPPORTED => Some("ERROR_API_VERSION_UNSUPPORTED"),
2440            Self::ERROR_INITIALIZATION_FAILED => Some("ERROR_INITIALIZATION_FAILED"),
2441            Self::ERROR_FUNCTION_UNSUPPORTED => Some("ERROR_FUNCTION_UNSUPPORTED"),
2442            Self::ERROR_FEATURE_UNSUPPORTED => Some("ERROR_FEATURE_UNSUPPORTED"),
2443            Self::ERROR_EXTENSION_NOT_PRESENT => Some("ERROR_EXTENSION_NOT_PRESENT"),
2444            Self::ERROR_LIMIT_REACHED => Some("ERROR_LIMIT_REACHED"),
2445            Self::ERROR_SIZE_INSUFFICIENT => Some("ERROR_SIZE_INSUFFICIENT"),
2446            Self::ERROR_HANDLE_INVALID => Some("ERROR_HANDLE_INVALID"),
2447            Self::ERROR_INSTANCE_LOST => Some("ERROR_INSTANCE_LOST"),
2448            Self::ERROR_SESSION_RUNNING => Some("ERROR_SESSION_RUNNING"),
2449            Self::ERROR_SESSION_NOT_RUNNING => Some("ERROR_SESSION_NOT_RUNNING"),
2450            Self::ERROR_SESSION_LOST => Some("ERROR_SESSION_LOST"),
2451            Self::ERROR_SYSTEM_INVALID => Some("ERROR_SYSTEM_INVALID"),
2452            Self::ERROR_PATH_INVALID => Some("ERROR_PATH_INVALID"),
2453            Self::ERROR_PATH_COUNT_EXCEEDED => Some("ERROR_PATH_COUNT_EXCEEDED"),
2454            Self::ERROR_PATH_FORMAT_INVALID => Some("ERROR_PATH_FORMAT_INVALID"),
2455            Self::ERROR_PATH_UNSUPPORTED => Some("ERROR_PATH_UNSUPPORTED"),
2456            Self::ERROR_LAYER_INVALID => Some("ERROR_LAYER_INVALID"),
2457            Self::ERROR_LAYER_LIMIT_EXCEEDED => Some("ERROR_LAYER_LIMIT_EXCEEDED"),
2458            Self::ERROR_SWAPCHAIN_RECT_INVALID => Some("ERROR_SWAPCHAIN_RECT_INVALID"),
2459            Self::ERROR_SWAPCHAIN_FORMAT_UNSUPPORTED => Some("ERROR_SWAPCHAIN_FORMAT_UNSUPPORTED"),
2460            Self::ERROR_ACTION_TYPE_MISMATCH => Some("ERROR_ACTION_TYPE_MISMATCH"),
2461            Self::ERROR_SESSION_NOT_READY => Some("ERROR_SESSION_NOT_READY"),
2462            Self::ERROR_SESSION_NOT_STOPPING => Some("ERROR_SESSION_NOT_STOPPING"),
2463            Self::ERROR_TIME_INVALID => Some("ERROR_TIME_INVALID"),
2464            Self::ERROR_REFERENCE_SPACE_UNSUPPORTED => Some("ERROR_REFERENCE_SPACE_UNSUPPORTED"),
2465            Self::ERROR_FILE_ACCESS_ERROR => Some("ERROR_FILE_ACCESS_ERROR"),
2466            Self::ERROR_FILE_CONTENTS_INVALID => Some("ERROR_FILE_CONTENTS_INVALID"),
2467            Self::ERROR_FORM_FACTOR_UNSUPPORTED => Some("ERROR_FORM_FACTOR_UNSUPPORTED"),
2468            Self::ERROR_FORM_FACTOR_UNAVAILABLE => Some("ERROR_FORM_FACTOR_UNAVAILABLE"),
2469            Self::ERROR_API_LAYER_NOT_PRESENT => Some("ERROR_API_LAYER_NOT_PRESENT"),
2470            Self::ERROR_CALL_ORDER_INVALID => Some("ERROR_CALL_ORDER_INVALID"),
2471            Self::ERROR_GRAPHICS_DEVICE_INVALID => Some("ERROR_GRAPHICS_DEVICE_INVALID"),
2472            Self::ERROR_POSE_INVALID => Some("ERROR_POSE_INVALID"),
2473            Self::ERROR_INDEX_OUT_OF_RANGE => Some("ERROR_INDEX_OUT_OF_RANGE"),
2474            Self::ERROR_VIEW_CONFIGURATION_TYPE_UNSUPPORTED => {
2475                Some("ERROR_VIEW_CONFIGURATION_TYPE_UNSUPPORTED")
2476            }
2477            Self::ERROR_ENVIRONMENT_BLEND_MODE_UNSUPPORTED => {
2478                Some("ERROR_ENVIRONMENT_BLEND_MODE_UNSUPPORTED")
2479            }
2480            Self::ERROR_NAME_DUPLICATED => Some("ERROR_NAME_DUPLICATED"),
2481            Self::ERROR_NAME_INVALID => Some("ERROR_NAME_INVALID"),
2482            Self::ERROR_ACTIONSET_NOT_ATTACHED => Some("ERROR_ACTIONSET_NOT_ATTACHED"),
2483            Self::ERROR_ACTIONSETS_ALREADY_ATTACHED => Some("ERROR_ACTIONSETS_ALREADY_ATTACHED"),
2484            Self::ERROR_LOCALIZED_NAME_DUPLICATED => Some("ERROR_LOCALIZED_NAME_DUPLICATED"),
2485            Self::ERROR_LOCALIZED_NAME_INVALID => Some("ERROR_LOCALIZED_NAME_INVALID"),
2486            Self::ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING => {
2487                Some("ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING")
2488            }
2489            Self::ERROR_RUNTIME_UNAVAILABLE => Some("ERROR_RUNTIME_UNAVAILABLE"),
2490            Self::ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED => {
2491                Some("ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED")
2492            }
2493            Self::ERROR_PERMISSION_INSUFFICIENT => Some("ERROR_PERMISSION_INSUFFICIENT"),
2494            Self::ERROR_ANDROID_THREAD_SETTINGS_ID_INVALID_KHR => {
2495                Some("ERROR_ANDROID_THREAD_SETTINGS_ID_INVALID_KHR")
2496            }
2497            Self::ERROR_ANDROID_THREAD_SETTINGS_FAILURE_KHR => {
2498                Some("ERROR_ANDROID_THREAD_SETTINGS_FAILURE_KHR")
2499            }
2500            Self::ERROR_CREATE_SPATIAL_ANCHOR_FAILED_MSFT => {
2501                Some("ERROR_CREATE_SPATIAL_ANCHOR_FAILED_MSFT")
2502            }
2503            Self::ERROR_SECONDARY_VIEW_CONFIGURATION_TYPE_NOT_ENABLED_MSFT => {
2504                Some("ERROR_SECONDARY_VIEW_CONFIGURATION_TYPE_NOT_ENABLED_MSFT")
2505            }
2506            Self::ERROR_CONTROLLER_MODEL_KEY_INVALID_MSFT => {
2507                Some("ERROR_CONTROLLER_MODEL_KEY_INVALID_MSFT")
2508            }
2509            Self::ERROR_REPROJECTION_MODE_UNSUPPORTED_MSFT => {
2510                Some("ERROR_REPROJECTION_MODE_UNSUPPORTED_MSFT")
2511            }
2512            Self::ERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT => {
2513                Some("ERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT")
2514            }
2515            Self::ERROR_SCENE_COMPONENT_ID_INVALID_MSFT => {
2516                Some("ERROR_SCENE_COMPONENT_ID_INVALID_MSFT")
2517            }
2518            Self::ERROR_SCENE_COMPONENT_TYPE_MISMATCH_MSFT => {
2519                Some("ERROR_SCENE_COMPONENT_TYPE_MISMATCH_MSFT")
2520            }
2521            Self::ERROR_SCENE_MESH_BUFFER_ID_INVALID_MSFT => {
2522                Some("ERROR_SCENE_MESH_BUFFER_ID_INVALID_MSFT")
2523            }
2524            Self::ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFT => {
2525                Some("ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFT")
2526            }
2527            Self::ERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFT => {
2528                Some("ERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFT")
2529            }
2530            Self::ERROR_DISPLAY_REFRESH_RATE_UNSUPPORTED_FB => {
2531                Some("ERROR_DISPLAY_REFRESH_RATE_UNSUPPORTED_FB")
2532            }
2533            Self::ERROR_COLOR_SPACE_UNSUPPORTED_FB => Some("ERROR_COLOR_SPACE_UNSUPPORTED_FB"),
2534            Self::ERROR_SPACE_COMPONENT_NOT_SUPPORTED_FB => {
2535                Some("ERROR_SPACE_COMPONENT_NOT_SUPPORTED_FB")
2536            }
2537            Self::ERROR_SPACE_COMPONENT_NOT_ENABLED_FB => {
2538                Some("ERROR_SPACE_COMPONENT_NOT_ENABLED_FB")
2539            }
2540            Self::ERROR_SPACE_COMPONENT_STATUS_PENDING_FB => {
2541                Some("ERROR_SPACE_COMPONENT_STATUS_PENDING_FB")
2542            }
2543            Self::ERROR_SPACE_COMPONENT_STATUS_ALREADY_SET_FB => {
2544                Some("ERROR_SPACE_COMPONENT_STATUS_ALREADY_SET_FB")
2545            }
2546            Self::ERROR_UNEXPECTED_STATE_PASSTHROUGH_FB => {
2547                Some("ERROR_UNEXPECTED_STATE_PASSTHROUGH_FB")
2548            }
2549            Self::ERROR_FEATURE_ALREADY_CREATED_PASSTHROUGH_FB => {
2550                Some("ERROR_FEATURE_ALREADY_CREATED_PASSTHROUGH_FB")
2551            }
2552            Self::ERROR_FEATURE_REQUIRED_PASSTHROUGH_FB => {
2553                Some("ERROR_FEATURE_REQUIRED_PASSTHROUGH_FB")
2554            }
2555            Self::ERROR_NOT_PERMITTED_PASSTHROUGH_FB => Some("ERROR_NOT_PERMITTED_PASSTHROUGH_FB"),
2556            Self::ERROR_INSUFFICIENT_RESOURCES_PASSTHROUGH_FB => {
2557                Some("ERROR_INSUFFICIENT_RESOURCES_PASSTHROUGH_FB")
2558            }
2559            Self::ERROR_UNKNOWN_PASSTHROUGH_FB => Some("ERROR_UNKNOWN_PASSTHROUGH_FB"),
2560            Self::ERROR_RENDER_MODEL_KEY_INVALID_FB => Some("ERROR_RENDER_MODEL_KEY_INVALID_FB"),
2561            Self::RENDER_MODEL_UNAVAILABLE_FB => Some("RENDER_MODEL_UNAVAILABLE_FB"),
2562            Self::ERROR_MARKER_NOT_TRACKED_VARJO => Some("ERROR_MARKER_NOT_TRACKED_VARJO"),
2563            Self::ERROR_MARKER_ID_INVALID_VARJO => Some("ERROR_MARKER_ID_INVALID_VARJO"),
2564            Self::ERROR_MARKER_DETECTOR_PERMISSION_DENIED_ML => {
2565                Some("ERROR_MARKER_DETECTOR_PERMISSION_DENIED_ML")
2566            }
2567            Self::ERROR_MARKER_DETECTOR_LOCATE_FAILED_ML => {
2568                Some("ERROR_MARKER_DETECTOR_LOCATE_FAILED_ML")
2569            }
2570            Self::ERROR_MARKER_DETECTOR_INVALID_DATA_QUERY_ML => {
2571                Some("ERROR_MARKER_DETECTOR_INVALID_DATA_QUERY_ML")
2572            }
2573            Self::ERROR_MARKER_DETECTOR_INVALID_CREATE_INFO_ML => {
2574                Some("ERROR_MARKER_DETECTOR_INVALID_CREATE_INFO_ML")
2575            }
2576            Self::ERROR_MARKER_INVALID_ML => Some("ERROR_MARKER_INVALID_ML"),
2577            Self::ERROR_LOCALIZATION_MAP_INCOMPATIBLE_ML => {
2578                Some("ERROR_LOCALIZATION_MAP_INCOMPATIBLE_ML")
2579            }
2580            Self::ERROR_LOCALIZATION_MAP_UNAVAILABLE_ML => {
2581                Some("ERROR_LOCALIZATION_MAP_UNAVAILABLE_ML")
2582            }
2583            Self::ERROR_LOCALIZATION_MAP_FAIL_ML => Some("ERROR_LOCALIZATION_MAP_FAIL_ML"),
2584            Self::ERROR_LOCALIZATION_MAP_IMPORT_EXPORT_PERMISSION_DENIED_ML => {
2585                Some("ERROR_LOCALIZATION_MAP_IMPORT_EXPORT_PERMISSION_DENIED_ML")
2586            }
2587            Self::ERROR_LOCALIZATION_MAP_PERMISSION_DENIED_ML => {
2588                Some("ERROR_LOCALIZATION_MAP_PERMISSION_DENIED_ML")
2589            }
2590            Self::ERROR_LOCALIZATION_MAP_ALREADY_EXISTS_ML => {
2591                Some("ERROR_LOCALIZATION_MAP_ALREADY_EXISTS_ML")
2592            }
2593            Self::ERROR_LOCALIZATION_MAP_CANNOT_EXPORT_CLOUD_MAP_ML => {
2594                Some("ERROR_LOCALIZATION_MAP_CANNOT_EXPORT_CLOUD_MAP_ML")
2595            }
2596            Self::ERROR_SPATIAL_ANCHORS_PERMISSION_DENIED_ML => {
2597                Some("ERROR_SPATIAL_ANCHORS_PERMISSION_DENIED_ML")
2598            }
2599            Self::ERROR_SPATIAL_ANCHORS_NOT_LOCALIZED_ML => {
2600                Some("ERROR_SPATIAL_ANCHORS_NOT_LOCALIZED_ML")
2601            }
2602            Self::ERROR_SPATIAL_ANCHORS_OUT_OF_MAP_BOUNDS_ML => {
2603                Some("ERROR_SPATIAL_ANCHORS_OUT_OF_MAP_BOUNDS_ML")
2604            }
2605            Self::ERROR_SPATIAL_ANCHORS_SPACE_NOT_LOCATABLE_ML => {
2606                Some("ERROR_SPATIAL_ANCHORS_SPACE_NOT_LOCATABLE_ML")
2607            }
2608            Self::ERROR_SPATIAL_ANCHORS_ANCHOR_NOT_FOUND_ML => {
2609                Some("ERROR_SPATIAL_ANCHORS_ANCHOR_NOT_FOUND_ML")
2610            }
2611            Self::ERROR_SPATIAL_ANCHOR_NAME_NOT_FOUND_MSFT => {
2612                Some("ERROR_SPATIAL_ANCHOR_NAME_NOT_FOUND_MSFT")
2613            }
2614            Self::ERROR_SPATIAL_ANCHOR_NAME_INVALID_MSFT => {
2615                Some("ERROR_SPATIAL_ANCHOR_NAME_INVALID_MSFT")
2616            }
2617            Self::SCENE_MARKER_DATA_NOT_STRING_MSFT => Some("SCENE_MARKER_DATA_NOT_STRING_MSFT"),
2618            Self::ERROR_SPACE_MAPPING_INSUFFICIENT_FB => {
2619                Some("ERROR_SPACE_MAPPING_INSUFFICIENT_FB")
2620            }
2621            Self::ERROR_SPACE_LOCALIZATION_FAILED_FB => Some("ERROR_SPACE_LOCALIZATION_FAILED_FB"),
2622            Self::ERROR_SPACE_NETWORK_TIMEOUT_FB => Some("ERROR_SPACE_NETWORK_TIMEOUT_FB"),
2623            Self::ERROR_SPACE_NETWORK_REQUEST_FAILED_FB => {
2624                Some("ERROR_SPACE_NETWORK_REQUEST_FAILED_FB")
2625            }
2626            Self::ERROR_SPACE_CLOUD_STORAGE_DISABLED_FB => {
2627                Some("ERROR_SPACE_CLOUD_STORAGE_DISABLED_FB")
2628            }
2629            Self::ERROR_SPACE_INSUFFICIENT_RESOURCES_META => {
2630                Some("ERROR_SPACE_INSUFFICIENT_RESOURCES_META")
2631            }
2632            Self::ERROR_SPACE_STORAGE_AT_CAPACITY_META => {
2633                Some("ERROR_SPACE_STORAGE_AT_CAPACITY_META")
2634            }
2635            Self::ERROR_SPACE_INSUFFICIENT_VIEW_META => Some("ERROR_SPACE_INSUFFICIENT_VIEW_META"),
2636            Self::ERROR_SPACE_PERMISSION_INSUFFICIENT_META => {
2637                Some("ERROR_SPACE_PERMISSION_INSUFFICIENT_META")
2638            }
2639            Self::ERROR_SPACE_RATE_LIMITED_META => Some("ERROR_SPACE_RATE_LIMITED_META"),
2640            Self::ERROR_SPACE_TOO_DARK_META => Some("ERROR_SPACE_TOO_DARK_META"),
2641            Self::ERROR_SPACE_TOO_BRIGHT_META => Some("ERROR_SPACE_TOO_BRIGHT_META"),
2642            Self::ERROR_PASSTHROUGH_COLOR_LUT_BUFFER_SIZE_MISMATCH_META => {
2643                Some("ERROR_PASSTHROUGH_COLOR_LUT_BUFFER_SIZE_MISMATCH_META")
2644            }
2645            Self::ENVIRONMENT_DEPTH_NOT_AVAILABLE_META => {
2646                Some("ENVIRONMENT_DEPTH_NOT_AVAILABLE_META")
2647            }
2648            Self::ERROR_RENDER_MODEL_ID_INVALID_EXT => Some("ERROR_RENDER_MODEL_ID_INVALID_EXT"),
2649            Self::ERROR_RENDER_MODEL_ASSET_UNAVAILABLE_EXT => {
2650                Some("ERROR_RENDER_MODEL_ASSET_UNAVAILABLE_EXT")
2651            }
2652            Self::ERROR_RENDER_MODEL_GLTF_EXTENSION_REQUIRED_EXT => {
2653                Some("ERROR_RENDER_MODEL_GLTF_EXTENSION_REQUIRED_EXT")
2654            }
2655            Self::ERROR_NOT_INTERACTION_RENDER_MODEL_EXT => {
2656                Some("ERROR_NOT_INTERACTION_RENDER_MODEL_EXT")
2657            }
2658            Self::ERROR_HINT_ALREADY_SET_QCOM => Some("ERROR_HINT_ALREADY_SET_QCOM"),
2659            Self::ERROR_NOT_AN_ANCHOR_HTC => Some("ERROR_NOT_AN_ANCHOR_HTC"),
2660            Self::ERROR_SPATIAL_ENTITY_ID_INVALID_BD => Some("ERROR_SPATIAL_ENTITY_ID_INVALID_BD"),
2661            Self::ERROR_SPATIAL_SENSING_SERVICE_UNAVAILABLE_BD => {
2662                Some("ERROR_SPATIAL_SENSING_SERVICE_UNAVAILABLE_BD")
2663            }
2664            Self::ERROR_ANCHOR_NOT_SUPPORTED_FOR_ENTITY_BD => {
2665                Some("ERROR_ANCHOR_NOT_SUPPORTED_FOR_ENTITY_BD")
2666            }
2667            Self::ERROR_SPATIAL_ANCHOR_NOT_FOUND_BD => Some("ERROR_SPATIAL_ANCHOR_NOT_FOUND_BD"),
2668            Self::ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_TIMEOUT_BD => {
2669                Some("ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_TIMEOUT_BD")
2670            }
2671            Self::ERROR_SPATIAL_ANCHOR_SHARING_AUTHENTICATION_FAILURE_BD => {
2672                Some("ERROR_SPATIAL_ANCHOR_SHARING_AUTHENTICATION_FAILURE_BD")
2673            }
2674            Self::ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_FAILURE_BD => {
2675                Some("ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_FAILURE_BD")
2676            }
2677            Self::ERROR_SPATIAL_ANCHOR_SHARING_LOCALIZATION_FAIL_BD => {
2678                Some("ERROR_SPATIAL_ANCHOR_SHARING_LOCALIZATION_FAIL_BD")
2679            }
2680            Self::ERROR_SPATIAL_ANCHOR_SHARING_MAP_INSUFFICIENT_BD => {
2681                Some("ERROR_SPATIAL_ANCHOR_SHARING_MAP_INSUFFICIENT_BD")
2682            }
2683            Self::ERROR_SCENE_CAPTURE_FAILURE_BD => Some("ERROR_SCENE_CAPTURE_FAILURE_BD"),
2684            Self::ERROR_SPACE_NOT_LOCATABLE_EXT => Some("ERROR_SPACE_NOT_LOCATABLE_EXT"),
2685            Self::ERROR_PLANE_DETECTION_PERMISSION_DENIED_EXT => {
2686                Some("ERROR_PLANE_DETECTION_PERMISSION_DENIED_EXT")
2687            }
2688            Self::ERROR_MISMATCHING_TRACKABLE_TYPE_ANDROID => {
2689                Some("ERROR_MISMATCHING_TRACKABLE_TYPE_ANDROID")
2690            }
2691            Self::ERROR_TRACKABLE_TYPE_NOT_SUPPORTED_ANDROID => {
2692                Some("ERROR_TRACKABLE_TYPE_NOT_SUPPORTED_ANDROID")
2693            }
2694            Self::ERROR_ANCHOR_ID_NOT_FOUND_ANDROID => Some("ERROR_ANCHOR_ID_NOT_FOUND_ANDROID"),
2695            Self::ERROR_ANCHOR_ALREADY_PERSISTED_ANDROID => {
2696                Some("ERROR_ANCHOR_ALREADY_PERSISTED_ANDROID")
2697            }
2698            Self::ERROR_ANCHOR_NOT_TRACKING_ANDROID => Some("ERROR_ANCHOR_NOT_TRACKING_ANDROID"),
2699            Self::ERROR_PERSISTED_DATA_NOT_READY_ANDROID => {
2700                Some("ERROR_PERSISTED_DATA_NOT_READY_ANDROID")
2701            }
2702            Self::ERROR_SERVICE_NOT_READY_ANDROID => Some("ERROR_SERVICE_NOT_READY_ANDROID"),
2703            Self::ERROR_MESH_DATA_LIMIT_EXCEEDED_ANDROID => {
2704                Some("ERROR_MESH_DATA_LIMIT_EXCEEDED_ANDROID")
2705            }
2706            Self::ERROR_FUTURE_PENDING_EXT => Some("ERROR_FUTURE_PENDING_EXT"),
2707            Self::ERROR_FUTURE_INVALID_EXT => Some("ERROR_FUTURE_INVALID_EXT"),
2708            Self::ERROR_SYSTEM_NOTIFICATION_PERMISSION_DENIED_ML => {
2709                Some("ERROR_SYSTEM_NOTIFICATION_PERMISSION_DENIED_ML")
2710            }
2711            Self::ERROR_SYSTEM_NOTIFICATION_INCOMPATIBLE_SKU_ML => {
2712                Some("ERROR_SYSTEM_NOTIFICATION_INCOMPATIBLE_SKU_ML")
2713            }
2714            Self::ERROR_WORLD_MESH_DETECTOR_PERMISSION_DENIED_ML => {
2715                Some("ERROR_WORLD_MESH_DETECTOR_PERMISSION_DENIED_ML")
2716            }
2717            Self::ERROR_WORLD_MESH_DETECTOR_SPACE_NOT_LOCATABLE_ML => {
2718                Some("ERROR_WORLD_MESH_DETECTOR_SPACE_NOT_LOCATABLE_ML")
2719            }
2720            Self::ERROR_FACIAL_EXPRESSION_PERMISSION_DENIED_ML => {
2721                Some("ERROR_FACIAL_EXPRESSION_PERMISSION_DENIED_ML")
2722            }
2723            Self::ERROR_COLOCATION_DISCOVERY_NETWORK_FAILED_META => {
2724                Some("ERROR_COLOCATION_DISCOVERY_NETWORK_FAILED_META")
2725            }
2726            Self::ERROR_COLOCATION_DISCOVERY_NO_DISCOVERY_METHOD_META => {
2727                Some("ERROR_COLOCATION_DISCOVERY_NO_DISCOVERY_METHOD_META")
2728            }
2729            Self::COLOCATION_DISCOVERY_ALREADY_ADVERTISING_META => {
2730                Some("COLOCATION_DISCOVERY_ALREADY_ADVERTISING_META")
2731            }
2732            Self::COLOCATION_DISCOVERY_ALREADY_DISCOVERING_META => {
2733                Some("COLOCATION_DISCOVERY_ALREADY_DISCOVERING_META")
2734            }
2735            Self::ERROR_SPACE_GROUP_NOT_FOUND_META => Some("ERROR_SPACE_GROUP_NOT_FOUND_META"),
2736            Self::ERROR_ANCHOR_NOT_OWNED_BY_CALLER_ANDROID => {
2737                Some("ERROR_ANCHOR_NOT_OWNED_BY_CALLER_ANDROID")
2738            }
2739            Self::ERROR_IMAGE_FORMAT_UNSUPPORTED_ANDROID => {
2740                Some("ERROR_IMAGE_FORMAT_UNSUPPORTED_ANDROID")
2741            }
2742            Self::ERROR_SPATIAL_CAPABILITY_UNSUPPORTED_EXT => {
2743                Some("ERROR_SPATIAL_CAPABILITY_UNSUPPORTED_EXT")
2744            }
2745            Self::ERROR_SPATIAL_ENTITY_ID_INVALID_EXT => {
2746                Some("ERROR_SPATIAL_ENTITY_ID_INVALID_EXT")
2747            }
2748            Self::ERROR_SPATIAL_BUFFER_ID_INVALID_EXT => {
2749                Some("ERROR_SPATIAL_BUFFER_ID_INVALID_EXT")
2750            }
2751            Self::ERROR_SPATIAL_COMPONENT_UNSUPPORTED_FOR_CAPABILITY_EXT => {
2752                Some("ERROR_SPATIAL_COMPONENT_UNSUPPORTED_FOR_CAPABILITY_EXT")
2753            }
2754            Self::ERROR_SPATIAL_CAPABILITY_CONFIGURATION_INVALID_EXT => {
2755                Some("ERROR_SPATIAL_CAPABILITY_CONFIGURATION_INVALID_EXT")
2756            }
2757            Self::ERROR_SPATIAL_COMPONENT_NOT_ENABLED_EXT => {
2758                Some("ERROR_SPATIAL_COMPONENT_NOT_ENABLED_EXT")
2759            }
2760            Self::ERROR_SPATIAL_PERSISTENCE_SCOPE_UNSUPPORTED_EXT => {
2761                Some("ERROR_SPATIAL_PERSISTENCE_SCOPE_UNSUPPORTED_EXT")
2762            }
2763            Self::ERROR_SPATIAL_PERSISTENCE_SCOPE_INCOMPATIBLE_EXT => {
2764                Some("ERROR_SPATIAL_PERSISTENCE_SCOPE_INCOMPATIBLE_EXT")
2765            }
2766            Self::ERROR_SPATIAL_ANCHOR_ATTACHABLE_COMPONENT_NOT_FOUND_ANDROID => {
2767                Some("ERROR_SPATIAL_ANCHOR_ATTACHABLE_COMPONENT_NOT_FOUND_ANDROID")
2768            }
2769            Self::ERROR_SPATIAL_ANCHOR_ENTITY_ID_INVALID_ANDROID => {
2770                Some("ERROR_SPATIAL_ANCHOR_ENTITY_ID_INVALID_ANDROID")
2771            }
2772            _ => None,
2773        };
2774        fmt_enum(fmt, self.0, name)
2775    }
2776}
2777impl fmt::Display for Result {
2778    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
2779        let reason = match *self {
2780            Self::SUCCESS => Some("function successfully completed"),
2781            Self::TIMEOUT_EXPIRED => {
2782                Some("the specified timeout time occurred before the operation could complete")
2783            }
2784            Self::SESSION_LOSS_PENDING => Some("the session will be lost soon"),
2785            Self::EVENT_UNAVAILABLE => Some("no event was available"),
2786            Self::SPACE_BOUNDS_UNAVAILABLE => {
2787                Some("the space's bounds are not known at the moment")
2788            }
2789            Self::SESSION_NOT_FOCUSED => Some("the session is not in the focused state"),
2790            Self::FRAME_DISCARDED => Some("a frame has been discarded from composition"),
2791            Self::ERROR_VALIDATION_FAILURE => Some("the function usage was invalid in some way"),
2792            Self::ERROR_RUNTIME_FAILURE => Some(
2793                "the runtime failed to handle the function in an unexpected way that is not covered by another error result",
2794            ),
2795            Self::ERROR_OUT_OF_MEMORY => Some("a memory allocation has failed"),
2796            Self::ERROR_API_VERSION_UNSUPPORTED => {
2797                Some("the runtime does not support the requested API version")
2798            }
2799            Self::ERROR_INITIALIZATION_FAILED => {
2800                Some("initialization of object could not be completed")
2801            }
2802            Self::ERROR_FUNCTION_UNSUPPORTED => {
2803                Some("the requested function was not found or is otherwise unsupported")
2804            }
2805            Self::ERROR_FEATURE_UNSUPPORTED => Some("the requested feature is not supported"),
2806            Self::ERROR_EXTENSION_NOT_PRESENT => Some("a requested extension is not supported"),
2807            Self::ERROR_LIMIT_REACHED => {
2808                Some("the runtime supports no more of the requested resource")
2809            }
2810            Self::ERROR_SIZE_INSUFFICIENT => Some("the supplied size was smaller than required"),
2811            Self::ERROR_HANDLE_INVALID => Some("a supplied object handle was invalid"),
2812            Self::ERROR_INSTANCE_LOST => Some(
2813                "the XrInstance was lost or could not be found. It will need to be destroyed and optionally recreated",
2814            ),
2815            Self::ERROR_SESSION_RUNNING => Some("the session is already running"),
2816            Self::ERROR_SESSION_NOT_RUNNING => Some("the session is not yet running"),
2817            Self::ERROR_SESSION_LOST => Some(
2818                "the XrSession was lost. It will need to be destroyed and optionally recreated",
2819            ),
2820            Self::ERROR_SYSTEM_INVALID => Some("the provided XrSystemId was invalid"),
2821            Self::ERROR_PATH_INVALID => Some("the provided XrPath was not valid"),
2822            Self::ERROR_PATH_COUNT_EXCEEDED => {
2823                Some("the maximum number of supported semantic paths has been reached")
2824            }
2825            Self::ERROR_PATH_FORMAT_INVALID => {
2826                Some("the semantic path character format is invalid")
2827            }
2828            Self::ERROR_PATH_UNSUPPORTED => Some("the semantic path is unsupported"),
2829            Self::ERROR_LAYER_INVALID => Some("the layer was NULL or otherwise invalid"),
2830            Self::ERROR_LAYER_LIMIT_EXCEEDED => {
2831                Some("the number of specified layers is greater than the supported number")
2832            }
2833            Self::ERROR_SWAPCHAIN_RECT_INVALID => {
2834                Some("the image rect was negatively sized or otherwise invalid")
2835            }
2836            Self::ERROR_SWAPCHAIN_FORMAT_UNSUPPORTED => {
2837                Some("the image format is not supported by the runtime or platform")
2838            }
2839            Self::ERROR_ACTION_TYPE_MISMATCH => {
2840                Some("the API used to retrieve an action's state does not match the action's type")
2841            }
2842            Self::ERROR_SESSION_NOT_READY => Some("the session is not in the ready state"),
2843            Self::ERROR_SESSION_NOT_STOPPING => Some("the session is not in the stopping state"),
2844            Self::ERROR_TIME_INVALID => {
2845                Some("the provided XrTime was zero, negative, or out of range")
2846            }
2847            Self::ERROR_REFERENCE_SPACE_UNSUPPORTED => {
2848                Some("the specified reference space is not supported by the runtime or system")
2849            }
2850            Self::ERROR_FILE_ACCESS_ERROR => Some("the file could not be accessed"),
2851            Self::ERROR_FILE_CONTENTS_INVALID => Some("the file's contents were invalid"),
2852            Self::ERROR_FORM_FACTOR_UNSUPPORTED => Some(
2853                "the specified form factor is not supported by the current runtime or platform",
2854            ),
2855            Self::ERROR_FORM_FACTOR_UNAVAILABLE => Some(
2856                "the specified form factor is supported, but the device is currently not available, e.g. not plugged in or powered off",
2857            ),
2858            Self::ERROR_API_LAYER_NOT_PRESENT => {
2859                Some("a requested API layer is not present or could not be loaded")
2860            }
2861            Self::ERROR_CALL_ORDER_INVALID => {
2862                Some("the call was made without having made a previously required call")
2863            }
2864            Self::ERROR_GRAPHICS_DEVICE_INVALID => Some(
2865                "the given graphics device is not in a valid state. The graphics device could be lost or initialized without meeting graphics requirements",
2866            ),
2867            Self::ERROR_POSE_INVALID => {
2868                Some("the supplied pose was invalid with respect to the requirements")
2869            }
2870            Self::ERROR_INDEX_OUT_OF_RANGE => {
2871                Some("the supplied index was outside the range of valid indices")
2872            }
2873            Self::ERROR_VIEW_CONFIGURATION_TYPE_UNSUPPORTED => Some(
2874                "the specified view configuration type is not supported by the runtime or platform",
2875            ),
2876            Self::ERROR_ENVIRONMENT_BLEND_MODE_UNSUPPORTED => Some(
2877                "the specified environment blend mode is not supported by the runtime or platform",
2878            ),
2879            Self::ERROR_NAME_DUPLICATED => {
2880                Some("the name provided was a duplicate of an already-existing resource")
2881            }
2882            Self::ERROR_NAME_INVALID => Some("the name provided was invalid"),
2883            Self::ERROR_ACTIONSET_NOT_ATTACHED => {
2884                Some("a referenced action set is not attached to the session")
2885            }
2886            Self::ERROR_ACTIONSETS_ALREADY_ATTACHED => {
2887                Some("the session already has attached action sets")
2888            }
2889            Self::ERROR_LOCALIZED_NAME_DUPLICATED => {
2890                Some("the localized name provided was a duplicate of an already-existing resource")
2891            }
2892            Self::ERROR_LOCALIZED_NAME_INVALID => Some("the localized name provided was invalid"),
2893            Self::ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING => Some(
2894                "the xrGet*GraphicsRequirements call was not made before calling xrCreateSession",
2895            ),
2896            Self::ERROR_RUNTIME_UNAVAILABLE => {
2897                Some("the loader was unable to find or load a runtime")
2898            }
2899            Self::ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED => Some(
2900                "one or more of the extensions being enabled has dependency on extensions that are not enabled",
2901            ),
2902            Self::ERROR_PERMISSION_INSUFFICIENT => Some(
2903                "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",
2904            ),
2905            Self::ERROR_ANDROID_THREAD_SETTINGS_ID_INVALID_KHR => {
2906                Some("xrSetAndroidApplicationThreadKHR failed as thread id is invalid")
2907            }
2908            Self::ERROR_ANDROID_THREAD_SETTINGS_FAILURE_KHR => Some(
2909                "xrSetAndroidApplicationThreadKHR failed setting the thread attributes/priority",
2910            ),
2911            Self::ERROR_CREATE_SPATIAL_ANCHOR_FAILED_MSFT => {
2912                Some("spatial anchor could not be created at that location")
2913            }
2914            Self::ERROR_SECONDARY_VIEW_CONFIGURATION_TYPE_NOT_ENABLED_MSFT => {
2915                Some("the secondary view configuration was not enabled when creating the session")
2916            }
2917            Self::ERROR_CONTROLLER_MODEL_KEY_INVALID_MSFT => {
2918                Some("the controller model key is invalid")
2919            }
2920            Self::ERROR_REPROJECTION_MODE_UNSUPPORTED_MSFT => {
2921                Some("the reprojection mode is not supported")
2922            }
2923            Self::ERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT => {
2924                Some("compute new scene not completed")
2925            }
2926            Self::ERROR_SCENE_COMPONENT_ID_INVALID_MSFT => Some("scene component id invalid"),
2927            Self::ERROR_SCENE_COMPONENT_TYPE_MISMATCH_MSFT => Some("scene component type mismatch"),
2928            Self::ERROR_SCENE_MESH_BUFFER_ID_INVALID_MSFT => Some("scene mesh buffer id invalid"),
2929            Self::ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFT => {
2930                Some("scene compute feature incompatible")
2931            }
2932            Self::ERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFT => {
2933                Some("scene compute consistency mismatch")
2934            }
2935            Self::ERROR_DISPLAY_REFRESH_RATE_UNSUPPORTED_FB => {
2936                Some("the display refresh rate is not supported by the platform")
2937            }
2938            Self::ERROR_COLOR_SPACE_UNSUPPORTED_FB => {
2939                Some("the color space is not supported by the runtime")
2940            }
2941            Self::ERROR_SPACE_COMPONENT_NOT_SUPPORTED_FB => {
2942                Some("the component type is not supported for this space")
2943            }
2944            Self::ERROR_SPACE_COMPONENT_NOT_ENABLED_FB => {
2945                Some("the required component is not enabled for this space")
2946            }
2947            Self::ERROR_SPACE_COMPONENT_STATUS_PENDING_FB => {
2948                Some("a request to set the component's status is currently pending")
2949            }
2950            Self::ERROR_SPACE_COMPONENT_STATUS_ALREADY_SET_FB => {
2951                Some("the component is already set to the requested value")
2952            }
2953            Self::ERROR_UNEXPECTED_STATE_PASSTHROUGH_FB => {
2954                Some("the object state is unexpected for the issued command")
2955            }
2956            Self::ERROR_FEATURE_ALREADY_CREATED_PASSTHROUGH_FB => Some(
2957                "trying to create an MR feature when one was already created and only one instance is allowed",
2958            ),
2959            Self::ERROR_FEATURE_REQUIRED_PASSTHROUGH_FB => {
2960                Some("requested functionality requires a feature to be created first")
2961            }
2962            Self::ERROR_NOT_PERMITTED_PASSTHROUGH_FB => Some(
2963                "requested functionality is not permitted - application is not allowed to perform the requested operation",
2964            ),
2965            Self::ERROR_INSUFFICIENT_RESOURCES_PASSTHROUGH_FB => {
2966                Some("there were insufficient resources available to perform an operation")
2967            }
2968            Self::ERROR_UNKNOWN_PASSTHROUGH_FB => {
2969                Some("unknown Passthrough error (no further details provided)")
2970            }
2971            Self::ERROR_RENDER_MODEL_KEY_INVALID_FB => Some("the model key is invalid"),
2972            Self::RENDER_MODEL_UNAVAILABLE_FB => Some("the model is unavailable"),
2973            Self::ERROR_MARKER_NOT_TRACKED_VARJO => {
2974                Some("marker tracking is disabled or the specified marker is not currently tracked")
2975            }
2976            Self::ERROR_MARKER_ID_INVALID_VARJO => Some("the specified marker ID is not valid"),
2977            Self::ERROR_MARKER_DETECTOR_PERMISSION_DENIED_ML => {
2978                Some("the com.magicleap.permission.MARKER_TRACKING permission was denied")
2979            }
2980            Self::ERROR_MARKER_DETECTOR_LOCATE_FAILED_ML => {
2981                Some("the specified marker could not be located spatially")
2982            }
2983            Self::ERROR_MARKER_DETECTOR_INVALID_DATA_QUERY_ML => {
2984                Some("the marker queried does not contain data of the requested type")
2985            }
2986            Self::ERROR_MARKER_DETECTOR_INVALID_CREATE_INFO_ML => Some(
2987                "createInfo contains mutually exclusive parameters, such as setting XR_MARKER_DETECTOR_CORNER_REFINE_METHOD_APRIL_TAG_ML with XR_MARKER_TYPE_ARUCO_ML",
2988            ),
2989            Self::ERROR_MARKER_INVALID_ML => {
2990                Some("the marker id passed to the function was invalid")
2991            }
2992            Self::ERROR_LOCALIZATION_MAP_INCOMPATIBLE_ML => Some(
2993                "the localization map being imported is not compatible with current OS or mode",
2994            ),
2995            Self::ERROR_LOCALIZATION_MAP_UNAVAILABLE_ML => {
2996                Some("the localization map requested is not available")
2997            }
2998            Self::ERROR_LOCALIZATION_MAP_FAIL_ML => {
2999                Some("the map localization service failed to fulfill the request, retry later")
3000            }
3001            Self::ERROR_LOCALIZATION_MAP_IMPORT_EXPORT_PERMISSION_DENIED_ML => {
3002                Some("the com.magicleap.permission.SPACE_IMPORT_EXPORT permission was denied")
3003            }
3004            Self::ERROR_LOCALIZATION_MAP_PERMISSION_DENIED_ML => {
3005                Some("the com.magicleap.permission.SPACE_MANAGER permission was denied")
3006            }
3007            Self::ERROR_LOCALIZATION_MAP_ALREADY_EXISTS_ML => {
3008                Some("the map being imported already exists in the system")
3009            }
3010            Self::ERROR_LOCALIZATION_MAP_CANNOT_EXPORT_CLOUD_MAP_ML => {
3011                Some("the map localization service cannot export cloud based maps")
3012            }
3013            Self::ERROR_SPATIAL_ANCHORS_PERMISSION_DENIED_ML => {
3014                Some("the com.magicleap.permission.SPATIAL_ANCHOR permission was not granted")
3015            }
3016            Self::ERROR_SPATIAL_ANCHORS_NOT_LOCALIZED_ML => {
3017                Some("operation failed because the system is not localized into a localization map")
3018            }
3019            Self::ERROR_SPATIAL_ANCHORS_OUT_OF_MAP_BOUNDS_ML => {
3020                Some("operation failed because it is performed outside of the localization map")
3021            }
3022            Self::ERROR_SPATIAL_ANCHORS_SPACE_NOT_LOCATABLE_ML => {
3023                Some("operation failed because the space referenced cannot be located")
3024            }
3025            Self::ERROR_SPATIAL_ANCHORS_ANCHOR_NOT_FOUND_ML => {
3026                Some("the anchor references was not found")
3027            }
3028            Self::ERROR_SPATIAL_ANCHOR_NAME_NOT_FOUND_MSFT => Some(
3029                "a spatial anchor was not found associated with the spatial anchor name provided",
3030            ),
3031            Self::ERROR_SPATIAL_ANCHOR_NAME_INVALID_MSFT => {
3032                Some("the spatial anchor name provided was not valid")
3033            }
3034            Self::SCENE_MARKER_DATA_NOT_STRING_MSFT => Some("marker does not encode a string"),
3035            Self::ERROR_SPACE_MAPPING_INSUFFICIENT_FB => {
3036                Some("anchor import from cloud or export from device failed")
3037            }
3038            Self::ERROR_SPACE_LOCALIZATION_FAILED_FB => Some(
3039                "anchors were downloaded from the cloud but failed to be imported/aligned on the device",
3040            ),
3041            Self::ERROR_SPACE_NETWORK_TIMEOUT_FB => {
3042                Some("timeout occurred while waiting for network request to complete")
3043            }
3044            Self::ERROR_SPACE_NETWORK_REQUEST_FAILED_FB => Some("the network request failed"),
3045            Self::ERROR_SPACE_CLOUD_STORAGE_DISABLED_FB => {
3046                Some("cloud storage is required for this operation but is currently disabled")
3047            }
3048            Self::ERROR_SPACE_INSUFFICIENT_RESOURCES_META => Some(
3049                "resource limitation prevented this operation from executing. Recommend retrying, perhaps after a short delay and/or reducing memory consumption",
3050            ),
3051            Self::ERROR_SPACE_STORAGE_AT_CAPACITY_META => Some(
3052                "operation could not be completed until resources used are reduced or storage expanded",
3053            ),
3054            Self::ERROR_SPACE_INSUFFICIENT_VIEW_META => {
3055                Some("look around the environment more for space tracking to function")
3056            }
3057            Self::ERROR_SPACE_PERMISSION_INSUFFICIENT_META => Some(
3058                "space operation permission insufficient. Recommend confirming the status of the required permissions needed for using Space APIs",
3059            ),
3060            Self::ERROR_SPACE_RATE_LIMITED_META => Some(
3061                "operation cancelled due to rate limiting. Recommend retrying after a short delay",
3062            ),
3063            Self::ERROR_SPACE_TOO_DARK_META => {
3064                Some("environment too dark for tracking to complete operation")
3065            }
3066            Self::ERROR_SPACE_TOO_BRIGHT_META => {
3067                Some("environment too bright for tracking to complete operation")
3068            }
3069            Self::ERROR_PASSTHROUGH_COLOR_LUT_BUFFER_SIZE_MISMATCH_META => {
3070                Some("the provided data buffer did not match the required size")
3071            }
3072            Self::ENVIRONMENT_DEPTH_NOT_AVAILABLE_META => {
3073                Some("warning: The requested depth image is not yet available")
3074            }
3075            Self::ERROR_RENDER_MODEL_ID_INVALID_EXT => Some("the render model ID is invalid"),
3076            Self::ERROR_RENDER_MODEL_ASSET_UNAVAILABLE_EXT => {
3077                Some("the render model asset is unavailable")
3078            }
3079            Self::ERROR_RENDER_MODEL_GLTF_EXTENSION_REQUIRED_EXT => {
3080                Some("a glTF extension is required")
3081            }
3082            Self::ERROR_NOT_INTERACTION_RENDER_MODEL_EXT => Some(
3083                "the provided XrRenderModelEXT was not created from a XrRenderModelIdEXT from `<<XR_EXT_interaction_render_model>>`",
3084            ),
3085            Self::ERROR_HINT_ALREADY_SET_QCOM => {
3086                Some("tracking optimization hint is already set for the domain")
3087            }
3088            Self::ERROR_NOT_AN_ANCHOR_HTC => Some("the provided space is valid but not an anchor"),
3089            Self::ERROR_SPATIAL_ENTITY_ID_INVALID_BD => Some("the spatial entity id is invalid"),
3090            Self::ERROR_SPATIAL_SENSING_SERVICE_UNAVAILABLE_BD => {
3091                Some("the spatial sensing service is unavailable")
3092            }
3093            Self::ERROR_ANCHOR_NOT_SUPPORTED_FOR_ENTITY_BD => {
3094                Some("the spatial entity does not support anchor")
3095            }
3096            Self::ERROR_SPATIAL_ANCHOR_NOT_FOUND_BD => Some("the spatial anchor is not found"),
3097            Self::ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_TIMEOUT_BD => {
3098                Some("the network transmission timeout")
3099            }
3100            Self::ERROR_SPATIAL_ANCHOR_SHARING_AUTHENTICATION_FAILURE_BD => {
3101                Some("the authentication for the user account failed")
3102            }
3103            Self::ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_FAILURE_BD => Some(
3104                "the network connection failed, e.g. the connection is unstable or disconnected",
3105            ),
3106            Self::ERROR_SPATIAL_ANCHOR_SHARING_LOCALIZATION_FAIL_BD => {
3107                Some("the spatial anchor localization failed")
3108            }
3109            Self::ERROR_SPATIAL_ANCHOR_SHARING_MAP_INSUFFICIENT_BD => {
3110                Some("the feature points of spatial anchor map are insufficient")
3111            }
3112            Self::ERROR_SCENE_CAPTURE_FAILURE_BD => {
3113                Some("the scene capture is failed, for example exiting abnormally")
3114            }
3115            Self::ERROR_SPACE_NOT_LOCATABLE_EXT => {
3116                Some("the space passed to the function was not locatable")
3117            }
3118            Self::ERROR_PLANE_DETECTION_PERMISSION_DENIED_EXT => {
3119                Some("the permission for this resource was not granted")
3120            }
3121            Self::ERROR_MISMATCHING_TRACKABLE_TYPE_ANDROID => {
3122                Some("indicates that the parameters contains multiple trackable types")
3123            }
3124            Self::ERROR_TRACKABLE_TYPE_NOT_SUPPORTED_ANDROID => {
3125                Some("indicates that the function is not supported by the given trackable type")
3126            }
3127            Self::ERROR_ANCHOR_ID_NOT_FOUND_ANDROID => {
3128                Some("xrUuidExt passed to the function was not found to be a persisted anchor")
3129            }
3130            Self::ERROR_ANCHOR_ALREADY_PERSISTED_ANDROID => {
3131                Some("xrUuidExt passed to the function was already marked to be persisted")
3132            }
3133            Self::ERROR_ANCHOR_NOT_TRACKING_ANDROID => {
3134                Some("aNchor cannot be persisted because it is not tracking")
3135            }
3136            Self::ERROR_PERSISTED_DATA_NOT_READY_ANDROID => {
3137                Some("persisted data stored by this app has not been loaded yet")
3138            }
3139            Self::ERROR_SERVICE_NOT_READY_ANDROID => {
3140                Some("the underlying tracking service is not yet ready")
3141            }
3142            Self::ERROR_MESH_DATA_LIMIT_EXCEEDED_ANDROID => Some(
3143                "returned by passthrough layer functions to indicate the mesh data exceeds the supported limit",
3144            ),
3145            Self::ERROR_FUTURE_PENDING_EXT => {
3146                Some("returned by completion function to indicate future is not ready")
3147            }
3148            Self::ERROR_FUTURE_INVALID_EXT => {
3149                Some("returned by completion function to indicate future is not valid")
3150            }
3151            Self::ERROR_SYSTEM_NOTIFICATION_PERMISSION_DENIED_ML => {
3152                Some("the com.magicleap.permission.SYSTEM_NOTIFICATION permission was not granted")
3153            }
3154            Self::ERROR_SYSTEM_NOTIFICATION_INCOMPATIBLE_SKU_ML => {
3155                Some("incompatible SKU detected")
3156            }
3157            Self::ERROR_WORLD_MESH_DETECTOR_PERMISSION_DENIED_ML => {
3158                Some("the world mesh detector permission was not granted")
3159            }
3160            Self::ERROR_WORLD_MESH_DETECTOR_SPACE_NOT_LOCATABLE_ML => Some(
3161                "at the time of the call the runtime was unable to locate the space and cannot fulfill your request",
3162            ),
3163            Self::ERROR_FACIAL_EXPRESSION_PERMISSION_DENIED_ML => {
3164                Some("permission to track facial expressions was not granted")
3165            }
3166            Self::ERROR_COLOCATION_DISCOVERY_NETWORK_FAILED_META => {
3167                Some("the network request failed")
3168            }
3169            Self::ERROR_COLOCATION_DISCOVERY_NO_DISCOVERY_METHOD_META => {
3170                Some("the runtime does not have any methods available to perform discovery")
3171            }
3172            Self::COLOCATION_DISCOVERY_ALREADY_ADVERTISING_META => {
3173                Some("colocation advertisement has already been enabled")
3174            }
3175            Self::COLOCATION_DISCOVERY_ALREADY_DISCOVERING_META => {
3176                Some("colocation discovery has already been enabled")
3177            }
3178            Self::ERROR_SPACE_GROUP_NOT_FOUND_META => {
3179                Some("the group UUID was not found within the runtime")
3180            }
3181            Self::ERROR_ANCHOR_NOT_OWNED_BY_CALLER_ANDROID => Some(
3182                "operation not allowed because anchor is not owned by the XrSession in which the function is being called",
3183            ),
3184            Self::ERROR_IMAGE_FORMAT_UNSUPPORTED_ANDROID => {
3185                Some("indicates that the input reference image format is not supported")
3186            }
3187            Self::ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED_KHR => {
3188                Some("ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED_KHR")
3189            }
3190            Self::ERROR_PERMISSION_INSUFFICIENT_KHR => Some("ERROR_PERMISSION_INSUFFICIENT_KHR"),
3191            Self::ERROR_SPATIAL_CAPABILITY_UNSUPPORTED_EXT => Some(
3192                "the specified spatial capability is not supported by the runtime or the system",
3193            ),
3194            Self::ERROR_SPATIAL_ENTITY_ID_INVALID_EXT => Some(
3195                "the specified spatial entity id is invalid or an entity with that id does not exist in the environment",
3196            ),
3197            Self::ERROR_SPATIAL_BUFFER_ID_INVALID_EXT => Some(
3198                "the specified spatial buffer id is invalid or does not exist in the spatial snapshot being used to query for the buffer data",
3199            ),
3200            Self::ERROR_SPATIAL_COMPONENT_UNSUPPORTED_FOR_CAPABILITY_EXT => Some(
3201                "the specified spatial component is not supported by the runtime or the system for the given capability",
3202            ),
3203            Self::ERROR_SPATIAL_CAPABILITY_CONFIGURATION_INVALID_EXT => {
3204                Some("the specified spatial capability configuration is invalid")
3205            }
3206            Self::ERROR_SPATIAL_COMPONENT_NOT_ENABLED_EXT => {
3207                Some("the specified spatial component is not enabled for the spatial context")
3208            }
3209            Self::ERROR_SPATIAL_PERSISTENCE_SCOPE_UNSUPPORTED_EXT => Some(
3210                "the specified spatial persistence scope is not supported by the runtime or the system",
3211            ),
3212            Self::ERROR_SPATIAL_PERSISTENCE_SCOPE_INCOMPATIBLE_EXT => Some(
3213                "the scope configured for the persistence context is incompatible for the current spatial entity",
3214            ),
3215            Self::ERROR_SPATIAL_ANCHOR_ATTACHABLE_COMPONENT_NOT_FOUND_ANDROID => Some(
3216                "spatial entity with parent ID does not have at least one component enumerated by xrEnumerateSpatialAnchorAttachableComponentsANDROID",
3217            ),
3218            Self::ERROR_SPATIAL_ANCHOR_ENTITY_ID_INVALID_ANDROID => {
3219                Some("the specified spatial entity ID is invalid for an anchor")
3220            }
3221            _ => None,
3222        };
3223        if let Some(reason) = reason {
3224            fmt.pad(reason)
3225        } else {
3226            write!(fmt, "unknown error (code {})", self.0)
3227        }
3228    }
3229}
3230impl std::error::Error for Result {}
3231#[doc = "Enums to track objects of various types - see [XrObjectType](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrObjectType)"]
3232#[repr(transparent)]
3233#[derive(Copy, Clone, Eq, PartialEq, Default)]
3234pub struct ObjectType(i32);
3235impl ObjectType {
3236    pub const UNKNOWN: ObjectType = Self(0i32);
3237    #[doc = "XrInstance"]
3238    pub const INSTANCE: ObjectType = Self(1i32);
3239    #[doc = "XrSession"]
3240    pub const SESSION: ObjectType = Self(2i32);
3241    #[doc = "XrSwapchain"]
3242    pub const SWAPCHAIN: ObjectType = Self(3i32);
3243    #[doc = "XrSpace"]
3244    pub const SPACE: ObjectType = Self(4i32);
3245    #[doc = "XrActionSet"]
3246    pub const ACTION_SET: ObjectType = Self(5i32);
3247    #[doc = "XrAction"]
3248    pub const ACTION: ObjectType = Self(6i32);
3249    #[doc = "XrDebugUtilsMessengerEXT"]
3250    pub const DEBUG_UTILS_MESSENGER_EXT: ObjectType = Self(1000019000i32);
3251    #[doc = "XrSpatialAnchorMSFT"]
3252    pub const SPATIAL_ANCHOR_MSFT: ObjectType = Self(1000039000i32);
3253    #[doc = "XrSpatialGraphNodeBindingMSFT"]
3254    pub const SPATIAL_GRAPH_NODE_BINDING_MSFT: ObjectType = Self(1000049000i32);
3255    #[doc = "XrHandTrackerEXT"]
3256    pub const HAND_TRACKER_EXT: ObjectType = Self(1000051000i32);
3257    #[doc = "XrBodyTrackerFB"]
3258    pub const BODY_TRACKER_FB: ObjectType = Self(1000076000i32);
3259    #[doc = "XrSceneObserverMSFT"]
3260    pub const SCENE_OBSERVER_MSFT: ObjectType = Self(1000097000i32);
3261    #[doc = "XrSceneMSFT"]
3262    pub const SCENE_MSFT: ObjectType = Self(1000097001i32);
3263    #[doc = "XrFacialTrackerHTC"]
3264    pub const FACIAL_TRACKER_HTC: ObjectType = Self(1000104000i32);
3265    #[doc = "XrFoveationProfileFB"]
3266    pub const FOVEATION_PROFILE_FB: ObjectType = Self(1000114000i32);
3267    #[doc = "XrTriangleMeshFB"]
3268    pub const TRIANGLE_MESH_FB: ObjectType = Self(1000117000i32);
3269    #[doc = "XrPassthroughFB"]
3270    pub const PASSTHROUGH_FB: ObjectType = Self(1000118000i32);
3271    #[doc = "XrPassthroughLayerFB"]
3272    pub const PASSTHROUGH_LAYER_FB: ObjectType = Self(1000118002i32);
3273    #[doc = "XrGeometryInstanceFB"]
3274    pub const GEOMETRY_INSTANCE_FB: ObjectType = Self(1000118004i32);
3275    #[doc = "XrMarkerDetectorML"]
3276    pub const MARKER_DETECTOR_ML: ObjectType = Self(1000138000i32);
3277    #[doc = "XrExportedLocalizationMapML"]
3278    pub const EXPORTED_LOCALIZATION_MAP_ML: ObjectType = Self(1000139000i32);
3279    #[doc = "XrSpatialAnchorsStorageML"]
3280    pub const SPATIAL_ANCHORS_STORAGE_ML: ObjectType = Self(1000141000i32);
3281    #[doc = "XrSpatialAnchorStoreConnectionMSFT"]
3282    pub const SPATIAL_ANCHOR_STORE_CONNECTION_MSFT: ObjectType = Self(1000142000i32);
3283    #[doc = "XrFaceTrackerFB"]
3284    pub const FACE_TRACKER_FB: ObjectType = Self(1000201000i32);
3285    #[doc = "XrEyeTrackerFB"]
3286    pub const EYE_TRACKER_FB: ObjectType = Self(1000202000i32);
3287    #[doc = "XrVirtualKeyboardMETA"]
3288    pub const VIRTUAL_KEYBOARD_META: ObjectType = Self(1000219000i32);
3289    #[doc = "XrSpaceUserFB"]
3290    pub const SPACE_USER_FB: ObjectType = Self(1000241000i32);
3291    #[doc = "XrPassthroughColorLutMETA"]
3292    pub const PASSTHROUGH_COLOR_LUT_META: ObjectType = Self(1000266000i32);
3293    #[doc = "XrFaceTracker2FB"]
3294    pub const FACE_TRACKER2_FB: ObjectType = Self(1000287012i32);
3295    #[doc = "XrEnvironmentDepthProviderMETA"]
3296    pub const ENVIRONMENT_DEPTH_PROVIDER_META: ObjectType = Self(1000291000i32);
3297    #[doc = "XrEnvironmentDepthSwapchainMETA"]
3298    pub const ENVIRONMENT_DEPTH_SWAPCHAIN_META: ObjectType = Self(1000291001i32);
3299    #[doc = "XrRenderModelEXT"]
3300    pub const RENDER_MODEL_EXT: ObjectType = Self(1000300000i32);
3301    #[doc = "XrRenderModelAssetEXT"]
3302    pub const RENDER_MODEL_ASSET_EXT: ObjectType = Self(1000300001i32);
3303    #[doc = "XrPassthroughHTC"]
3304    pub const PASSTHROUGH_HTC: ObjectType = Self(1000317000i32);
3305    #[doc = "XrBodyTrackerHTC"]
3306    pub const BODY_TRACKER_HTC: ObjectType = Self(1000320000i32);
3307    #[doc = "XrBodyTrackerBD"]
3308    pub const BODY_TRACKER_BD: ObjectType = Self(1000385000i32);
3309    #[doc = "XrFaceTrackerBD"]
3310    pub const FACE_TRACKER_BD: ObjectType = Self(1000386000i32);
3311    #[doc = "XrSenseDataProviderBD"]
3312    pub const SENSE_DATA_PROVIDER_BD: ObjectType = Self(1000389000i32);
3313    #[doc = "XrSenseDataSnapshotBD"]
3314    pub const SENSE_DATA_SNAPSHOT_BD: ObjectType = Self(1000389001i32);
3315    #[doc = "XrAnchorBD"]
3316    pub const ANCHOR_BD: ObjectType = Self(1000389002i32);
3317    #[doc = "XrSpatialAudioRendererBD"]
3318    pub const SPATIAL_AUDIO_RENDERER_BD: ObjectType = Self(1000409000i32);
3319    #[doc = "XrSoundFieldBD"]
3320    pub const SOUND_FIELD_BD: ObjectType = Self(1000409001i32);
3321    #[doc = "XrSoundObjectBD"]
3322    pub const SOUND_OBJECT_BD: ObjectType = Self(1000409002i32);
3323    #[doc = "XrSoundObstacleBD"]
3324    pub const SOUND_OBSTACLE_BD: ObjectType = Self(1000409003i32);
3325    #[doc = "XrSoundObstacleMaterialBD"]
3326    pub const SOUND_OBSTACLE_MATERIAL_BD: ObjectType = Self(1000409004i32);
3327    #[doc = "XrPlaneDetectorEXT"]
3328    pub const PLANE_DETECTOR_EXT: ObjectType = Self(1000429000i32);
3329    #[doc = "XrTrackableTrackerANDROID"]
3330    pub const TRACKABLE_TRACKER_ANDROID: ObjectType = Self(1000455001i32);
3331    #[doc = "XrDeviceAnchorPersistenceANDROID"]
3332    pub const DEVICE_ANCHOR_PERSISTENCE_ANDROID: ObjectType = Self(1000457000i32);
3333    #[doc = "XrFaceTrackerANDROID"]
3334    pub const FACE_TRACKER_ANDROID: ObjectType = Self(1000458000i32);
3335    #[doc = "XrPassthroughLayerANDROID"]
3336    pub const PASSTHROUGH_LAYER_ANDROID: ObjectType = Self(1000462000i32);
3337    #[doc = "XrWorldMeshDetectorML"]
3338    pub const WORLD_MESH_DETECTOR_ML: ObjectType = Self(1000474000i32);
3339    #[doc = "XrFacialExpressionClientML"]
3340    pub const FACIAL_EXPRESSION_CLIENT_ML: ObjectType = Self(1000482000i32);
3341    #[doc = "XrEnvironmentRaycasterMETA"]
3342    pub const ENVIRONMENT_RAYCASTER_META: ObjectType = Self(1000592000i32);
3343    #[doc = "XrTrackableImageDatabaseANDROID"]
3344    pub const TRACKABLE_IMAGE_DATABASE_ANDROID: ObjectType = Self(1000709000i32);
3345    #[doc = "XrSceneMeshingTrackerANDROID"]
3346    pub const SCENE_MESHING_TRACKER_ANDROID: ObjectType = Self(1000718000i32);
3347    #[doc = "XrSceneMeshSnapshotANDROID"]
3348    pub const SCENE_MESH_SNAPSHOT_ANDROID: ObjectType = Self(1000718001i32);
3349    #[doc = "XrSpatialEntityEXT"]
3350    pub const SPATIAL_ENTITY_EXT: ObjectType = Self(1000740000i32);
3351    #[doc = "XrSpatialContextEXT"]
3352    pub const SPATIAL_CONTEXT_EXT: ObjectType = Self(1000740001i32);
3353    #[doc = "XrSpatialSnapshotEXT"]
3354    pub const SPATIAL_SNAPSHOT_EXT: ObjectType = Self(1000740002i32);
3355    #[doc = "XrSpatialPersistenceContextEXT"]
3356    pub const SPATIAL_PERSISTENCE_CONTEXT_EXT: ObjectType = Self(1000763000i32);
3357    pub fn from_raw(x: i32) -> Self {
3358        Self(x)
3359    }
3360    pub fn into_raw(self) -> i32 {
3361        self.0
3362    }
3363}
3364impl fmt::Debug for ObjectType {
3365    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3366        let name = match *self {
3367            Self::UNKNOWN => Some("UNKNOWN"),
3368            Self::INSTANCE => Some("INSTANCE"),
3369            Self::SESSION => Some("SESSION"),
3370            Self::SWAPCHAIN => Some("SWAPCHAIN"),
3371            Self::SPACE => Some("SPACE"),
3372            Self::ACTION_SET => Some("ACTION_SET"),
3373            Self::ACTION => Some("ACTION"),
3374            Self::DEBUG_UTILS_MESSENGER_EXT => Some("DEBUG_UTILS_MESSENGER_EXT"),
3375            Self::SPATIAL_ANCHOR_MSFT => Some("SPATIAL_ANCHOR_MSFT"),
3376            Self::SPATIAL_GRAPH_NODE_BINDING_MSFT => Some("SPATIAL_GRAPH_NODE_BINDING_MSFT"),
3377            Self::HAND_TRACKER_EXT => Some("HAND_TRACKER_EXT"),
3378            Self::BODY_TRACKER_FB => Some("BODY_TRACKER_FB"),
3379            Self::SCENE_OBSERVER_MSFT => Some("SCENE_OBSERVER_MSFT"),
3380            Self::SCENE_MSFT => Some("SCENE_MSFT"),
3381            Self::FACIAL_TRACKER_HTC => Some("FACIAL_TRACKER_HTC"),
3382            Self::FOVEATION_PROFILE_FB => Some("FOVEATION_PROFILE_FB"),
3383            Self::TRIANGLE_MESH_FB => Some("TRIANGLE_MESH_FB"),
3384            Self::PASSTHROUGH_FB => Some("PASSTHROUGH_FB"),
3385            Self::PASSTHROUGH_LAYER_FB => Some("PASSTHROUGH_LAYER_FB"),
3386            Self::GEOMETRY_INSTANCE_FB => Some("GEOMETRY_INSTANCE_FB"),
3387            Self::MARKER_DETECTOR_ML => Some("MARKER_DETECTOR_ML"),
3388            Self::EXPORTED_LOCALIZATION_MAP_ML => Some("EXPORTED_LOCALIZATION_MAP_ML"),
3389            Self::SPATIAL_ANCHORS_STORAGE_ML => Some("SPATIAL_ANCHORS_STORAGE_ML"),
3390            Self::SPATIAL_ANCHOR_STORE_CONNECTION_MSFT => {
3391                Some("SPATIAL_ANCHOR_STORE_CONNECTION_MSFT")
3392            }
3393            Self::FACE_TRACKER_FB => Some("FACE_TRACKER_FB"),
3394            Self::EYE_TRACKER_FB => Some("EYE_TRACKER_FB"),
3395            Self::VIRTUAL_KEYBOARD_META => Some("VIRTUAL_KEYBOARD_META"),
3396            Self::SPACE_USER_FB => Some("SPACE_USER_FB"),
3397            Self::PASSTHROUGH_COLOR_LUT_META => Some("PASSTHROUGH_COLOR_LUT_META"),
3398            Self::FACE_TRACKER2_FB => Some("FACE_TRACKER2_FB"),
3399            Self::ENVIRONMENT_DEPTH_PROVIDER_META => Some("ENVIRONMENT_DEPTH_PROVIDER_META"),
3400            Self::ENVIRONMENT_DEPTH_SWAPCHAIN_META => Some("ENVIRONMENT_DEPTH_SWAPCHAIN_META"),
3401            Self::RENDER_MODEL_EXT => Some("RENDER_MODEL_EXT"),
3402            Self::RENDER_MODEL_ASSET_EXT => Some("RENDER_MODEL_ASSET_EXT"),
3403            Self::PASSTHROUGH_HTC => Some("PASSTHROUGH_HTC"),
3404            Self::BODY_TRACKER_HTC => Some("BODY_TRACKER_HTC"),
3405            Self::BODY_TRACKER_BD => Some("BODY_TRACKER_BD"),
3406            Self::FACE_TRACKER_BD => Some("FACE_TRACKER_BD"),
3407            Self::SENSE_DATA_PROVIDER_BD => Some("SENSE_DATA_PROVIDER_BD"),
3408            Self::SENSE_DATA_SNAPSHOT_BD => Some("SENSE_DATA_SNAPSHOT_BD"),
3409            Self::ANCHOR_BD => Some("ANCHOR_BD"),
3410            Self::SPATIAL_AUDIO_RENDERER_BD => Some("SPATIAL_AUDIO_RENDERER_BD"),
3411            Self::SOUND_FIELD_BD => Some("SOUND_FIELD_BD"),
3412            Self::SOUND_OBJECT_BD => Some("SOUND_OBJECT_BD"),
3413            Self::SOUND_OBSTACLE_BD => Some("SOUND_OBSTACLE_BD"),
3414            Self::SOUND_OBSTACLE_MATERIAL_BD => Some("SOUND_OBSTACLE_MATERIAL_BD"),
3415            Self::PLANE_DETECTOR_EXT => Some("PLANE_DETECTOR_EXT"),
3416            Self::TRACKABLE_TRACKER_ANDROID => Some("TRACKABLE_TRACKER_ANDROID"),
3417            Self::DEVICE_ANCHOR_PERSISTENCE_ANDROID => Some("DEVICE_ANCHOR_PERSISTENCE_ANDROID"),
3418            Self::FACE_TRACKER_ANDROID => Some("FACE_TRACKER_ANDROID"),
3419            Self::PASSTHROUGH_LAYER_ANDROID => Some("PASSTHROUGH_LAYER_ANDROID"),
3420            Self::WORLD_MESH_DETECTOR_ML => Some("WORLD_MESH_DETECTOR_ML"),
3421            Self::FACIAL_EXPRESSION_CLIENT_ML => Some("FACIAL_EXPRESSION_CLIENT_ML"),
3422            Self::ENVIRONMENT_RAYCASTER_META => Some("ENVIRONMENT_RAYCASTER_META"),
3423            Self::TRACKABLE_IMAGE_DATABASE_ANDROID => Some("TRACKABLE_IMAGE_DATABASE_ANDROID"),
3424            Self::SCENE_MESHING_TRACKER_ANDROID => Some("SCENE_MESHING_TRACKER_ANDROID"),
3425            Self::SCENE_MESH_SNAPSHOT_ANDROID => Some("SCENE_MESH_SNAPSHOT_ANDROID"),
3426            Self::SPATIAL_ENTITY_EXT => Some("SPATIAL_ENTITY_EXT"),
3427            Self::SPATIAL_CONTEXT_EXT => Some("SPATIAL_CONTEXT_EXT"),
3428            Self::SPATIAL_SNAPSHOT_EXT => Some("SPATIAL_SNAPSHOT_EXT"),
3429            Self::SPATIAL_PERSISTENCE_CONTEXT_EXT => Some("SPATIAL_PERSISTENCE_CONTEXT_EXT"),
3430            _ => None,
3431        };
3432        fmt_enum(fmt, self.0, name)
3433    }
3434}
3435#[doc = "Android Thread Types - see [XrAndroidThreadTypeKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAndroidThreadTypeKHR)"]
3436#[repr(transparent)]
3437#[derive(Copy, Clone, Eq, PartialEq)]
3438pub struct AndroidThreadTypeKHR(i32);
3439impl AndroidThreadTypeKHR {
3440    pub const APPLICATION_MAIN: AndroidThreadTypeKHR = Self(1i32);
3441    pub const APPLICATION_WORKER: AndroidThreadTypeKHR = Self(2i32);
3442    pub const RENDERER_MAIN: AndroidThreadTypeKHR = Self(3i32);
3443    pub const RENDERER_WORKER: AndroidThreadTypeKHR = Self(4i32);
3444    pub fn from_raw(x: i32) -> Self {
3445        Self(x)
3446    }
3447    pub fn into_raw(self) -> i32 {
3448        self.0
3449    }
3450}
3451impl fmt::Debug for AndroidThreadTypeKHR {
3452    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3453        let name = match *self {
3454            Self::APPLICATION_MAIN => Some("APPLICATION_MAIN"),
3455            Self::APPLICATION_WORKER => Some("APPLICATION_WORKER"),
3456            Self::RENDERER_MAIN => Some("RENDERER_MAIN"),
3457            Self::RENDERER_WORKER => Some("RENDERER_WORKER"),
3458            _ => None,
3459        };
3460        fmt_enum(fmt, self.0, name)
3461    }
3462}
3463#[doc = "eye visibility selector - see [XrEyeVisibility](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeVisibility)"]
3464#[repr(transparent)]
3465#[derive(Copy, Clone, Eq, PartialEq, Default)]
3466pub struct EyeVisibility(i32);
3467impl EyeVisibility {
3468    #[doc = "Display in both eyes."]
3469    pub const BOTH: EyeVisibility = Self(0i32);
3470    #[doc = "Display in the left eye only."]
3471    pub const LEFT: EyeVisibility = Self(1i32);
3472    #[doc = "Display in the right eye only."]
3473    pub const RIGHT: EyeVisibility = Self(2i32);
3474    pub fn from_raw(x: i32) -> Self {
3475        Self(x)
3476    }
3477    pub fn into_raw(self) -> i32 {
3478        self.0
3479    }
3480}
3481impl fmt::Debug for EyeVisibility {
3482    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3483        let name = match *self {
3484            Self::BOTH => Some("BOTH"),
3485            Self::LEFT => Some("LEFT"),
3486            Self::RIGHT => Some("RIGHT"),
3487            _ => None,
3488        };
3489        fmt_enum(fmt, self.0, name)
3490    }
3491}
3492#[doc = "See [XrActionType](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionType)"]
3493#[repr(transparent)]
3494#[derive(Copy, Clone, Eq, PartialEq)]
3495pub struct ActionType(i32);
3496impl ActionType {
3497    pub const BOOLEAN_INPUT: ActionType = Self(1i32);
3498    pub const FLOAT_INPUT: ActionType = Self(2i32);
3499    pub const VECTOR2F_INPUT: ActionType = Self(3i32);
3500    pub const POSE_INPUT: ActionType = Self(4i32);
3501    pub const VIBRATION_OUTPUT: ActionType = Self(100i32);
3502    pub fn from_raw(x: i32) -> Self {
3503        Self(x)
3504    }
3505    pub fn into_raw(self) -> i32 {
3506        self.0
3507    }
3508}
3509impl fmt::Debug for ActionType {
3510    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3511        let name = match *self {
3512            Self::BOOLEAN_INPUT => Some("BOOLEAN_INPUT"),
3513            Self::FLOAT_INPUT => Some("FLOAT_INPUT"),
3514            Self::VECTOR2F_INPUT => Some("VECTOR2F_INPUT"),
3515            Self::POSE_INPUT => Some("POSE_INPUT"),
3516            Self::VIBRATION_OUTPUT => Some("VIBRATION_OUTPUT"),
3517            _ => None,
3518        };
3519        fmt_enum(fmt, self.0, name)
3520    }
3521}
3522#[doc = "See [XrReferenceSpaceType](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrReferenceSpaceType)"]
3523#[repr(transparent)]
3524#[derive(Copy, Clone, Eq, PartialEq)]
3525pub struct ReferenceSpaceType(i32);
3526impl ReferenceSpaceType {
3527    pub const VIEW: ReferenceSpaceType = Self(1i32);
3528    pub const LOCAL: ReferenceSpaceType = Self(2i32);
3529    pub const STAGE: ReferenceSpaceType = Self(3i32);
3530    pub const LOCAL_FLOOR: ReferenceSpaceType = Self(1000426000i32);
3531    pub const UNBOUNDED_MSFT: ReferenceSpaceType = Self(1000038000i32);
3532    pub const COMBINED_EYE_VARJO: ReferenceSpaceType = Self(1000121000i32);
3533    pub const LOCALIZATION_MAP_ML: ReferenceSpaceType = Self(1000139000i32);
3534    pub const LOCAL_FLOOR_EXT: ReferenceSpaceType = Self::LOCAL_FLOOR;
3535    pub const UNBOUNDED_ANDROID: ReferenceSpaceType = Self(1000467000i32);
3536    pub fn from_raw(x: i32) -> Self {
3537        Self(x)
3538    }
3539    pub fn into_raw(self) -> i32 {
3540        self.0
3541    }
3542}
3543impl fmt::Debug for ReferenceSpaceType {
3544    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3545        let name = match *self {
3546            Self::VIEW => Some("VIEW"),
3547            Self::LOCAL => Some("LOCAL"),
3548            Self::STAGE => Some("STAGE"),
3549            Self::LOCAL_FLOOR => Some("LOCAL_FLOOR"),
3550            Self::UNBOUNDED_MSFT => Some("UNBOUNDED_MSFT"),
3551            Self::COMBINED_EYE_VARJO => Some("COMBINED_EYE_VARJO"),
3552            Self::LOCALIZATION_MAP_ML => Some("LOCALIZATION_MAP_ML"),
3553            Self::UNBOUNDED_ANDROID => Some("UNBOUNDED_ANDROID"),
3554            _ => None,
3555        };
3556        fmt_enum(fmt, self.0, name)
3557    }
3558}
3559#[doc = "See [XrFormFactor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFormFactor)"]
3560#[repr(transparent)]
3561#[derive(Copy, Clone, Eq, PartialEq)]
3562pub struct FormFactor(i32);
3563impl FormFactor {
3564    pub const HEAD_MOUNTED_DISPLAY: FormFactor = Self(1i32);
3565    pub const HANDHELD_DISPLAY: FormFactor = Self(2i32);
3566    pub fn from_raw(x: i32) -> Self {
3567        Self(x)
3568    }
3569    pub fn into_raw(self) -> i32 {
3570        self.0
3571    }
3572}
3573impl fmt::Debug for FormFactor {
3574    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3575        let name = match *self {
3576            Self::HEAD_MOUNTED_DISPLAY => Some("HEAD_MOUNTED_DISPLAY"),
3577            Self::HANDHELD_DISPLAY => Some("HANDHELD_DISPLAY"),
3578            _ => None,
3579        };
3580        fmt_enum(fmt, self.0, name)
3581    }
3582}
3583#[doc = "See [XrViewConfigurationType](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewConfigurationType)"]
3584#[repr(transparent)]
3585#[derive(Copy, Clone, Eq, PartialEq)]
3586pub struct ViewConfigurationType(i32);
3587impl ViewConfigurationType {
3588    pub const PRIMARY_MONO: ViewConfigurationType = Self(1i32);
3589    pub const PRIMARY_STEREO: ViewConfigurationType = Self(2i32);
3590    pub const PRIMARY_STEREO_WITH_FOVEATED_INSET: ViewConfigurationType = Self(1000037000i32);
3591    pub const PRIMARY_QUAD_VARJO: ViewConfigurationType = Self::PRIMARY_STEREO_WITH_FOVEATED_INSET;
3592    pub const SECONDARY_MONO_FIRST_PERSON_OBSERVER_MSFT: ViewConfigurationType =
3593        Self(1000054000i32);
3594    pub fn from_raw(x: i32) -> Self {
3595        Self(x)
3596    }
3597    pub fn into_raw(self) -> i32 {
3598        self.0
3599    }
3600}
3601impl fmt::Debug for ViewConfigurationType {
3602    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3603        let name = match *self {
3604            Self::PRIMARY_MONO => Some("PRIMARY_MONO"),
3605            Self::PRIMARY_STEREO => Some("PRIMARY_STEREO"),
3606            Self::PRIMARY_STEREO_WITH_FOVEATED_INSET => Some("PRIMARY_STEREO_WITH_FOVEATED_INSET"),
3607            Self::SECONDARY_MONO_FIRST_PERSON_OBSERVER_MSFT => {
3608                Some("SECONDARY_MONO_FIRST_PERSON_OBSERVER_MSFT")
3609            }
3610            _ => None,
3611        };
3612        fmt_enum(fmt, self.0, name)
3613    }
3614}
3615#[doc = "See [XrEnvironmentBlendMode](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentBlendMode)"]
3616#[repr(transparent)]
3617#[derive(Copy, Clone, Eq, PartialEq)]
3618pub struct EnvironmentBlendMode(i32);
3619impl EnvironmentBlendMode {
3620    pub const OPAQUE: EnvironmentBlendMode = Self(1i32);
3621    pub const ADDITIVE: EnvironmentBlendMode = Self(2i32);
3622    pub const ALPHA_BLEND: EnvironmentBlendMode = Self(3i32);
3623    pub fn from_raw(x: i32) -> Self {
3624        Self(x)
3625    }
3626    pub fn into_raw(self) -> i32 {
3627        self.0
3628    }
3629}
3630impl fmt::Debug for EnvironmentBlendMode {
3631    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3632        let name = match *self {
3633            Self::OPAQUE => Some("OPAQUE"),
3634            Self::ADDITIVE => Some("ADDITIVE"),
3635            Self::ALPHA_BLEND => Some("ALPHA_BLEND"),
3636            _ => None,
3637        };
3638        fmt_enum(fmt, self.0, name)
3639    }
3640}
3641#[doc = "See [XrSessionState](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSessionState)"]
3642#[repr(transparent)]
3643#[derive(Copy, Clone, Eq, PartialEq, Default)]
3644pub struct SessionState(i32);
3645impl SessionState {
3646    pub const UNKNOWN: SessionState = Self(0i32);
3647    pub const IDLE: SessionState = Self(1i32);
3648    pub const READY: SessionState = Self(2i32);
3649    pub const SYNCHRONIZED: SessionState = Self(3i32);
3650    pub const VISIBLE: SessionState = Self(4i32);
3651    pub const FOCUSED: SessionState = Self(5i32);
3652    pub const STOPPING: SessionState = Self(6i32);
3653    pub const LOSS_PENDING: SessionState = Self(7i32);
3654    pub const EXITING: SessionState = Self(8i32);
3655    pub fn from_raw(x: i32) -> Self {
3656        Self(x)
3657    }
3658    pub fn into_raw(self) -> i32 {
3659        self.0
3660    }
3661}
3662impl fmt::Debug for SessionState {
3663    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3664        let name = match *self {
3665            Self::UNKNOWN => Some("UNKNOWN"),
3666            Self::IDLE => Some("IDLE"),
3667            Self::READY => Some("READY"),
3668            Self::SYNCHRONIZED => Some("SYNCHRONIZED"),
3669            Self::VISIBLE => Some("VISIBLE"),
3670            Self::FOCUSED => Some("FOCUSED"),
3671            Self::STOPPING => Some("STOPPING"),
3672            Self::LOSS_PENDING => Some("LOSS_PENDING"),
3673            Self::EXITING => Some("EXITING"),
3674            _ => None,
3675        };
3676        fmt_enum(fmt, self.0, name)
3677    }
3678}
3679#[doc = "See [XrPerfSettingsDomainEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerfSettingsDomainEXT)"]
3680#[repr(transparent)]
3681#[derive(Copy, Clone, Eq, PartialEq)]
3682pub struct PerfSettingsDomainEXT(i32);
3683impl PerfSettingsDomainEXT {
3684    #[doc = "Indicates that the performance settings or notification applies to CPU domain"]
3685    pub const CPU: PerfSettingsDomainEXT = Self(1i32);
3686    #[doc = "Indicates that the performance settings or notification applies to GPU domain"]
3687    pub const GPU: PerfSettingsDomainEXT = Self(2i32);
3688    pub fn from_raw(x: i32) -> Self {
3689        Self(x)
3690    }
3691    pub fn into_raw(self) -> i32 {
3692        self.0
3693    }
3694}
3695impl fmt::Debug for PerfSettingsDomainEXT {
3696    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3697        let name = match *self {
3698            Self::CPU => Some("CPU"),
3699            Self::GPU => Some("GPU"),
3700            _ => None,
3701        };
3702        fmt_enum(fmt, self.0, name)
3703    }
3704}
3705#[doc = "See [XrPerfSettingsSubDomainEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerfSettingsSubDomainEXT)"]
3706#[repr(transparent)]
3707#[derive(Copy, Clone, Eq, PartialEq)]
3708pub struct PerfSettingsSubDomainEXT(i32);
3709impl PerfSettingsSubDomainEXT {
3710    #[doc = "Indicates that the performance notification originates from the COMPOSITING sub-domain"]
3711    pub const COMPOSITING: PerfSettingsSubDomainEXT = Self(1i32);
3712    #[doc = "Indicates that the performance notification originates from the RENDERING sub-domain"]
3713    pub const RENDERING: PerfSettingsSubDomainEXT = Self(2i32);
3714    #[doc = "Indicates that the performance notification originates from the THERMAL sub-domain"]
3715    pub const THERMAL: PerfSettingsSubDomainEXT = Self(3i32);
3716    pub fn from_raw(x: i32) -> Self {
3717        Self(x)
3718    }
3719    pub fn into_raw(self) -> i32 {
3720        self.0
3721    }
3722}
3723impl fmt::Debug for PerfSettingsSubDomainEXT {
3724    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3725        let name = match *self {
3726            Self::COMPOSITING => Some("COMPOSITING"),
3727            Self::RENDERING => Some("RENDERING"),
3728            Self::THERMAL => Some("THERMAL"),
3729            _ => None,
3730        };
3731        fmt_enum(fmt, self.0, name)
3732    }
3733}
3734#[doc = "See [XrPerfSettingsLevelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerfSettingsLevelEXT)"]
3735#[repr(transparent)]
3736#[derive(Copy, Clone, Eq, PartialEq, Default)]
3737pub struct PerfSettingsLevelEXT(i32);
3738impl PerfSettingsLevelEXT {
3739    #[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"]
3740    pub const POWER_SAVINGS: PerfSettingsLevelEXT = Self(0i32);
3741    #[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"]
3742    pub const SUSTAINED_LOW: PerfSettingsLevelEXT = Self(25i32);
3743    #[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"]
3744    pub const SUSTAINED_HIGH: PerfSettingsLevelEXT = Self(50i32);
3745    #[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"]
3746    pub const BOOST: PerfSettingsLevelEXT = Self(75i32);
3747    pub fn from_raw(x: i32) -> Self {
3748        Self(x)
3749    }
3750    pub fn into_raw(self) -> i32 {
3751        self.0
3752    }
3753}
3754impl fmt::Debug for PerfSettingsLevelEXT {
3755    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3756        let name = match *self {
3757            Self::POWER_SAVINGS => Some("POWER_SAVINGS"),
3758            Self::SUSTAINED_LOW => Some("SUSTAINED_LOW"),
3759            Self::SUSTAINED_HIGH => Some("SUSTAINED_HIGH"),
3760            Self::BOOST => Some("BOOST"),
3761            _ => None,
3762        };
3763        fmt_enum(fmt, self.0, name)
3764    }
3765}
3766#[doc = "See [XrPerfSettingsNotificationLevelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerfSettingsNotificationLevelEXT)"]
3767#[repr(transparent)]
3768#[derive(Copy, Clone, Eq, PartialEq, Default)]
3769pub struct PerfSettingsNotificationLevelEXT(i32);
3770impl PerfSettingsNotificationLevelEXT {
3771    #[doc = "Notifies that the sub-domain has reached a level where no further actions other than currently applied are necessary"]
3772    pub const NORMAL: PerfSettingsNotificationLevelEXT = Self(0i32);
3773    #[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"]
3774    pub const WARNING: PerfSettingsNotificationLevelEXT = Self(25i32);
3775    #[doc = "Notifies that the sub-domain has reached a critical level with significant performance degradation. The application should take drastic mitigation action"]
3776    pub const IMPAIRED: PerfSettingsNotificationLevelEXT = Self(75i32);
3777    pub fn from_raw(x: i32) -> Self {
3778        Self(x)
3779    }
3780    pub fn into_raw(self) -> i32 {
3781        self.0
3782    }
3783}
3784impl fmt::Debug for PerfSettingsNotificationLevelEXT {
3785    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3786        let name = match *self {
3787            Self::NORMAL => Some("NORMAL"),
3788            Self::WARNING => Some("WARNING"),
3789            Self::IMPAIRED => Some("IMPAIRED"),
3790            _ => None,
3791        };
3792        fmt_enum(fmt, self.0, name)
3793    }
3794}
3795#[doc = "See [XrVisibilityMaskTypeKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVisibilityMaskTypeKHR)"]
3796#[repr(transparent)]
3797#[derive(Copy, Clone, Eq, PartialEq)]
3798pub struct VisibilityMaskTypeKHR(i32);
3799impl VisibilityMaskTypeKHR {
3800    #[doc = "exclusive mesh; indicates that which the viewer cannot see."]
3801    pub const HIDDEN_TRIANGLE_MESH: VisibilityMaskTypeKHR = Self(1i32);
3802    #[doc = "inclusive mesh; indicates strictly that which the viewer can see."]
3803    pub const VISIBLE_TRIANGLE_MESH: VisibilityMaskTypeKHR = Self(2i32);
3804    #[doc = "line loop; traces the outline of the area the viewer can see."]
3805    pub const LINE_LOOP: VisibilityMaskTypeKHR = Self(3i32);
3806    pub fn from_raw(x: i32) -> Self {
3807        Self(x)
3808    }
3809    pub fn into_raw(self) -> i32 {
3810        self.0
3811    }
3812}
3813impl fmt::Debug for VisibilityMaskTypeKHR {
3814    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3815        let name = match *self {
3816            Self::HIDDEN_TRIANGLE_MESH => Some("HIDDEN_TRIANGLE_MESH"),
3817            Self::VISIBLE_TRIANGLE_MESH => Some("VISIBLE_TRIANGLE_MESH"),
3818            Self::LINE_LOOP => Some("LINE_LOOP"),
3819            _ => None,
3820        };
3821        fmt_enum(fmt, self.0, name)
3822    }
3823}
3824#[doc = "See [XrSpatialGraphNodeTypeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialGraphNodeTypeMSFT)"]
3825#[repr(transparent)]
3826#[derive(Copy, Clone, Eq, PartialEq)]
3827pub struct SpatialGraphNodeTypeMSFT(i32);
3828impl SpatialGraphNodeTypeMSFT {
3829    pub const STATIC: SpatialGraphNodeTypeMSFT = Self(1i32);
3830    pub const DYNAMIC: SpatialGraphNodeTypeMSFT = Self(2i32);
3831    pub fn from_raw(x: i32) -> Self {
3832        Self(x)
3833    }
3834    pub fn into_raw(self) -> i32 {
3835        self.0
3836    }
3837}
3838impl fmt::Debug for SpatialGraphNodeTypeMSFT {
3839    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3840        let name = match *self {
3841            Self::STATIC => Some("STATIC"),
3842            Self::DYNAMIC => Some("DYNAMIC"),
3843            _ => None,
3844        };
3845        fmt_enum(fmt, self.0, name)
3846    }
3847}
3848#[doc = "See [XrBlendFactorFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBlendFactorFB)"]
3849#[repr(transparent)]
3850#[derive(Copy, Clone, Eq, PartialEq, Default)]
3851pub struct BlendFactorFB(i32);
3852impl BlendFactorFB {
3853    pub const ZERO: BlendFactorFB = Self(0i32);
3854    pub const ONE: BlendFactorFB = Self(1i32);
3855    pub const SRC_ALPHA: BlendFactorFB = Self(2i32);
3856    pub const ONE_MINUS_SRC_ALPHA: BlendFactorFB = Self(3i32);
3857    pub const DST_ALPHA: BlendFactorFB = Self(4i32);
3858    pub const ONE_MINUS_DST_ALPHA: BlendFactorFB = Self(5i32);
3859    pub fn from_raw(x: i32) -> Self {
3860        Self(x)
3861    }
3862    pub fn into_raw(self) -> i32 {
3863        self.0
3864    }
3865}
3866impl fmt::Debug for BlendFactorFB {
3867    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3868        let name = match *self {
3869            Self::ZERO => Some("ZERO"),
3870            Self::ONE => Some("ONE"),
3871            Self::SRC_ALPHA => Some("SRC_ALPHA"),
3872            Self::ONE_MINUS_SRC_ALPHA => Some("ONE_MINUS_SRC_ALPHA"),
3873            Self::DST_ALPHA => Some("DST_ALPHA"),
3874            Self::ONE_MINUS_DST_ALPHA => Some("ONE_MINUS_DST_ALPHA"),
3875            _ => None,
3876        };
3877        fmt_enum(fmt, self.0, name)
3878    }
3879}
3880#[doc = "See [XrSpaceComponentTypeFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceComponentTypeFB)"]
3881#[repr(transparent)]
3882#[derive(Copy, Clone, Eq, PartialEq, Default)]
3883pub struct SpaceComponentTypeFB(i32);
3884impl SpaceComponentTypeFB {
3885    #[doc = "Enables tracking the 6 DOF pose of the XrSpace with xrLocateSpace."]
3886    pub const LOCATABLE: SpaceComponentTypeFB = Self(0i32);
3887    #[doc = "Enables persistence operations: save and erase."]
3888    pub const STORABLE: SpaceComponentTypeFB = Self(1i32);
3889    #[doc = "Enables sharing of spatial entities."]
3890    pub const SHARABLE: SpaceComponentTypeFB = Self(2i32);
3891    #[doc = "Bounded 2D component."]
3892    pub const BOUNDED_2D: SpaceComponentTypeFB = Self(3i32);
3893    #[doc = "Bounded 3D component."]
3894    pub const BOUNDED_3D: SpaceComponentTypeFB = Self(4i32);
3895    #[doc = "Semantic labels component."]
3896    pub const SEMANTIC_LABELS: SpaceComponentTypeFB = Self(5i32);
3897    #[doc = "Room layout component."]
3898    pub const ROOM_LAYOUT: SpaceComponentTypeFB = Self(6i32);
3899    #[doc = "Space container component."]
3900    pub const SPACE_CONTAINER: SpaceComponentTypeFB = Self(7i32);
3901    #[doc = "Triangle mesh component."]
3902    pub const TRIANGLE_MESH_M: SpaceComponentTypeFB = Self(1000269000i32);
3903    pub fn from_raw(x: i32) -> Self {
3904        Self(x)
3905    }
3906    pub fn into_raw(self) -> i32 {
3907        self.0
3908    }
3909}
3910impl fmt::Debug for SpaceComponentTypeFB {
3911    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3912        let name = match *self {
3913            Self::LOCATABLE => Some("LOCATABLE"),
3914            Self::STORABLE => Some("STORABLE"),
3915            Self::SHARABLE => Some("SHARABLE"),
3916            Self::BOUNDED_2D => Some("BOUNDED_2D"),
3917            Self::BOUNDED_3D => Some("BOUNDED_3D"),
3918            Self::SEMANTIC_LABELS => Some("SEMANTIC_LABELS"),
3919            Self::ROOM_LAYOUT => Some("ROOM_LAYOUT"),
3920            Self::SPACE_CONTAINER => Some("SPACE_CONTAINER"),
3921            Self::TRIANGLE_MESH_M => Some("TRIANGLE_MESH_M"),
3922            _ => None,
3923        };
3924        fmt_enum(fmt, self.0, name)
3925    }
3926}
3927#[doc = "See [XrWindingOrderFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWindingOrderFB)"]
3928#[repr(transparent)]
3929#[derive(Copy, Clone, Eq, PartialEq, Default)]
3930pub struct WindingOrderFB(i32);
3931impl WindingOrderFB {
3932    #[doc = "Winding order is unknown and the runtime cannot make any assumptions on the triangle orientation"]
3933    pub const UNKNOWN: WindingOrderFB = Self(0i32);
3934    #[doc = "Clockwise winding order"]
3935    pub const CW: WindingOrderFB = Self(1i32);
3936    #[doc = "Counter-clockwise winding order"]
3937    pub const CCW: WindingOrderFB = Self(2i32);
3938    pub fn from_raw(x: i32) -> Self {
3939        Self(x)
3940    }
3941    pub fn into_raw(self) -> i32 {
3942        self.0
3943    }
3944}
3945impl fmt::Debug for WindingOrderFB {
3946    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3947        let name = match *self {
3948            Self::UNKNOWN => Some("UNKNOWN"),
3949            Self::CW => Some("CW"),
3950            Self::CCW => Some("CCW"),
3951            _ => None,
3952        };
3953        fmt_enum(fmt, self.0, name)
3954    }
3955}
3956#[doc = "See [XrPassthroughLayerPurposeFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughLayerPurposeFB)"]
3957#[repr(transparent)]
3958#[derive(Copy, Clone, Eq, PartialEq, Default)]
3959pub struct PassthroughLayerPurposeFB(i32);
3960impl PassthroughLayerPurposeFB {
3961    #[doc = "Reconstruction passthrough (full screen environment)"]
3962    pub const RECONSTRUCTION: PassthroughLayerPurposeFB = Self(0i32);
3963    #[doc = "Projected passthrough (using a custom surface)"]
3964    pub const PROJECTED: PassthroughLayerPurposeFB = Self(1i32);
3965    #[doc = "Passthrough layer purpose for keyboard hands presence."]
3966    pub const TRACKED_KEYBOARD_HANDS: PassthroughLayerPurposeFB = Self(1000203001i32);
3967    #[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)."]
3968    pub const TRACKED_KEYBOARD_MASKED_HANDS: PassthroughLayerPurposeFB = Self(1000203002i32);
3969    pub fn from_raw(x: i32) -> Self {
3970        Self(x)
3971    }
3972    pub fn into_raw(self) -> i32 {
3973        self.0
3974    }
3975}
3976impl fmt::Debug for PassthroughLayerPurposeFB {
3977    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3978        let name = match *self {
3979            Self::RECONSTRUCTION => Some("RECONSTRUCTION"),
3980            Self::PROJECTED => Some("PROJECTED"),
3981            Self::TRACKED_KEYBOARD_HANDS => Some("TRACKED_KEYBOARD_HANDS"),
3982            Self::TRACKED_KEYBOARD_MASKED_HANDS => Some("TRACKED_KEYBOARD_MASKED_HANDS"),
3983            _ => None,
3984        };
3985        fmt_enum(fmt, self.0, name)
3986    }
3987}
3988#[doc = "See [XrSpaceQueryActionFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceQueryActionFB)"]
3989#[repr(transparent)]
3990#[derive(Copy, Clone, Eq, PartialEq, Default)]
3991pub struct SpaceQueryActionFB(i32);
3992impl SpaceQueryActionFB {
3993    #[doc = "Tells the query to perform a load operation on any XrSpace returned by the query."]
3994    pub const LOAD: SpaceQueryActionFB = Self(0i32);
3995    pub fn from_raw(x: i32) -> Self {
3996        Self(x)
3997    }
3998    pub fn into_raw(self) -> i32 {
3999        self.0
4000    }
4001}
4002impl fmt::Debug for SpaceQueryActionFB {
4003    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4004        let name = match *self {
4005            Self::LOAD => Some("LOAD"),
4006            _ => None,
4007        };
4008        fmt_enum(fmt, self.0, name)
4009    }
4010}
4011#[doc = "See [XrSpaceStorageLocationFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceStorageLocationFB)"]
4012#[repr(transparent)]
4013#[derive(Copy, Clone, Eq, PartialEq, Default)]
4014pub struct SpaceStorageLocationFB(i32);
4015impl SpaceStorageLocationFB {
4016    #[doc = "Invalid storage location"]
4017    pub const INVALID: SpaceStorageLocationFB = Self(0i32);
4018    #[doc = "Local device storage"]
4019    pub const LOCAL: SpaceStorageLocationFB = Self(1i32);
4020    #[doc = "Cloud storage"]
4021    pub const CLOUD: SpaceStorageLocationFB = Self(2i32);
4022    pub fn from_raw(x: i32) -> Self {
4023        Self(x)
4024    }
4025    pub fn into_raw(self) -> i32 {
4026        self.0
4027    }
4028}
4029impl fmt::Debug for SpaceStorageLocationFB {
4030    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4031        let name = match *self {
4032            Self::INVALID => Some("INVALID"),
4033            Self::LOCAL => Some("LOCAL"),
4034            Self::CLOUD => Some("CLOUD"),
4035            _ => None,
4036        };
4037        fmt_enum(fmt, self.0, name)
4038    }
4039}
4040#[doc = "See [XrSpacePersistenceModeFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpacePersistenceModeFB)"]
4041#[repr(transparent)]
4042#[derive(Copy, Clone, Eq, PartialEq, Default)]
4043pub struct SpacePersistenceModeFB(i32);
4044impl SpacePersistenceModeFB {
4045    #[doc = "Invalid storage persistence"]
4046    pub const INVALID: SpacePersistenceModeFB = Self(0i32);
4047    #[doc = "Store XrSpace indefinitely, or until erased"]
4048    pub const INDEFINITE: SpacePersistenceModeFB = Self(1i32);
4049    pub fn from_raw(x: i32) -> Self {
4050        Self(x)
4051    }
4052    pub fn into_raw(self) -> i32 {
4053        self.0
4054    }
4055}
4056impl fmt::Debug for SpacePersistenceModeFB {
4057    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4058        let name = match *self {
4059            Self::INVALID => Some("INVALID"),
4060            Self::INDEFINITE => Some("INDEFINITE"),
4061            _ => None,
4062        };
4063        fmt_enum(fmt, self.0, name)
4064    }
4065}
4066#[doc = "See [XrSemanticLabelMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSemanticLabelMETA)"]
4067#[repr(transparent)]
4068#[derive(Copy, Clone, Eq, PartialEq, Default)]
4069pub struct SemanticLabelMETA(i32);
4070impl SemanticLabelMETA {
4071    #[doc = "Unknown. This is a valid label that is used when the runtime is not able to classify the entity using another label, or when the application does not recognize the label."]
4072    pub const UNKNOWN: SemanticLabelMETA = Self(0i32);
4073    #[doc = "Floor of a room or space."]
4074    pub const FLOOR: SemanticLabelMETA = Self(1i32);
4075    #[doc = "Ceiling of a room or space."]
4076    pub const CEILING: SemanticLabelMETA = Self(2i32);
4077    #[doc = "Wall face of a room or space. Wall faces, along with invisible wall faces, are used to define the outer boundary of a room."]
4078    pub const WALL_FACE: SemanticLabelMETA = Self(3i32);
4079    #[doc = "Inner wall face, which is a wall face that exists inside a room and is not connected to the outer boundary of the room. For example, a pillar that exists at the center of a room may: be represented by using four inner wall faces."]
4080    pub const INNER_WALL_FACE: SemanticLabelMETA = Self(4i32);
4081    #[doc = "Invisible wall face, which is 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)."]
4082    pub const INVISIBLE_WALL_FACE: SemanticLabelMETA = Self(5i32);
4083    #[doc = "Door frame, which usually exists on a wall face."]
4084    pub const DOOR_FRAME: SemanticLabelMETA = Self(6i32);
4085    #[doc = "Window frame, which usually exists on a wall face."]
4086    pub const WINDOW_FRAME: SemanticLabelMETA = Self(7i32);
4087    pub fn from_raw(x: i32) -> Self {
4088        Self(x)
4089    }
4090    pub fn into_raw(self) -> i32 {
4091        self.0
4092    }
4093}
4094impl fmt::Debug for SemanticLabelMETA {
4095    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4096        let name = match *self {
4097            Self::UNKNOWN => Some("UNKNOWN"),
4098            Self::FLOOR => Some("FLOOR"),
4099            Self::CEILING => Some("CEILING"),
4100            Self::WALL_FACE => Some("WALL_FACE"),
4101            Self::INNER_WALL_FACE => Some("INNER_WALL_FACE"),
4102            Self::INVISIBLE_WALL_FACE => Some("INVISIBLE_WALL_FACE"),
4103            Self::DOOR_FRAME => Some("DOOR_FRAME"),
4104            Self::WINDOW_FRAME => Some("WINDOW_FRAME"),
4105            _ => None,
4106        };
4107        fmt_enum(fmt, self.0, name)
4108    }
4109}
4110#[doc = "See [XrExternalCameraAttachedToDeviceOCULUS](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExternalCameraAttachedToDeviceOCULUS)"]
4111#[repr(transparent)]
4112#[derive(Copy, Clone, Eq, PartialEq, Default)]
4113pub struct ExternalCameraAttachedToDeviceOCULUS(i32);
4114impl ExternalCameraAttachedToDeviceOCULUS {
4115    #[doc = "External camera is at a fixed point in LOCAL space"]
4116    pub const NONE: ExternalCameraAttachedToDeviceOCULUS = Self(0i32);
4117    #[doc = "External camera is attached to the HMD"]
4118    pub const HMD: ExternalCameraAttachedToDeviceOCULUS = Self(1i32);
4119    #[doc = "External camera is attached to a left Touch controller"]
4120    pub const LTOUCH: ExternalCameraAttachedToDeviceOCULUS = Self(2i32);
4121    #[doc = "External camera is attached to a right Touch controller"]
4122    pub const RTOUCH: ExternalCameraAttachedToDeviceOCULUS = Self(3i32);
4123    pub fn from_raw(x: i32) -> Self {
4124        Self(x)
4125    }
4126    pub fn into_raw(self) -> i32 {
4127        self.0
4128    }
4129}
4130impl fmt::Debug for ExternalCameraAttachedToDeviceOCULUS {
4131    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4132        let name = match *self {
4133            Self::NONE => Some("NONE"),
4134            Self::HMD => Some("HMD"),
4135            Self::LTOUCH => Some("LTOUCH"),
4136            Self::RTOUCH => Some("RTOUCH"),
4137            _ => None,
4138        };
4139        fmt_enum(fmt, self.0, name)
4140    }
4141}
4142#[doc = "See [XrPassthroughColorLutChannelsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorLutChannelsMETA)"]
4143#[repr(transparent)]
4144#[derive(Copy, Clone, Eq, PartialEq)]
4145pub struct PassthroughColorLutChannelsMETA(i32);
4146impl PassthroughColorLutChannelsMETA {
4147    pub const RGB: PassthroughColorLutChannelsMETA = Self(1i32);
4148    pub const RGBA: PassthroughColorLutChannelsMETA = Self(2i32);
4149    pub fn from_raw(x: i32) -> Self {
4150        Self(x)
4151    }
4152    pub fn into_raw(self) -> i32 {
4153        self.0
4154    }
4155}
4156impl fmt::Debug for PassthroughColorLutChannelsMETA {
4157    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4158        let name = match *self {
4159            Self::RGB => Some("RGB"),
4160            Self::RGBA => Some("RGBA"),
4161            _ => None,
4162        };
4163        fmt_enum(fmt, self.0, name)
4164    }
4165}
4166#[doc = "See [XrPerformanceMetricsCounterUnitMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerformanceMetricsCounterUnitMETA)"]
4167#[repr(transparent)]
4168#[derive(Copy, Clone, Eq, PartialEq, Default)]
4169pub struct PerformanceMetricsCounterUnitMETA(i32);
4170impl PerformanceMetricsCounterUnitMETA {
4171    #[doc = "the performance counter unit is generic (unspecified)."]
4172    pub const GENERIC: PerformanceMetricsCounterUnitMETA = Self(0i32);
4173    #[doc = "the performance counter unit is percentage (%)."]
4174    pub const PERCENTAGE: PerformanceMetricsCounterUnitMETA = Self(1i32);
4175    #[doc = "the performance counter unit is millisecond."]
4176    pub const MILLISECONDS: PerformanceMetricsCounterUnitMETA = Self(2i32);
4177    #[doc = "the performance counter unit is byte."]
4178    pub const BYTES: PerformanceMetricsCounterUnitMETA = Self(3i32);
4179    #[doc = "the performance counter unit is hertz (Hz)."]
4180    pub const HERTZ: PerformanceMetricsCounterUnitMETA = Self(4i32);
4181    pub fn from_raw(x: i32) -> Self {
4182        Self(x)
4183    }
4184    pub fn into_raw(self) -> i32 {
4185        self.0
4186    }
4187}
4188impl fmt::Debug for PerformanceMetricsCounterUnitMETA {
4189    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4190        let name = match *self {
4191            Self::GENERIC => Some("GENERIC"),
4192            Self::PERCENTAGE => Some("PERCENTAGE"),
4193            Self::MILLISECONDS => Some("MILLISECONDS"),
4194            Self::BYTES => Some("BYTES"),
4195            Self::HERTZ => Some("HERTZ"),
4196            _ => None,
4197        };
4198        fmt_enum(fmt, self.0, name)
4199    }
4200}
4201#[doc = "See [XrFacialTrackingTypeHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialTrackingTypeHTC)"]
4202#[repr(transparent)]
4203#[derive(Copy, Clone, Eq, PartialEq)]
4204pub struct FacialTrackingTypeHTC(i32);
4205impl FacialTrackingTypeHTC {
4206    #[doc = "Specifies this handle will observe eye expressions, with values indexed by XrEyeExpressionHTC whose count is XR_FACIAL_EXPRESSION_EYE_COUNT_HTC."]
4207    pub const EYE_DEFAULT: FacialTrackingTypeHTC = Self(1i32);
4208    #[doc = "Specifies this handle will observe lip expressions, with values indexed by XrLipExpressionHTC whose count is XR_FACIAL_EXPRESSION_LIP_COUNT_HTC."]
4209    pub const LIP_DEFAULT: FacialTrackingTypeHTC = Self(2i32);
4210    pub fn from_raw(x: i32) -> Self {
4211        Self(x)
4212    }
4213    pub fn into_raw(self) -> i32 {
4214        self.0
4215    }
4216}
4217impl fmt::Debug for FacialTrackingTypeHTC {
4218    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4219        let name = match *self {
4220            Self::EYE_DEFAULT => Some("EYE_DEFAULT"),
4221            Self::LIP_DEFAULT => Some("LIP_DEFAULT"),
4222            _ => None,
4223        };
4224        fmt_enum(fmt, self.0, name)
4225    }
4226}
4227#[doc = "See [XrEyeExpressionHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeExpressionHTC)"]
4228#[repr(transparent)]
4229#[derive(Copy, Clone, Eq, PartialEq, Default)]
4230pub struct EyeExpressionHTC(i32);
4231impl EyeExpressionHTC {
4232    pub const LEFT_BLINK: EyeExpressionHTC = Self(0i32);
4233    pub const LEFT_WIDE: EyeExpressionHTC = Self(1i32);
4234    pub const RIGHT_BLINK: EyeExpressionHTC = Self(2i32);
4235    pub const RIGHT_WIDE: EyeExpressionHTC = Self(3i32);
4236    pub const LEFT_SQUEEZE: EyeExpressionHTC = Self(4i32);
4237    pub const RIGHT_SQUEEZE: EyeExpressionHTC = Self(5i32);
4238    pub const LEFT_DOWN: EyeExpressionHTC = Self(6i32);
4239    pub const RIGHT_DOWN: EyeExpressionHTC = Self(7i32);
4240    pub const LEFT_OUT: EyeExpressionHTC = Self(8i32);
4241    pub const RIGHT_IN: EyeExpressionHTC = Self(9i32);
4242    pub const LEFT_IN: EyeExpressionHTC = Self(10i32);
4243    pub const RIGHT_OUT: EyeExpressionHTC = Self(11i32);
4244    pub const LEFT_UP: EyeExpressionHTC = Self(12i32);
4245    pub const RIGHT_UP: EyeExpressionHTC = Self(13i32);
4246    pub fn from_raw(x: i32) -> Self {
4247        Self(x)
4248    }
4249    pub fn into_raw(self) -> i32 {
4250        self.0
4251    }
4252}
4253impl fmt::Debug for EyeExpressionHTC {
4254    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4255        let name = match *self {
4256            Self::LEFT_BLINK => Some("LEFT_BLINK"),
4257            Self::LEFT_WIDE => Some("LEFT_WIDE"),
4258            Self::RIGHT_BLINK => Some("RIGHT_BLINK"),
4259            Self::RIGHT_WIDE => Some("RIGHT_WIDE"),
4260            Self::LEFT_SQUEEZE => Some("LEFT_SQUEEZE"),
4261            Self::RIGHT_SQUEEZE => Some("RIGHT_SQUEEZE"),
4262            Self::LEFT_DOWN => Some("LEFT_DOWN"),
4263            Self::RIGHT_DOWN => Some("RIGHT_DOWN"),
4264            Self::LEFT_OUT => Some("LEFT_OUT"),
4265            Self::RIGHT_IN => Some("RIGHT_IN"),
4266            Self::LEFT_IN => Some("LEFT_IN"),
4267            Self::RIGHT_OUT => Some("RIGHT_OUT"),
4268            Self::LEFT_UP => Some("LEFT_UP"),
4269            Self::RIGHT_UP => Some("RIGHT_UP"),
4270            _ => None,
4271        };
4272        fmt_enum(fmt, self.0, name)
4273    }
4274}
4275#[doc = "See [XrLipExpressionHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLipExpressionHTC)"]
4276#[repr(transparent)]
4277#[derive(Copy, Clone, Eq, PartialEq, Default)]
4278pub struct LipExpressionHTC(i32);
4279impl LipExpressionHTC {
4280    pub const JAW_RIGHT: LipExpressionHTC = Self(0i32);
4281    pub const JAW_LEFT: LipExpressionHTC = Self(1i32);
4282    pub const JAW_FORWARD: LipExpressionHTC = Self(2i32);
4283    pub const JAW_OPEN: LipExpressionHTC = Self(3i32);
4284    pub const MOUTH_APE_SHAPE: LipExpressionHTC = Self(4i32);
4285    pub const MOUTH_UPPER_RIGHT: LipExpressionHTC = Self(5i32);
4286    pub const MOUTH_UPPER_LEFT: LipExpressionHTC = Self(6i32);
4287    pub const MOUTH_LOWER_RIGHT: LipExpressionHTC = Self(7i32);
4288    pub const MOUTH_LOWER_LEFT: LipExpressionHTC = Self(8i32);
4289    pub const MOUTH_UPPER_OVERTURN: LipExpressionHTC = Self(9i32);
4290    pub const MOUTH_LOWER_OVERTURN: LipExpressionHTC = Self(10i32);
4291    pub const MOUTH_POUT: LipExpressionHTC = Self(11i32);
4292    pub const MOUTH_RAISER_RIGHT: LipExpressionHTC = Self(12i32);
4293    pub const MOUTH_RAISER_LEFT: LipExpressionHTC = Self(13i32);
4294    pub const MOUTH_STRETCHER_RIGHT: LipExpressionHTC = Self(14i32);
4295    pub const MOUTH_STRETCHER_LEFT: LipExpressionHTC = Self(15i32);
4296    pub const CHEEK_PUFF_RIGHT: LipExpressionHTC = Self(16i32);
4297    pub const CHEEK_PUFF_LEFT: LipExpressionHTC = Self(17i32);
4298    pub const CHEEK_SUCK: LipExpressionHTC = Self(18i32);
4299    pub const MOUTH_UPPER_UPRIGHT: LipExpressionHTC = Self(19i32);
4300    pub const MOUTH_UPPER_UPLEFT: LipExpressionHTC = Self(20i32);
4301    pub const MOUTH_LOWER_DOWNRIGHT: LipExpressionHTC = Self(21i32);
4302    pub const MOUTH_LOWER_DOWNLEFT: LipExpressionHTC = Self(22i32);
4303    pub const MOUTH_UPPER_INSIDE: LipExpressionHTC = Self(23i32);
4304    pub const MOUTH_LOWER_INSIDE: LipExpressionHTC = Self(24i32);
4305    pub const MOUTH_LOWER_OVERLAY: LipExpressionHTC = Self(25i32);
4306    pub const TONGUE_LONGSTEP1: LipExpressionHTC = Self(26i32);
4307    pub const TONGUE_LEFT: LipExpressionHTC = Self(27i32);
4308    pub const TONGUE_RIGHT: LipExpressionHTC = Self(28i32);
4309    pub const TONGUE_UP: LipExpressionHTC = Self(29i32);
4310    pub const TONGUE_DOWN: LipExpressionHTC = Self(30i32);
4311    pub const TONGUE_ROLL: LipExpressionHTC = Self(31i32);
4312    pub const TONGUE_LONGSTEP2: LipExpressionHTC = Self(32i32);
4313    pub const TONGUE_UPRIGHT_MORPH: LipExpressionHTC = Self(33i32);
4314    pub const TONGUE_UPLEFT_MORPH: LipExpressionHTC = Self(34i32);
4315    pub const TONGUE_DOWNRIGHT_MORPH: LipExpressionHTC = Self(35i32);
4316    pub const TONGUE_DOWNLEFT_MORPH: LipExpressionHTC = Self(36i32);
4317    #[doc = "Backward-compatibility alias for deprecated name."]
4318    pub const MOUTH_SMILE_RIGHT: LipExpressionHTC = Self::MOUTH_RAISER_RIGHT;
4319    #[doc = "Backward-compatibility alias for deprecated name."]
4320    pub const MOUTH_SMILE_LEFT: LipExpressionHTC = Self::MOUTH_RAISER_LEFT;
4321    #[doc = "Backward-compatibility alias for deprecated name."]
4322    pub const MOUTH_SAD_RIGHT: LipExpressionHTC = Self::MOUTH_STRETCHER_RIGHT;
4323    #[doc = "Backward-compatibility alias for deprecated name."]
4324    pub const MOUTH_SAD_LEFT: LipExpressionHTC = Self::MOUTH_STRETCHER_LEFT;
4325    pub fn from_raw(x: i32) -> Self {
4326        Self(x)
4327    }
4328    pub fn into_raw(self) -> i32 {
4329        self.0
4330    }
4331}
4332impl fmt::Debug for LipExpressionHTC {
4333    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4334        let name = match *self {
4335            Self::JAW_RIGHT => Some("JAW_RIGHT"),
4336            Self::JAW_LEFT => Some("JAW_LEFT"),
4337            Self::JAW_FORWARD => Some("JAW_FORWARD"),
4338            Self::JAW_OPEN => Some("JAW_OPEN"),
4339            Self::MOUTH_APE_SHAPE => Some("MOUTH_APE_SHAPE"),
4340            Self::MOUTH_UPPER_RIGHT => Some("MOUTH_UPPER_RIGHT"),
4341            Self::MOUTH_UPPER_LEFT => Some("MOUTH_UPPER_LEFT"),
4342            Self::MOUTH_LOWER_RIGHT => Some("MOUTH_LOWER_RIGHT"),
4343            Self::MOUTH_LOWER_LEFT => Some("MOUTH_LOWER_LEFT"),
4344            Self::MOUTH_UPPER_OVERTURN => Some("MOUTH_UPPER_OVERTURN"),
4345            Self::MOUTH_LOWER_OVERTURN => Some("MOUTH_LOWER_OVERTURN"),
4346            Self::MOUTH_POUT => Some("MOUTH_POUT"),
4347            Self::MOUTH_RAISER_RIGHT => Some("MOUTH_RAISER_RIGHT"),
4348            Self::MOUTH_RAISER_LEFT => Some("MOUTH_RAISER_LEFT"),
4349            Self::MOUTH_STRETCHER_RIGHT => Some("MOUTH_STRETCHER_RIGHT"),
4350            Self::MOUTH_STRETCHER_LEFT => Some("MOUTH_STRETCHER_LEFT"),
4351            Self::CHEEK_PUFF_RIGHT => Some("CHEEK_PUFF_RIGHT"),
4352            Self::CHEEK_PUFF_LEFT => Some("CHEEK_PUFF_LEFT"),
4353            Self::CHEEK_SUCK => Some("CHEEK_SUCK"),
4354            Self::MOUTH_UPPER_UPRIGHT => Some("MOUTH_UPPER_UPRIGHT"),
4355            Self::MOUTH_UPPER_UPLEFT => Some("MOUTH_UPPER_UPLEFT"),
4356            Self::MOUTH_LOWER_DOWNRIGHT => Some("MOUTH_LOWER_DOWNRIGHT"),
4357            Self::MOUTH_LOWER_DOWNLEFT => Some("MOUTH_LOWER_DOWNLEFT"),
4358            Self::MOUTH_UPPER_INSIDE => Some("MOUTH_UPPER_INSIDE"),
4359            Self::MOUTH_LOWER_INSIDE => Some("MOUTH_LOWER_INSIDE"),
4360            Self::MOUTH_LOWER_OVERLAY => Some("MOUTH_LOWER_OVERLAY"),
4361            Self::TONGUE_LONGSTEP1 => Some("TONGUE_LONGSTEP1"),
4362            Self::TONGUE_LEFT => Some("TONGUE_LEFT"),
4363            Self::TONGUE_RIGHT => Some("TONGUE_RIGHT"),
4364            Self::TONGUE_UP => Some("TONGUE_UP"),
4365            Self::TONGUE_DOWN => Some("TONGUE_DOWN"),
4366            Self::TONGUE_ROLL => Some("TONGUE_ROLL"),
4367            Self::TONGUE_LONGSTEP2 => Some("TONGUE_LONGSTEP2"),
4368            Self::TONGUE_UPRIGHT_MORPH => Some("TONGUE_UPRIGHT_MORPH"),
4369            Self::TONGUE_UPLEFT_MORPH => Some("TONGUE_UPLEFT_MORPH"),
4370            Self::TONGUE_DOWNRIGHT_MORPH => Some("TONGUE_DOWNRIGHT_MORPH"),
4371            Self::TONGUE_DOWNLEFT_MORPH => Some("TONGUE_DOWNLEFT_MORPH"),
4372            _ => None,
4373        };
4374        fmt_enum(fmt, self.0, name)
4375    }
4376}
4377#[doc = "See [XrPassthroughFormHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughFormHTC)"]
4378#[repr(transparent)]
4379#[derive(Copy, Clone, Eq, PartialEq, Default)]
4380pub struct PassthroughFormHTC(i32);
4381impl PassthroughFormHTC {
4382    #[doc = "Presents the passthrough with full of the entire screen."]
4383    pub const PLANAR: PassthroughFormHTC = Self(0i32);
4384    #[doc = "Presents the passthrough projecting onto a custom mesh."]
4385    pub const PROJECTED: PassthroughFormHTC = Self(1i32);
4386    pub fn from_raw(x: i32) -> Self {
4387        Self(x)
4388    }
4389    pub fn into_raw(self) -> i32 {
4390        self.0
4391    }
4392}
4393impl fmt::Debug for PassthroughFormHTC {
4394    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4395        let name = match *self {
4396            Self::PLANAR => Some("PLANAR"),
4397            Self::PROJECTED => Some("PROJECTED"),
4398            _ => None,
4399        };
4400        fmt_enum(fmt, self.0, name)
4401    }
4402}
4403#[doc = "See [XrFoveationModeHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationModeHTC)"]
4404#[repr(transparent)]
4405#[derive(Copy, Clone, Eq, PartialEq, Default)]
4406pub struct FoveationModeHTC(i32);
4407impl FoveationModeHTC {
4408    #[doc = "No foveation"]
4409    pub const DISABLE: FoveationModeHTC = Self(0i32);
4410    #[doc = "Apply system default setting with fixed clear FOV and periphery quality."]
4411    pub const FIXED: FoveationModeHTC = Self(1i32);
4412    #[doc = "Allow system to set foveation dynamically according realtime system metric or other extensions."]
4413    pub const DYNAMIC: FoveationModeHTC = Self(2i32);
4414    #[doc = "Allow application to set foveation with desired clear FOV, periphery quality, and focal center offset."]
4415    pub const CUSTOM: FoveationModeHTC = Self(3i32);
4416    pub fn from_raw(x: i32) -> Self {
4417        Self(x)
4418    }
4419    pub fn into_raw(self) -> i32 {
4420        self.0
4421    }
4422}
4423impl fmt::Debug for FoveationModeHTC {
4424    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4425        let name = match *self {
4426            Self::DISABLE => Some("DISABLE"),
4427            Self::FIXED => Some("FIXED"),
4428            Self::DYNAMIC => Some("DYNAMIC"),
4429            Self::CUSTOM => Some("CUSTOM"),
4430            _ => None,
4431        };
4432        fmt_enum(fmt, self.0, name)
4433    }
4434}
4435#[doc = "See [XrFoveationLevelHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationLevelHTC)"]
4436#[repr(transparent)]
4437#[derive(Copy, Clone, Eq, PartialEq, Default)]
4438pub struct FoveationLevelHTC(i32);
4439impl FoveationLevelHTC {
4440    #[doc = "No foveation"]
4441    pub const NONE: FoveationLevelHTC = Self(0i32);
4442    #[doc = "Light periphery pixel density drop and lower performance gain."]
4443    pub const LOW: FoveationLevelHTC = Self(1i32);
4444    #[doc = "Medium periphery pixel density drop and medium performance gain"]
4445    pub const MEDIUM: FoveationLevelHTC = Self(2i32);
4446    #[doc = "Heavy periphery pixel density drop and higher performance gain"]
4447    pub const HIGH: FoveationLevelHTC = Self(3i32);
4448    pub fn from_raw(x: i32) -> Self {
4449        Self(x)
4450    }
4451    pub fn into_raw(self) -> i32 {
4452        self.0
4453    }
4454}
4455impl fmt::Debug for FoveationLevelHTC {
4456    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4457        let name = match *self {
4458            Self::NONE => Some("NONE"),
4459            Self::LOW => Some("LOW"),
4460            Self::MEDIUM => Some("MEDIUM"),
4461            Self::HIGH => Some("HIGH"),
4462            _ => None,
4463        };
4464        fmt_enum(fmt, self.0, name)
4465    }
4466}
4467#[doc = "See [XrFaceParameterIndicesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceParameterIndicesANDROID)"]
4468#[repr(transparent)]
4469#[derive(Copy, Clone, Eq, PartialEq, Default)]
4470pub struct FaceParameterIndicesANDROID(i32);
4471impl FaceParameterIndicesANDROID {
4472    #[doc = "The left brow lowerer blendshape parameter."]
4473    pub const BROW_LOWERER_L: FaceParameterIndicesANDROID = Self(0i32);
4474    #[doc = "The right brow lowerer blendshape parameter."]
4475    pub const BROW_LOWERER_R: FaceParameterIndicesANDROID = Self(1i32);
4476    #[doc = "The left cheek puff blendshape parameter."]
4477    pub const CHEEK_PUFF_L: FaceParameterIndicesANDROID = Self(2i32);
4478    #[doc = "The right cheek puff blendshape parameter."]
4479    pub const CHEEK_PUFF_R: FaceParameterIndicesANDROID = Self(3i32);
4480    #[doc = "The left cheek raiser blendshape parameter."]
4481    pub const CHEEK_RAISER_L: FaceParameterIndicesANDROID = Self(4i32);
4482    #[doc = "The right cheek raiser blendshape parameter."]
4483    pub const CHEEK_RAISER_R: FaceParameterIndicesANDROID = Self(5i32);
4484    #[doc = "The left cheek suck blendshape parameter."]
4485    pub const CHEEK_SUCK_L: FaceParameterIndicesANDROID = Self(6i32);
4486    #[doc = "The right cheek suck blendshape parameter."]
4487    pub const CHEEK_SUCK_R: FaceParameterIndicesANDROID = Self(7i32);
4488    #[doc = "The bottom chin raiser blendshape parameter."]
4489    pub const CHIN_RAISER_B: FaceParameterIndicesANDROID = Self(8i32);
4490    #[doc = "The top chin raiser blendshape parameter."]
4491    pub const CHIN_RAISER_T: FaceParameterIndicesANDROID = Self(9i32);
4492    #[doc = "The left dimpler blendshape parameter."]
4493    pub const DIMPLER_L: FaceParameterIndicesANDROID = Self(10i32);
4494    #[doc = "The right dimpler lowerer blendshape parameter."]
4495    pub const DIMPLER_R: FaceParameterIndicesANDROID = Self(11i32);
4496    #[doc = "The left eyes closed blendshape parameter."]
4497    pub const EYES_CLOSED_L: FaceParameterIndicesANDROID = Self(12i32);
4498    #[doc = "The right eyes closed blendshape parameter."]
4499    pub const EYES_CLOSED_R: FaceParameterIndicesANDROID = Self(13i32);
4500    #[doc = "The left eyes look down blendshape parameter."]
4501    pub const EYES_LOOK_DOWN_L: FaceParameterIndicesANDROID = Self(14i32);
4502    #[doc = "The right eyes look down blendshape parameter."]
4503    pub const EYES_LOOK_DOWN_R: FaceParameterIndicesANDROID = Self(15i32);
4504    #[doc = "The left look left blendshape parameter."]
4505    pub const EYES_LOOK_LEFT_L: FaceParameterIndicesANDROID = Self(16i32);
4506    #[doc = "The left look right blendshape parameter."]
4507    pub const EYES_LOOK_LEFT_R: FaceParameterIndicesANDROID = Self(17i32);
4508    #[doc = "The right look left blendshape parameter."]
4509    pub const EYES_LOOK_RIGHT_L: FaceParameterIndicesANDROID = Self(18i32);
4510    #[doc = "The right look right blendshape parameter."]
4511    pub const EYES_LOOK_RIGHT_R: FaceParameterIndicesANDROID = Self(19i32);
4512    #[doc = "The left eyes look up blendshape parameter."]
4513    pub const EYES_LOOK_UP_L: FaceParameterIndicesANDROID = Self(20i32);
4514    #[doc = "The right eyes look up blendshape parameter."]
4515    pub const EYES_LOOK_UP_R: FaceParameterIndicesANDROID = Self(21i32);
4516    #[doc = "The left inner brow raiser blendshape parameter."]
4517    pub const INNER_BROW_RAISER_L: FaceParameterIndicesANDROID = Self(22i32);
4518    #[doc = "The right inner brow raiser blendshape parameter."]
4519    pub const INNER_BROW_RAISER_R: FaceParameterIndicesANDROID = Self(23i32);
4520    #[doc = "The jaw drop blendshape parameter."]
4521    pub const JAW_DROP: FaceParameterIndicesANDROID = Self(24i32);
4522    #[doc = "The left jaw sideways blendshape parameter."]
4523    pub const JAW_SIDEWAYS_LEFT: FaceParameterIndicesANDROID = Self(25i32);
4524    #[doc = "The right jaw sideways blendshape parameter."]
4525    pub const JAW_SIDEWAYS_RIGHT: FaceParameterIndicesANDROID = Self(26i32);
4526    #[doc = "The jaw thrust blendshape parameter."]
4527    pub const JAW_THRUST: FaceParameterIndicesANDROID = Self(27i32);
4528    #[doc = "The left lid tightener blendshape parameter."]
4529    pub const LID_TIGHTENER_L: FaceParameterIndicesANDROID = Self(28i32);
4530    #[doc = "The right lid tightener blendshape parameter."]
4531    pub const LID_TIGHTENER_R: FaceParameterIndicesANDROID = Self(29i32);
4532    #[doc = "The left corner lip depressor blendshape parameter."]
4533    pub const LIP_CORNER_DEPRESSOR_L: FaceParameterIndicesANDROID = Self(30i32);
4534    #[doc = "The right corner lip depressor blendshape parameter."]
4535    pub const LIP_CORNER_DEPRESSOR_R: FaceParameterIndicesANDROID = Self(31i32);
4536    #[doc = "The left corner lip puller blendshape parameter."]
4537    pub const LIP_CORNER_PULLER_L: FaceParameterIndicesANDROID = Self(32i32);
4538    #[doc = "The right corner lip puller blendshape parameter."]
4539    pub const LIP_CORNER_PULLER_R: FaceParameterIndicesANDROID = Self(33i32);
4540    #[doc = "The left bottom lip funneler blendshape parameter."]
4541    pub const LIP_FUNNELER_LB: FaceParameterIndicesANDROID = Self(34i32);
4542    #[doc = "The left top lip funneler blendshape parameter."]
4543    pub const LIP_FUNNELER_LT: FaceParameterIndicesANDROID = Self(35i32);
4544    #[doc = "The right bottom lip funneler blendshape parameter."]
4545    pub const LIP_FUNNELER_RB: FaceParameterIndicesANDROID = Self(36i32);
4546    #[doc = "The right top lip funneler blendshape parameter."]
4547    pub const LIP_FUNNELER_RT: FaceParameterIndicesANDROID = Self(37i32);
4548    #[doc = "The left lip pressor blendshape parameter."]
4549    pub const LIP_PRESSOR_L: FaceParameterIndicesANDROID = Self(38i32);
4550    #[doc = "The right lip pressor blendshape parameter."]
4551    pub const LIP_PRESSOR_R: FaceParameterIndicesANDROID = Self(39i32);
4552    #[doc = "The left lip pucker blendshape parameter."]
4553    pub const LIP_PUCKER_L: FaceParameterIndicesANDROID = Self(40i32);
4554    #[doc = "The right lip pucker blendshape parameter."]
4555    pub const LIP_PUCKER_R: FaceParameterIndicesANDROID = Self(41i32);
4556    #[doc = "The left lip stretcher blendshape parameter."]
4557    pub const LIP_STRETCHER_L: FaceParameterIndicesANDROID = Self(42i32);
4558    #[doc = "The right lip stretcher blendshape parameter."]
4559    pub const LIP_STRETCHER_R: FaceParameterIndicesANDROID = Self(43i32);
4560    #[doc = "The left bottom lip suck blendshape parameter."]
4561    pub const LIP_SUCK_LB: FaceParameterIndicesANDROID = Self(44i32);
4562    #[doc = "The left top lip suck blendshape parameter."]
4563    pub const LIP_SUCK_LT: FaceParameterIndicesANDROID = Self(45i32);
4564    #[doc = "The right bottom lip suck blendshape parameter."]
4565    pub const LIP_SUCK_RB: FaceParameterIndicesANDROID = Self(46i32);
4566    #[doc = "The right top lip suck blendshape parameter."]
4567    pub const LIP_SUCK_RT: FaceParameterIndicesANDROID = Self(47i32);
4568    #[doc = "The left lip tightener blendshape parameter."]
4569    pub const LIP_TIGHTENER_L: FaceParameterIndicesANDROID = Self(48i32);
4570    #[doc = "The right lip tightener blendshape parameter."]
4571    pub const LIP_TIGHTENER_R: FaceParameterIndicesANDROID = Self(49i32);
4572    #[doc = "The lips toward blendshape parameter."]
4573    pub const LIPS_TOWARD: FaceParameterIndicesANDROID = Self(50i32);
4574    #[doc = "The left lower lip depressor blendshape parameter."]
4575    pub const LOWER_LIP_DEPRESSOR_L: FaceParameterIndicesANDROID = Self(51i32);
4576    #[doc = "The right lower lip depressor blendshape parameter."]
4577    pub const LOWER_LIP_DEPRESSOR_R: FaceParameterIndicesANDROID = Self(52i32);
4578    #[doc = "The mouth move left blendshape parameter."]
4579    pub const MOUTH_LEFT: FaceParameterIndicesANDROID = Self(53i32);
4580    #[doc = "The mouth move right blendshape parameter."]
4581    pub const MOUTH_RIGHT: FaceParameterIndicesANDROID = Self(54i32);
4582    #[doc = "The left nose wrinkler blendshape parameter."]
4583    pub const NOSE_WRINKLER_L: FaceParameterIndicesANDROID = Self(55i32);
4584    #[doc = "The right nose wrinkler blendshape parameter."]
4585    pub const NOSE_WRINKLER_R: FaceParameterIndicesANDROID = Self(56i32);
4586    #[doc = "The left outer brow raiser blendshape parameter."]
4587    pub const OUTER_BROW_RAISER_L: FaceParameterIndicesANDROID = Self(57i32);
4588    #[doc = "The right outer brow raiser blendshape parameter."]
4589    pub const OUTER_BROW_RAISER_R: FaceParameterIndicesANDROID = Self(58i32);
4590    #[doc = "The left lid raiser blendshape parameter."]
4591    pub const UPPER_LID_RAISER_L: FaceParameterIndicesANDROID = Self(59i32);
4592    #[doc = "The right lid raiser blendshape parameter."]
4593    pub const UPPER_LID_RAISER_R: FaceParameterIndicesANDROID = Self(60i32);
4594    #[doc = "The left lip raiser blendshape parameter."]
4595    pub const UPPER_LIP_RAISER_L: FaceParameterIndicesANDROID = Self(61i32);
4596    #[doc = "The right lip raiser blendshape parameter."]
4597    pub const UPPER_LIP_RAISER_R: FaceParameterIndicesANDROID = Self(62i32);
4598    #[doc = "The tongue out blendshape parameter."]
4599    pub const TONGUE_OUT: FaceParameterIndicesANDROID = Self(63i32);
4600    #[doc = "The tongue left puller blendshape parameter."]
4601    pub const TONGUE_LEFT: FaceParameterIndicesANDROID = Self(64i32);
4602    #[doc = "The right right puller blendshape parameter."]
4603    pub const TONGUE_RIGHT: FaceParameterIndicesANDROID = Self(65i32);
4604    #[doc = "The right up puller blendshape parameter."]
4605    pub const TONGUE_UP: FaceParameterIndicesANDROID = Self(66i32);
4606    #[doc = "The right down puller blendshape parameter."]
4607    pub const TONGUE_DOWN: FaceParameterIndicesANDROID = Self(67i32);
4608    pub fn from_raw(x: i32) -> Self {
4609        Self(x)
4610    }
4611    pub fn into_raw(self) -> i32 {
4612        self.0
4613    }
4614}
4615impl fmt::Debug for FaceParameterIndicesANDROID {
4616    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4617        let name = match *self {
4618            Self::BROW_LOWERER_L => Some("BROW_LOWERER_L"),
4619            Self::BROW_LOWERER_R => Some("BROW_LOWERER_R"),
4620            Self::CHEEK_PUFF_L => Some("CHEEK_PUFF_L"),
4621            Self::CHEEK_PUFF_R => Some("CHEEK_PUFF_R"),
4622            Self::CHEEK_RAISER_L => Some("CHEEK_RAISER_L"),
4623            Self::CHEEK_RAISER_R => Some("CHEEK_RAISER_R"),
4624            Self::CHEEK_SUCK_L => Some("CHEEK_SUCK_L"),
4625            Self::CHEEK_SUCK_R => Some("CHEEK_SUCK_R"),
4626            Self::CHIN_RAISER_B => Some("CHIN_RAISER_B"),
4627            Self::CHIN_RAISER_T => Some("CHIN_RAISER_T"),
4628            Self::DIMPLER_L => Some("DIMPLER_L"),
4629            Self::DIMPLER_R => Some("DIMPLER_R"),
4630            Self::EYES_CLOSED_L => Some("EYES_CLOSED_L"),
4631            Self::EYES_CLOSED_R => Some("EYES_CLOSED_R"),
4632            Self::EYES_LOOK_DOWN_L => Some("EYES_LOOK_DOWN_L"),
4633            Self::EYES_LOOK_DOWN_R => Some("EYES_LOOK_DOWN_R"),
4634            Self::EYES_LOOK_LEFT_L => Some("EYES_LOOK_LEFT_L"),
4635            Self::EYES_LOOK_LEFT_R => Some("EYES_LOOK_LEFT_R"),
4636            Self::EYES_LOOK_RIGHT_L => Some("EYES_LOOK_RIGHT_L"),
4637            Self::EYES_LOOK_RIGHT_R => Some("EYES_LOOK_RIGHT_R"),
4638            Self::EYES_LOOK_UP_L => Some("EYES_LOOK_UP_L"),
4639            Self::EYES_LOOK_UP_R => Some("EYES_LOOK_UP_R"),
4640            Self::INNER_BROW_RAISER_L => Some("INNER_BROW_RAISER_L"),
4641            Self::INNER_BROW_RAISER_R => Some("INNER_BROW_RAISER_R"),
4642            Self::JAW_DROP => Some("JAW_DROP"),
4643            Self::JAW_SIDEWAYS_LEFT => Some("JAW_SIDEWAYS_LEFT"),
4644            Self::JAW_SIDEWAYS_RIGHT => Some("JAW_SIDEWAYS_RIGHT"),
4645            Self::JAW_THRUST => Some("JAW_THRUST"),
4646            Self::LID_TIGHTENER_L => Some("LID_TIGHTENER_L"),
4647            Self::LID_TIGHTENER_R => Some("LID_TIGHTENER_R"),
4648            Self::LIP_CORNER_DEPRESSOR_L => Some("LIP_CORNER_DEPRESSOR_L"),
4649            Self::LIP_CORNER_DEPRESSOR_R => Some("LIP_CORNER_DEPRESSOR_R"),
4650            Self::LIP_CORNER_PULLER_L => Some("LIP_CORNER_PULLER_L"),
4651            Self::LIP_CORNER_PULLER_R => Some("LIP_CORNER_PULLER_R"),
4652            Self::LIP_FUNNELER_LB => Some("LIP_FUNNELER_LB"),
4653            Self::LIP_FUNNELER_LT => Some("LIP_FUNNELER_LT"),
4654            Self::LIP_FUNNELER_RB => Some("LIP_FUNNELER_RB"),
4655            Self::LIP_FUNNELER_RT => Some("LIP_FUNNELER_RT"),
4656            Self::LIP_PRESSOR_L => Some("LIP_PRESSOR_L"),
4657            Self::LIP_PRESSOR_R => Some("LIP_PRESSOR_R"),
4658            Self::LIP_PUCKER_L => Some("LIP_PUCKER_L"),
4659            Self::LIP_PUCKER_R => Some("LIP_PUCKER_R"),
4660            Self::LIP_STRETCHER_L => Some("LIP_STRETCHER_L"),
4661            Self::LIP_STRETCHER_R => Some("LIP_STRETCHER_R"),
4662            Self::LIP_SUCK_LB => Some("LIP_SUCK_LB"),
4663            Self::LIP_SUCK_LT => Some("LIP_SUCK_LT"),
4664            Self::LIP_SUCK_RB => Some("LIP_SUCK_RB"),
4665            Self::LIP_SUCK_RT => Some("LIP_SUCK_RT"),
4666            Self::LIP_TIGHTENER_L => Some("LIP_TIGHTENER_L"),
4667            Self::LIP_TIGHTENER_R => Some("LIP_TIGHTENER_R"),
4668            Self::LIPS_TOWARD => Some("LIPS_TOWARD"),
4669            Self::LOWER_LIP_DEPRESSOR_L => Some("LOWER_LIP_DEPRESSOR_L"),
4670            Self::LOWER_LIP_DEPRESSOR_R => Some("LOWER_LIP_DEPRESSOR_R"),
4671            Self::MOUTH_LEFT => Some("MOUTH_LEFT"),
4672            Self::MOUTH_RIGHT => Some("MOUTH_RIGHT"),
4673            Self::NOSE_WRINKLER_L => Some("NOSE_WRINKLER_L"),
4674            Self::NOSE_WRINKLER_R => Some("NOSE_WRINKLER_R"),
4675            Self::OUTER_BROW_RAISER_L => Some("OUTER_BROW_RAISER_L"),
4676            Self::OUTER_BROW_RAISER_R => Some("OUTER_BROW_RAISER_R"),
4677            Self::UPPER_LID_RAISER_L => Some("UPPER_LID_RAISER_L"),
4678            Self::UPPER_LID_RAISER_R => Some("UPPER_LID_RAISER_R"),
4679            Self::UPPER_LIP_RAISER_L => Some("UPPER_LIP_RAISER_L"),
4680            Self::UPPER_LIP_RAISER_R => Some("UPPER_LIP_RAISER_R"),
4681            Self::TONGUE_OUT => Some("TONGUE_OUT"),
4682            Self::TONGUE_LEFT => Some("TONGUE_LEFT"),
4683            Self::TONGUE_RIGHT => Some("TONGUE_RIGHT"),
4684            Self::TONGUE_UP => Some("TONGUE_UP"),
4685            Self::TONGUE_DOWN => Some("TONGUE_DOWN"),
4686            _ => None,
4687        };
4688        fmt_enum(fmt, self.0, name)
4689    }
4690}
4691#[doc = "See [XrFaceTrackingStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackingStateANDROID)"]
4692#[repr(transparent)]
4693#[derive(Copy, Clone, Eq, PartialEq, Default)]
4694pub struct FaceTrackingStateANDROID(i32);
4695impl FaceTrackingStateANDROID {
4696    #[doc = "Indicates that face tracking is paused but may be resumed in the future."]
4697    pub const PAUSED: FaceTrackingStateANDROID = Self(0i32);
4698    #[doc = "Tracking has stopped but the client still has an active face tracker."]
4699    pub const STOPPED: FaceTrackingStateANDROID = Self(1i32);
4700    #[doc = "The face is currently tracked and its pose is current."]
4701    pub const TRACKING: FaceTrackingStateANDROID = Self(2i32);
4702    pub fn from_raw(x: i32) -> Self {
4703        Self(x)
4704    }
4705    pub fn into_raw(self) -> i32 {
4706        self.0
4707    }
4708}
4709impl fmt::Debug for FaceTrackingStateANDROID {
4710    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4711        let name = match *self {
4712            Self::PAUSED => Some("PAUSED"),
4713            Self::STOPPED => Some("STOPPED"),
4714            Self::TRACKING => Some("TRACKING"),
4715            _ => None,
4716        };
4717        fmt_enum(fmt, self.0, name)
4718    }
4719}
4720#[doc = "See [XrFaceConfidenceRegionsANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceConfidenceRegionsANDROID)"]
4721#[repr(transparent)]
4722#[derive(Copy, Clone, Eq, PartialEq, Default)]
4723pub struct FaceConfidenceRegionsANDROID(i32);
4724impl FaceConfidenceRegionsANDROID {
4725    #[doc = "Confidence corresponding to the lower region."]
4726    pub const LOWER: FaceConfidenceRegionsANDROID = Self(0i32);
4727    #[doc = "Confidence corresponding to the left upper region."]
4728    pub const LEFT_UPPER: FaceConfidenceRegionsANDROID = Self(1i32);
4729    #[doc = "Confidence corresponding to the right upper region."]
4730    pub const RIGHT_UPPER: FaceConfidenceRegionsANDROID = Self(2i32);
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 FaceConfidenceRegionsANDROID {
4739    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4740        let name = match *self {
4741            Self::LOWER => Some("LOWER"),
4742            Self::LEFT_UPPER => Some("LEFT_UPPER"),
4743            Self::RIGHT_UPPER => Some("RIGHT_UPPER"),
4744            _ => None,
4745        };
4746        fmt_enum(fmt, self.0, name)
4747    }
4748}
4749#[doc = "See [XrTrackingStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackingStateANDROID)"]
4750#[repr(transparent)]
4751#[derive(Copy, Clone, Eq, PartialEq, Default)]
4752pub struct TrackingStateANDROID(i32);
4753impl TrackingStateANDROID {
4754    #[doc = "Indicates that the trackable or anchor tracking is paused but may be resumed in the future."]
4755    pub const PAUSED: TrackingStateANDROID = Self(0i32);
4756    #[doc = "Tracking has stopped on this Trackable and will never be resumed."]
4757    pub const STOPPED: TrackingStateANDROID = Self(1i32);
4758    #[doc = "The object is currently tracked and its pose is current."]
4759    pub const TRACKING: TrackingStateANDROID = Self(2i32);
4760    pub fn from_raw(x: i32) -> Self {
4761        Self(x)
4762    }
4763    pub fn into_raw(self) -> i32 {
4764        self.0
4765    }
4766}
4767impl fmt::Debug for TrackingStateANDROID {
4768    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4769        let name = match *self {
4770            Self::PAUSED => Some("PAUSED"),
4771            Self::STOPPED => Some("STOPPED"),
4772            Self::TRACKING => Some("TRACKING"),
4773            _ => None,
4774        };
4775        fmt_enum(fmt, self.0, name)
4776    }
4777}
4778#[doc = "See [XrTrackableTypeANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableTypeANDROID)"]
4779#[repr(transparent)]
4780#[derive(Copy, Clone, Eq, PartialEq, Default)]
4781pub struct TrackableTypeANDROID(i32);
4782impl TrackableTypeANDROID {
4783    #[doc = "Indicates that the trackable is not valid."]
4784    pub const NOT_VALID: TrackableTypeANDROID = Self(0i32);
4785    #[doc = "Indicates that the trackable is a plane."]
4786    pub const PLANE: TrackableTypeANDROID = Self(1i32);
4787    #[doc = "Indicates that the trackable is the perception depth buffer."]
4788    pub const DEPTH: TrackableTypeANDROID = Self(1000463000i32);
4789    #[doc = "Indicates that the trackable is the object."]
4790    pub const OBJECT: TrackableTypeANDROID = Self(1000466000i32);
4791    #[doc = "Indicates that the trackable is a marker."]
4792    pub const MARKER: TrackableTypeANDROID = Self(1000707000i32);
4793    #[doc = "Indicates that the trackable is a QR code."]
4794    pub const QR_CODE: TrackableTypeANDROID = Self(1000708000i32);
4795    #[doc = "Indicates that the trackable is an image."]
4796    pub const IMAGE: TrackableTypeANDROID = Self(1000709000i32);
4797    pub fn from_raw(x: i32) -> Self {
4798        Self(x)
4799    }
4800    pub fn into_raw(self) -> i32 {
4801        self.0
4802    }
4803}
4804impl fmt::Debug for TrackableTypeANDROID {
4805    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4806        let name = match *self {
4807            Self::NOT_VALID => Some("NOT_VALID"),
4808            Self::PLANE => Some("PLANE"),
4809            Self::DEPTH => Some("DEPTH"),
4810            Self::OBJECT => Some("OBJECT"),
4811            Self::MARKER => Some("MARKER"),
4812            Self::QR_CODE => Some("QR_CODE"),
4813            Self::IMAGE => Some("IMAGE"),
4814            _ => None,
4815        };
4816        fmt_enum(fmt, self.0, name)
4817    }
4818}
4819#[doc = "See [XrPlaneTypeANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneTypeANDROID)"]
4820#[repr(transparent)]
4821#[derive(Copy, Clone, Eq, PartialEq, Default)]
4822pub struct PlaneTypeANDROID(i32);
4823impl PlaneTypeANDROID {
4824    #[doc = "A horizontal plane facing downward (for example a ceiling)."]
4825    pub const HORIZONTAL_DOWNWARD_FACING: PlaneTypeANDROID = Self(0i32);
4826    #[doc = "A horizontal plane facing upward (for example a floor or tabletop)."]
4827    pub const HORIZONTAL_UPWARD_FACING: PlaneTypeANDROID = Self(1i32);
4828    #[doc = "A vertical plane (for example a wall)."]
4829    pub const VERTICAL: PlaneTypeANDROID = Self(2i32);
4830    #[doc = "A plane with an arbitrary orientation."]
4831    pub const ARBITRARY: PlaneTypeANDROID = Self(3i32);
4832    pub fn from_raw(x: i32) -> Self {
4833        Self(x)
4834    }
4835    pub fn into_raw(self) -> i32 {
4836        self.0
4837    }
4838}
4839impl fmt::Debug for PlaneTypeANDROID {
4840    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4841        let name = match *self {
4842            Self::HORIZONTAL_DOWNWARD_FACING => Some("HORIZONTAL_DOWNWARD_FACING"),
4843            Self::HORIZONTAL_UPWARD_FACING => Some("HORIZONTAL_UPWARD_FACING"),
4844            Self::VERTICAL => Some("VERTICAL"),
4845            Self::ARBITRARY => Some("ARBITRARY"),
4846            _ => None,
4847        };
4848        fmt_enum(fmt, self.0, name)
4849    }
4850}
4851#[doc = "See [XrPlaneLabelANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneLabelANDROID)"]
4852#[repr(transparent)]
4853#[derive(Copy, Clone, Eq, PartialEq, Default)]
4854pub struct PlaneLabelANDROID(i32);
4855impl PlaneLabelANDROID {
4856    #[doc = "It was not possible to label the plane"]
4857    pub const UNKNOWN: PlaneLabelANDROID = Self(0i32);
4858    #[doc = "The plane is a wall."]
4859    pub const WALL: PlaneLabelANDROID = Self(1i32);
4860    #[doc = "The plane is a floor."]
4861    pub const FLOOR: PlaneLabelANDROID = Self(2i32);
4862    #[doc = "The plane is a ceiling."]
4863    pub const CEILING: PlaneLabelANDROID = Self(3i32);
4864    #[doc = "The plane is a table."]
4865    pub const TABLE: PlaneLabelANDROID = Self(4i32);
4866    pub fn from_raw(x: i32) -> Self {
4867        Self(x)
4868    }
4869    pub fn into_raw(self) -> i32 {
4870        self.0
4871    }
4872}
4873impl fmt::Debug for PlaneLabelANDROID {
4874    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4875        let name = match *self {
4876            Self::UNKNOWN => Some("UNKNOWN"),
4877            Self::WALL => Some("WALL"),
4878            Self::FLOOR => Some("FLOOR"),
4879            Self::CEILING => Some("CEILING"),
4880            Self::TABLE => Some("TABLE"),
4881            _ => None,
4882        };
4883        fmt_enum(fmt, self.0, name)
4884    }
4885}
4886#[doc = "See [XrObjectLabelANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrObjectLabelANDROID)"]
4887#[repr(transparent)]
4888#[derive(Copy, Clone, Eq, PartialEq, Default)]
4889pub struct ObjectLabelANDROID(i32);
4890impl ObjectLabelANDROID {
4891    #[doc = "It was not possible to label the object."]
4892    pub const UNKNOWN: ObjectLabelANDROID = Self(0i32);
4893    #[doc = "The object is a keyboard."]
4894    pub const KEYBOARD: ObjectLabelANDROID = Self(1i32);
4895    #[doc = "The object is a mouse."]
4896    pub const MOUSE: ObjectLabelANDROID = Self(2i32);
4897    #[doc = "The object is a laptop."]
4898    pub const LAPTOP: ObjectLabelANDROID = Self(3i32);
4899    pub fn from_raw(x: i32) -> Self {
4900        Self(x)
4901    }
4902    pub fn into_raw(self) -> i32 {
4903        self.0
4904    }
4905}
4906impl fmt::Debug for ObjectLabelANDROID {
4907    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4908        let name = match *self {
4909            Self::UNKNOWN => Some("UNKNOWN"),
4910            Self::KEYBOARD => Some("KEYBOARD"),
4911            Self::MOUSE => Some("MOUSE"),
4912            Self::LAPTOP => Some("LAPTOP"),
4913            _ => None,
4914        };
4915        fmt_enum(fmt, self.0, name)
4916    }
4917}
4918#[doc = "See [XrAnchorPersistStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAnchorPersistStateANDROID)"]
4919#[repr(transparent)]
4920#[derive(Copy, Clone, Eq, PartialEq, Default)]
4921pub struct AnchorPersistStateANDROID(i32);
4922impl AnchorPersistStateANDROID {
4923    #[doc = "Anchor has not been requested to be persisted by the app."]
4924    pub const PERSIST_NOT_REQUESTED: AnchorPersistStateANDROID = Self(0i32);
4925    #[doc = "Anchor has been requested to be persisted but not persisted yet."]
4926    pub const PERSIST_PENDING: AnchorPersistStateANDROID = Self(1i32);
4927    #[doc = "Anchor has been successfully persisted by the runtime."]
4928    pub const PERSISTED: AnchorPersistStateANDROID = Self(2i32);
4929    pub fn from_raw(x: i32) -> Self {
4930        Self(x)
4931    }
4932    pub fn into_raw(self) -> i32 {
4933        self.0
4934    }
4935}
4936impl fmt::Debug for AnchorPersistStateANDROID {
4937    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4938        let name = match *self {
4939            Self::PERSIST_NOT_REQUESTED => Some("PERSIST_NOT_REQUESTED"),
4940            Self::PERSIST_PENDING => Some("PERSIST_PENDING"),
4941            Self::PERSISTED => Some("PERSISTED"),
4942            _ => None,
4943        };
4944        fmt_enum(fmt, self.0, name)
4945    }
4946}
4947#[doc = "See [XrPerformanceMetricsCounterUnitANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerformanceMetricsCounterUnitANDROID)"]
4948#[repr(transparent)]
4949#[derive(Copy, Clone, Eq, PartialEq, Default)]
4950pub struct PerformanceMetricsCounterUnitANDROID(i32);
4951impl PerformanceMetricsCounterUnitANDROID {
4952    #[doc = "The performance counter unit is generic (unspecified)."]
4953    pub const GENERIC: PerformanceMetricsCounterUnitANDROID = Self(0i32);
4954    #[doc = "The performance counter unit is percentage (%)."]
4955    pub const PERCENTAGE: PerformanceMetricsCounterUnitANDROID = Self(1i32);
4956    #[doc = "The performance counter unit is millisecond."]
4957    pub const MILLISECONDS: PerformanceMetricsCounterUnitANDROID = Self(2i32);
4958    #[doc = "The performance counter unit is byte."]
4959    pub const BYTES: PerformanceMetricsCounterUnitANDROID = Self(3i32);
4960    #[doc = "The performance counter unit is hertz (Hz)."]
4961    pub const HERTZ: PerformanceMetricsCounterUnitANDROID = Self(4i32);
4962    pub fn from_raw(x: i32) -> Self {
4963        Self(x)
4964    }
4965    pub fn into_raw(self) -> i32 {
4966        self.0
4967    }
4968}
4969impl fmt::Debug for PerformanceMetricsCounterUnitANDROID {
4970    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4971        let name = match *self {
4972            Self::GENERIC => Some("GENERIC"),
4973            Self::PERCENTAGE => Some("PERCENTAGE"),
4974            Self::MILLISECONDS => Some("MILLISECONDS"),
4975            Self::BYTES => Some("BYTES"),
4976            Self::HERTZ => Some("HERTZ"),
4977            _ => None,
4978        };
4979        fmt_enum(fmt, self.0, name)
4980    }
4981}
4982#[doc = "See [XrQrCodeTrackingModeANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrQrCodeTrackingModeANDROID)"]
4983#[repr(transparent)]
4984#[derive(Copy, Clone, Eq, PartialEq, Default)]
4985pub struct QrCodeTrackingModeANDROID(i32);
4986impl QrCodeTrackingModeANDROID {
4987    #[doc = "Tracking dynamic QR codes. This mode has the highest accuracy and works on moving and static QR codes, but also has the highest power consumption."]
4988    pub const DYNAMIC: QrCodeTrackingModeANDROID = Self(0i32);
4989    #[doc = "Tracking static QR codes. This mode is primarily useful for QR codes that are known to be static, which leads to less power consumption in comparison to the dynamic mode."]
4990    pub const STATIC: QrCodeTrackingModeANDROID = Self(1i32);
4991    pub fn from_raw(x: i32) -> Self {
4992        Self(x)
4993    }
4994    pub fn into_raw(self) -> i32 {
4995        self.0
4996    }
4997}
4998impl fmt::Debug for QrCodeTrackingModeANDROID {
4999    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5000        let name = match *self {
5001            Self::DYNAMIC => Some("DYNAMIC"),
5002            Self::STATIC => Some("STATIC"),
5003            _ => None,
5004        };
5005        fmt_enum(fmt, self.0, name)
5006    }
5007}
5008#[doc = "See [XrWindingOrderANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWindingOrderANDROID)"]
5009#[repr(transparent)]
5010#[derive(Copy, Clone, Eq, PartialEq, Default)]
5011pub struct WindingOrderANDROID(i32);
5012impl WindingOrderANDROID {
5013    #[doc = "Winding order of the mesh's triangles is not known."]
5014    pub const UNKNOWN: WindingOrderANDROID = Self(0i32);
5015    #[doc = "Winding order of the mesh's triangles is clockwise."]
5016    pub const CW: WindingOrderANDROID = Self(1i32);
5017    #[doc = "Winding order of the mesh's triangles is counter-clockwise."]
5018    pub const CCW: WindingOrderANDROID = Self(2i32);
5019    pub fn from_raw(x: i32) -> Self {
5020        Self(x)
5021    }
5022    pub fn into_raw(self) -> i32 {
5023        self.0
5024    }
5025}
5026impl fmt::Debug for WindingOrderANDROID {
5027    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5028        let name = match *self {
5029            Self::UNKNOWN => Some("UNKNOWN"),
5030            Self::CW => Some("CW"),
5031            Self::CCW => Some("CCW"),
5032            _ => None,
5033        };
5034        fmt_enum(fmt, self.0, name)
5035    }
5036}
5037#[doc = "See [XrSceneMeshSemanticLabelSetANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneMeshSemanticLabelSetANDROID)"]
5038#[repr(transparent)]
5039#[derive(Copy, Clone, Eq, PartialEq, Default)]
5040pub struct SceneMeshSemanticLabelSetANDROID(i32);
5041impl SceneMeshSemanticLabelSetANDROID {
5042    #[doc = "This semantic label set represents absence of semantic labels."]
5043    pub const NONE: SceneMeshSemanticLabelSetANDROID = Self(0i32);
5044    #[doc = "This semantic label set represents XrSceneMeshSemanticLabelANDROID."]
5045    pub const DEFAULT: SceneMeshSemanticLabelSetANDROID = Self(1i32);
5046    pub fn from_raw(x: i32) -> Self {
5047        Self(x)
5048    }
5049    pub fn into_raw(self) -> i32 {
5050        self.0
5051    }
5052}
5053impl fmt::Debug for SceneMeshSemanticLabelSetANDROID {
5054    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5055        let name = match *self {
5056            Self::NONE => Some("NONE"),
5057            Self::DEFAULT => Some("DEFAULT"),
5058            _ => None,
5059        };
5060        fmt_enum(fmt, self.0, name)
5061    }
5062}
5063#[doc = "See [XrSceneMeshSemanticLabelANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneMeshSemanticLabelANDROID)"]
5064#[repr(transparent)]
5065#[derive(Copy, Clone, Eq, PartialEq, Default)]
5066pub struct SceneMeshSemanticLabelANDROID(i32);
5067impl SceneMeshSemanticLabelANDROID {
5068    #[doc = "This semantic label indicates that the corresponding mesh element represents an unknown object."]
5069    pub const OTHER: SceneMeshSemanticLabelANDROID = Self(0i32);
5070    #[doc = "This semantic label indicates that the corresponding mesh element represents a floor."]
5071    pub const FLOOR: SceneMeshSemanticLabelANDROID = Self(1i32);
5072    #[doc = "This semantic label indicates that the corresponding mesh element represents a ceiling."]
5073    pub const CEILING: SceneMeshSemanticLabelANDROID = Self(2i32);
5074    #[doc = "This semantic label indicates that the corresponding mesh element represents a wall."]
5075    pub const WALL: SceneMeshSemanticLabelANDROID = Self(3i32);
5076    #[doc = "This semantic label indicates that the corresponding mesh element represents a table."]
5077    pub const TABLE: SceneMeshSemanticLabelANDROID = Self(4i32);
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 SceneMeshSemanticLabelANDROID {
5086    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5087        let name = match *self {
5088            Self::OTHER => Some("OTHER"),
5089            Self::FLOOR => Some("FLOOR"),
5090            Self::CEILING => Some("CEILING"),
5091            Self::WALL => Some("WALL"),
5092            Self::TABLE => Some("TABLE"),
5093            _ => None,
5094        };
5095        fmt_enum(fmt, self.0, name)
5096    }
5097}
5098#[doc = "See [XrSceneMeshTrackingStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneMeshTrackingStateANDROID)"]
5099#[repr(transparent)]
5100#[derive(Copy, Clone, Eq, PartialEq, Default)]
5101pub struct SceneMeshTrackingStateANDROID(i32);
5102impl SceneMeshTrackingStateANDROID {
5103    #[doc = "The tracker is not yet ready to provide mesh data."]
5104    pub const INITIALIZING: SceneMeshTrackingStateANDROID = Self(0i32);
5105    #[doc = "The tracker is actively tracking."]
5106    pub const TRACKING: SceneMeshTrackingStateANDROID = Self(1i32);
5107    #[doc = "The tracker is waiting for valid measurements to integrate since the last mesh update."]
5108    pub const WAITING: SceneMeshTrackingStateANDROID = Self(2i32);
5109    #[doc = "The tracker has not received valid measurements for multiple cycles and is in an error state."]
5110    pub const ERROR: SceneMeshTrackingStateANDROID = Self(3i32);
5111    pub fn from_raw(x: i32) -> Self {
5112        Self(x)
5113    }
5114    pub fn into_raw(self) -> i32 {
5115        self.0
5116    }
5117}
5118impl fmt::Debug for SceneMeshTrackingStateANDROID {
5119    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5120        let name = match *self {
5121            Self::INITIALIZING => Some("INITIALIZING"),
5122            Self::TRACKING => Some("TRACKING"),
5123            Self::WAITING => Some("WAITING"),
5124            Self::ERROR => Some("ERROR"),
5125            _ => None,
5126        };
5127        fmt_enum(fmt, self.0, name)
5128    }
5129}
5130#[doc = "See [XrLocalDimmingModeMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalDimmingModeMETA)"]
5131#[repr(transparent)]
5132#[derive(Copy, Clone, Eq, PartialEq, Default)]
5133pub struct LocalDimmingModeMETA(i32);
5134impl LocalDimmingModeMETA {
5135    #[doc = "Local dimming is turned off by default for the current submitted frame. This is the same as not chaining XrLocalDimmingModeMETA."]
5136    pub const OFF: LocalDimmingModeMETA = Self(0i32);
5137    #[doc = "Local dimming is turned on for the current submitted frame."]
5138    pub const ON: LocalDimmingModeMETA = Self(1i32);
5139    pub fn from_raw(x: i32) -> Self {
5140        Self(x)
5141    }
5142    pub fn into_raw(self) -> i32 {
5143        self.0
5144    }
5145}
5146impl fmt::Debug for LocalDimmingModeMETA {
5147    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5148        let name = match *self {
5149            Self::OFF => Some("OFF"),
5150            Self::ON => Some("ON"),
5151            _ => None,
5152        };
5153        fmt_enum(fmt, self.0, name)
5154    }
5155}
5156#[doc = "See [XrFaceExpressionFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionFB)"]
5157#[repr(transparent)]
5158#[derive(Copy, Clone, Eq, PartialEq, Default)]
5159pub struct FaceExpressionFB(i32);
5160impl FaceExpressionFB {
5161    pub const BROW_LOWERER_L: FaceExpressionFB = Self(0i32);
5162    pub const BROW_LOWERER_R: FaceExpressionFB = Self(1i32);
5163    pub const CHEEK_PUFF_L: FaceExpressionFB = Self(2i32);
5164    pub const CHEEK_PUFF_R: FaceExpressionFB = Self(3i32);
5165    pub const CHEEK_RAISER_L: FaceExpressionFB = Self(4i32);
5166    pub const CHEEK_RAISER_R: FaceExpressionFB = Self(5i32);
5167    pub const CHEEK_SUCK_L: FaceExpressionFB = Self(6i32);
5168    pub const CHEEK_SUCK_R: FaceExpressionFB = Self(7i32);
5169    pub const CHIN_RAISER_B: FaceExpressionFB = Self(8i32);
5170    pub const CHIN_RAISER_T: FaceExpressionFB = Self(9i32);
5171    pub const DIMPLER_L: FaceExpressionFB = Self(10i32);
5172    pub const DIMPLER_R: FaceExpressionFB = Self(11i32);
5173    pub const EYES_CLOSED_L: FaceExpressionFB = Self(12i32);
5174    pub const EYES_CLOSED_R: FaceExpressionFB = Self(13i32);
5175    pub const EYES_LOOK_DOWN_L: FaceExpressionFB = Self(14i32);
5176    pub const EYES_LOOK_DOWN_R: FaceExpressionFB = Self(15i32);
5177    pub const EYES_LOOK_LEFT_L: FaceExpressionFB = Self(16i32);
5178    pub const EYES_LOOK_LEFT_R: FaceExpressionFB = Self(17i32);
5179    pub const EYES_LOOK_RIGHT_L: FaceExpressionFB = Self(18i32);
5180    pub const EYES_LOOK_RIGHT_R: FaceExpressionFB = Self(19i32);
5181    pub const EYES_LOOK_UP_L: FaceExpressionFB = Self(20i32);
5182    pub const EYES_LOOK_UP_R: FaceExpressionFB = Self(21i32);
5183    pub const INNER_BROW_RAISER_L: FaceExpressionFB = Self(22i32);
5184    pub const INNER_BROW_RAISER_R: FaceExpressionFB = Self(23i32);
5185    pub const JAW_DROP: FaceExpressionFB = Self(24i32);
5186    pub const JAW_SIDEWAYS_LEFT: FaceExpressionFB = Self(25i32);
5187    pub const JAW_SIDEWAYS_RIGHT: FaceExpressionFB = Self(26i32);
5188    pub const JAW_THRUST: FaceExpressionFB = Self(27i32);
5189    pub const LID_TIGHTENER_L: FaceExpressionFB = Self(28i32);
5190    pub const LID_TIGHTENER_R: FaceExpressionFB = Self(29i32);
5191    pub const LIP_CORNER_DEPRESSOR_L: FaceExpressionFB = Self(30i32);
5192    pub const LIP_CORNER_DEPRESSOR_R: FaceExpressionFB = Self(31i32);
5193    pub const LIP_CORNER_PULLER_L: FaceExpressionFB = Self(32i32);
5194    pub const LIP_CORNER_PULLER_R: FaceExpressionFB = Self(33i32);
5195    pub const LIP_FUNNELER_LB: FaceExpressionFB = Self(34i32);
5196    pub const LIP_FUNNELER_LT: FaceExpressionFB = Self(35i32);
5197    pub const LIP_FUNNELER_RB: FaceExpressionFB = Self(36i32);
5198    pub const LIP_FUNNELER_RT: FaceExpressionFB = Self(37i32);
5199    pub const LIP_PRESSOR_L: FaceExpressionFB = Self(38i32);
5200    pub const LIP_PRESSOR_R: FaceExpressionFB = Self(39i32);
5201    pub const LIP_PUCKER_L: FaceExpressionFB = Self(40i32);
5202    pub const LIP_PUCKER_R: FaceExpressionFB = Self(41i32);
5203    pub const LIP_STRETCHER_L: FaceExpressionFB = Self(42i32);
5204    pub const LIP_STRETCHER_R: FaceExpressionFB = Self(43i32);
5205    pub const LIP_SUCK_LB: FaceExpressionFB = Self(44i32);
5206    pub const LIP_SUCK_LT: FaceExpressionFB = Self(45i32);
5207    pub const LIP_SUCK_RB: FaceExpressionFB = Self(46i32);
5208    pub const LIP_SUCK_RT: FaceExpressionFB = Self(47i32);
5209    pub const LIP_TIGHTENER_L: FaceExpressionFB = Self(48i32);
5210    pub const LIP_TIGHTENER_R: FaceExpressionFB = Self(49i32);
5211    pub const LIPS_TOWARD: FaceExpressionFB = Self(50i32);
5212    pub const LOWER_LIP_DEPRESSOR_L: FaceExpressionFB = Self(51i32);
5213    pub const LOWER_LIP_DEPRESSOR_R: FaceExpressionFB = Self(52i32);
5214    pub const MOUTH_LEFT: FaceExpressionFB = Self(53i32);
5215    pub const MOUTH_RIGHT: FaceExpressionFB = Self(54i32);
5216    pub const NOSE_WRINKLER_L: FaceExpressionFB = Self(55i32);
5217    pub const NOSE_WRINKLER_R: FaceExpressionFB = Self(56i32);
5218    pub const OUTER_BROW_RAISER_L: FaceExpressionFB = Self(57i32);
5219    pub const OUTER_BROW_RAISER_R: FaceExpressionFB = Self(58i32);
5220    pub const UPPER_LID_RAISER_L: FaceExpressionFB = Self(59i32);
5221    pub const UPPER_LID_RAISER_R: FaceExpressionFB = Self(60i32);
5222    pub const UPPER_LIP_RAISER_L: FaceExpressionFB = Self(61i32);
5223    pub const UPPER_LIP_RAISER_R: FaceExpressionFB = Self(62i32);
5224    pub const COUNT: FaceExpressionFB = Self(63i32);
5225    pub fn from_raw(x: i32) -> Self {
5226        Self(x)
5227    }
5228    pub fn into_raw(self) -> i32 {
5229        self.0
5230    }
5231}
5232impl fmt::Debug for FaceExpressionFB {
5233    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5234        let name = match *self {
5235            Self::BROW_LOWERER_L => Some("BROW_LOWERER_L"),
5236            Self::BROW_LOWERER_R => Some("BROW_LOWERER_R"),
5237            Self::CHEEK_PUFF_L => Some("CHEEK_PUFF_L"),
5238            Self::CHEEK_PUFF_R => Some("CHEEK_PUFF_R"),
5239            Self::CHEEK_RAISER_L => Some("CHEEK_RAISER_L"),
5240            Self::CHEEK_RAISER_R => Some("CHEEK_RAISER_R"),
5241            Self::CHEEK_SUCK_L => Some("CHEEK_SUCK_L"),
5242            Self::CHEEK_SUCK_R => Some("CHEEK_SUCK_R"),
5243            Self::CHIN_RAISER_B => Some("CHIN_RAISER_B"),
5244            Self::CHIN_RAISER_T => Some("CHIN_RAISER_T"),
5245            Self::DIMPLER_L => Some("DIMPLER_L"),
5246            Self::DIMPLER_R => Some("DIMPLER_R"),
5247            Self::EYES_CLOSED_L => Some("EYES_CLOSED_L"),
5248            Self::EYES_CLOSED_R => Some("EYES_CLOSED_R"),
5249            Self::EYES_LOOK_DOWN_L => Some("EYES_LOOK_DOWN_L"),
5250            Self::EYES_LOOK_DOWN_R => Some("EYES_LOOK_DOWN_R"),
5251            Self::EYES_LOOK_LEFT_L => Some("EYES_LOOK_LEFT_L"),
5252            Self::EYES_LOOK_LEFT_R => Some("EYES_LOOK_LEFT_R"),
5253            Self::EYES_LOOK_RIGHT_L => Some("EYES_LOOK_RIGHT_L"),
5254            Self::EYES_LOOK_RIGHT_R => Some("EYES_LOOK_RIGHT_R"),
5255            Self::EYES_LOOK_UP_L => Some("EYES_LOOK_UP_L"),
5256            Self::EYES_LOOK_UP_R => Some("EYES_LOOK_UP_R"),
5257            Self::INNER_BROW_RAISER_L => Some("INNER_BROW_RAISER_L"),
5258            Self::INNER_BROW_RAISER_R => Some("INNER_BROW_RAISER_R"),
5259            Self::JAW_DROP => Some("JAW_DROP"),
5260            Self::JAW_SIDEWAYS_LEFT => Some("JAW_SIDEWAYS_LEFT"),
5261            Self::JAW_SIDEWAYS_RIGHT => Some("JAW_SIDEWAYS_RIGHT"),
5262            Self::JAW_THRUST => Some("JAW_THRUST"),
5263            Self::LID_TIGHTENER_L => Some("LID_TIGHTENER_L"),
5264            Self::LID_TIGHTENER_R => Some("LID_TIGHTENER_R"),
5265            Self::LIP_CORNER_DEPRESSOR_L => Some("LIP_CORNER_DEPRESSOR_L"),
5266            Self::LIP_CORNER_DEPRESSOR_R => Some("LIP_CORNER_DEPRESSOR_R"),
5267            Self::LIP_CORNER_PULLER_L => Some("LIP_CORNER_PULLER_L"),
5268            Self::LIP_CORNER_PULLER_R => Some("LIP_CORNER_PULLER_R"),
5269            Self::LIP_FUNNELER_LB => Some("LIP_FUNNELER_LB"),
5270            Self::LIP_FUNNELER_LT => Some("LIP_FUNNELER_LT"),
5271            Self::LIP_FUNNELER_RB => Some("LIP_FUNNELER_RB"),
5272            Self::LIP_FUNNELER_RT => Some("LIP_FUNNELER_RT"),
5273            Self::LIP_PRESSOR_L => Some("LIP_PRESSOR_L"),
5274            Self::LIP_PRESSOR_R => Some("LIP_PRESSOR_R"),
5275            Self::LIP_PUCKER_L => Some("LIP_PUCKER_L"),
5276            Self::LIP_PUCKER_R => Some("LIP_PUCKER_R"),
5277            Self::LIP_STRETCHER_L => Some("LIP_STRETCHER_L"),
5278            Self::LIP_STRETCHER_R => Some("LIP_STRETCHER_R"),
5279            Self::LIP_SUCK_LB => Some("LIP_SUCK_LB"),
5280            Self::LIP_SUCK_LT => Some("LIP_SUCK_LT"),
5281            Self::LIP_SUCK_RB => Some("LIP_SUCK_RB"),
5282            Self::LIP_SUCK_RT => Some("LIP_SUCK_RT"),
5283            Self::LIP_TIGHTENER_L => Some("LIP_TIGHTENER_L"),
5284            Self::LIP_TIGHTENER_R => Some("LIP_TIGHTENER_R"),
5285            Self::LIPS_TOWARD => Some("LIPS_TOWARD"),
5286            Self::LOWER_LIP_DEPRESSOR_L => Some("LOWER_LIP_DEPRESSOR_L"),
5287            Self::LOWER_LIP_DEPRESSOR_R => Some("LOWER_LIP_DEPRESSOR_R"),
5288            Self::MOUTH_LEFT => Some("MOUTH_LEFT"),
5289            Self::MOUTH_RIGHT => Some("MOUTH_RIGHT"),
5290            Self::NOSE_WRINKLER_L => Some("NOSE_WRINKLER_L"),
5291            Self::NOSE_WRINKLER_R => Some("NOSE_WRINKLER_R"),
5292            Self::OUTER_BROW_RAISER_L => Some("OUTER_BROW_RAISER_L"),
5293            Self::OUTER_BROW_RAISER_R => Some("OUTER_BROW_RAISER_R"),
5294            Self::UPPER_LID_RAISER_L => Some("UPPER_LID_RAISER_L"),
5295            Self::UPPER_LID_RAISER_R => Some("UPPER_LID_RAISER_R"),
5296            Self::UPPER_LIP_RAISER_L => Some("UPPER_LIP_RAISER_L"),
5297            Self::UPPER_LIP_RAISER_R => Some("UPPER_LIP_RAISER_R"),
5298            Self::COUNT => Some("COUNT"),
5299            _ => None,
5300        };
5301        fmt_enum(fmt, self.0, name)
5302    }
5303}
5304#[doc = "See [XrFaceExpressionSetFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionSetFB)"]
5305#[repr(transparent)]
5306#[derive(Copy, Clone, Eq, PartialEq, Default)]
5307pub struct FaceExpressionSetFB(i32);
5308impl FaceExpressionSetFB {
5309    #[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."]
5310    pub const DEFAULT: FaceExpressionSetFB = Self(0i32);
5311    pub fn from_raw(x: i32) -> Self {
5312        Self(x)
5313    }
5314    pub fn into_raw(self) -> i32 {
5315        self.0
5316    }
5317}
5318impl fmt::Debug for FaceExpressionSetFB {
5319    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5320        let name = match *self {
5321            Self::DEFAULT => Some("DEFAULT"),
5322            _ => None,
5323        };
5324        fmt_enum(fmt, self.0, name)
5325    }
5326}
5327#[doc = "See [XrFaceConfidenceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceConfidenceFB)"]
5328#[repr(transparent)]
5329#[derive(Copy, Clone, Eq, PartialEq, Default)]
5330pub struct FaceConfidenceFB(i32);
5331impl FaceConfidenceFB {
5332    pub const LOWER_FACE: FaceConfidenceFB = Self(0i32);
5333    pub const UPPER_FACE: FaceConfidenceFB = Self(1i32);
5334    pub const COUNT: FaceConfidenceFB = Self(2i32);
5335    pub fn from_raw(x: i32) -> Self {
5336        Self(x)
5337    }
5338    pub fn into_raw(self) -> i32 {
5339        self.0
5340    }
5341}
5342impl fmt::Debug for FaceConfidenceFB {
5343    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5344        let name = match *self {
5345            Self::LOWER_FACE => Some("LOWER_FACE"),
5346            Self::UPPER_FACE => Some("UPPER_FACE"),
5347            Self::COUNT => Some("COUNT"),
5348            _ => None,
5349        };
5350        fmt_enum(fmt, self.0, name)
5351    }
5352}
5353#[doc = "See [XrFaceExpression2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpression2FB)"]
5354#[repr(transparent)]
5355#[derive(Copy, Clone, Eq, PartialEq, Default)]
5356pub struct FaceExpression2FB(i32);
5357impl FaceExpression2FB {
5358    pub const BROW_LOWERER_L: FaceExpression2FB = Self(0i32);
5359    pub const BROW_LOWERER_R: FaceExpression2FB = Self(1i32);
5360    pub const CHEEK_PUFF_L: FaceExpression2FB = Self(2i32);
5361    pub const CHEEK_PUFF_R: FaceExpression2FB = Self(3i32);
5362    pub const CHEEK_RAISER_L: FaceExpression2FB = Self(4i32);
5363    pub const CHEEK_RAISER_R: FaceExpression2FB = Self(5i32);
5364    pub const CHEEK_SUCK_L: FaceExpression2FB = Self(6i32);
5365    pub const CHEEK_SUCK_R: FaceExpression2FB = Self(7i32);
5366    pub const CHIN_RAISER_B: FaceExpression2FB = Self(8i32);
5367    pub const CHIN_RAISER_T: FaceExpression2FB = Self(9i32);
5368    pub const DIMPLER_L: FaceExpression2FB = Self(10i32);
5369    pub const DIMPLER_R: FaceExpression2FB = Self(11i32);
5370    pub const EYES_CLOSED_L: FaceExpression2FB = Self(12i32);
5371    pub const EYES_CLOSED_R: FaceExpression2FB = Self(13i32);
5372    pub const EYES_LOOK_DOWN_L: FaceExpression2FB = Self(14i32);
5373    pub const EYES_LOOK_DOWN_R: FaceExpression2FB = Self(15i32);
5374    pub const EYES_LOOK_LEFT_L: FaceExpression2FB = Self(16i32);
5375    pub const EYES_LOOK_LEFT_R: FaceExpression2FB = Self(17i32);
5376    pub const EYES_LOOK_RIGHT_L: FaceExpression2FB = Self(18i32);
5377    pub const EYES_LOOK_RIGHT_R: FaceExpression2FB = Self(19i32);
5378    pub const EYES_LOOK_UP_L: FaceExpression2FB = Self(20i32);
5379    pub const EYES_LOOK_UP_R: FaceExpression2FB = Self(21i32);
5380    pub const INNER_BROW_RAISER_L: FaceExpression2FB = Self(22i32);
5381    pub const INNER_BROW_RAISER_R: FaceExpression2FB = Self(23i32);
5382    pub const JAW_DROP: FaceExpression2FB = Self(24i32);
5383    pub const JAW_SIDEWAYS_LEFT: FaceExpression2FB = Self(25i32);
5384    pub const JAW_SIDEWAYS_RIGHT: FaceExpression2FB = Self(26i32);
5385    pub const JAW_THRUST: FaceExpression2FB = Self(27i32);
5386    pub const LID_TIGHTENER_L: FaceExpression2FB = Self(28i32);
5387    pub const LID_TIGHTENER_R: FaceExpression2FB = Self(29i32);
5388    pub const LIP_CORNER_DEPRESSOR_L: FaceExpression2FB = Self(30i32);
5389    pub const LIP_CORNER_DEPRESSOR_R: FaceExpression2FB = Self(31i32);
5390    pub const LIP_CORNER_PULLER_L: FaceExpression2FB = Self(32i32);
5391    pub const LIP_CORNER_PULLER_R: FaceExpression2FB = Self(33i32);
5392    pub const LIP_FUNNELER_LB: FaceExpression2FB = Self(34i32);
5393    pub const LIP_FUNNELER_LT: FaceExpression2FB = Self(35i32);
5394    pub const LIP_FUNNELER_RB: FaceExpression2FB = Self(36i32);
5395    pub const LIP_FUNNELER_RT: FaceExpression2FB = Self(37i32);
5396    pub const LIP_PRESSOR_L: FaceExpression2FB = Self(38i32);
5397    pub const LIP_PRESSOR_R: FaceExpression2FB = Self(39i32);
5398    pub const LIP_PUCKER_L: FaceExpression2FB = Self(40i32);
5399    pub const LIP_PUCKER_R: FaceExpression2FB = Self(41i32);
5400    pub const LIP_STRETCHER_L: FaceExpression2FB = Self(42i32);
5401    pub const LIP_STRETCHER_R: FaceExpression2FB = Self(43i32);
5402    pub const LIP_SUCK_LB: FaceExpression2FB = Self(44i32);
5403    pub const LIP_SUCK_LT: FaceExpression2FB = Self(45i32);
5404    pub const LIP_SUCK_RB: FaceExpression2FB = Self(46i32);
5405    pub const LIP_SUCK_RT: FaceExpression2FB = Self(47i32);
5406    pub const LIP_TIGHTENER_L: FaceExpression2FB = Self(48i32);
5407    pub const LIP_TIGHTENER_R: FaceExpression2FB = Self(49i32);
5408    pub const LIPS_TOWARD: FaceExpression2FB = Self(50i32);
5409    pub const LOWER_LIP_DEPRESSOR_L: FaceExpression2FB = Self(51i32);
5410    pub const LOWER_LIP_DEPRESSOR_R: FaceExpression2FB = Self(52i32);
5411    pub const MOUTH_LEFT: FaceExpression2FB = Self(53i32);
5412    pub const MOUTH_RIGHT: FaceExpression2FB = Self(54i32);
5413    pub const NOSE_WRINKLER_L: FaceExpression2FB = Self(55i32);
5414    pub const NOSE_WRINKLER_R: FaceExpression2FB = Self(56i32);
5415    pub const OUTER_BROW_RAISER_L: FaceExpression2FB = Self(57i32);
5416    pub const OUTER_BROW_RAISER_R: FaceExpression2FB = Self(58i32);
5417    pub const UPPER_LID_RAISER_L: FaceExpression2FB = Self(59i32);
5418    pub const UPPER_LID_RAISER_R: FaceExpression2FB = Self(60i32);
5419    pub const UPPER_LIP_RAISER_L: FaceExpression2FB = Self(61i32);
5420    pub const UPPER_LIP_RAISER_R: FaceExpression2FB = Self(62i32);
5421    pub const TONGUE_TIP_INTERDENTAL: FaceExpression2FB = Self(63i32);
5422    pub const TONGUE_TIP_ALVEOLAR: FaceExpression2FB = Self(64i32);
5423    pub const TONGUE_FRONT_DORSAL_PALATE: FaceExpression2FB = Self(65i32);
5424    pub const TONGUE_MID_DORSAL_PALATE: FaceExpression2FB = Self(66i32);
5425    pub const TONGUE_BACK_DORSAL_VELAR: FaceExpression2FB = Self(67i32);
5426    pub const TONGUE_OUT: FaceExpression2FB = Self(68i32);
5427    pub const TONGUE_RETREAT: FaceExpression2FB = Self(69i32);
5428    pub const COUNT: FaceExpression2FB = Self(70i32);
5429    pub fn from_raw(x: i32) -> Self {
5430        Self(x)
5431    }
5432    pub fn into_raw(self) -> i32 {
5433        self.0
5434    }
5435}
5436impl fmt::Debug for FaceExpression2FB {
5437    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5438        let name = match *self {
5439            Self::BROW_LOWERER_L => Some("BROW_LOWERER_L"),
5440            Self::BROW_LOWERER_R => Some("BROW_LOWERER_R"),
5441            Self::CHEEK_PUFF_L => Some("CHEEK_PUFF_L"),
5442            Self::CHEEK_PUFF_R => Some("CHEEK_PUFF_R"),
5443            Self::CHEEK_RAISER_L => Some("CHEEK_RAISER_L"),
5444            Self::CHEEK_RAISER_R => Some("CHEEK_RAISER_R"),
5445            Self::CHEEK_SUCK_L => Some("CHEEK_SUCK_L"),
5446            Self::CHEEK_SUCK_R => Some("CHEEK_SUCK_R"),
5447            Self::CHIN_RAISER_B => Some("CHIN_RAISER_B"),
5448            Self::CHIN_RAISER_T => Some("CHIN_RAISER_T"),
5449            Self::DIMPLER_L => Some("DIMPLER_L"),
5450            Self::DIMPLER_R => Some("DIMPLER_R"),
5451            Self::EYES_CLOSED_L => Some("EYES_CLOSED_L"),
5452            Self::EYES_CLOSED_R => Some("EYES_CLOSED_R"),
5453            Self::EYES_LOOK_DOWN_L => Some("EYES_LOOK_DOWN_L"),
5454            Self::EYES_LOOK_DOWN_R => Some("EYES_LOOK_DOWN_R"),
5455            Self::EYES_LOOK_LEFT_L => Some("EYES_LOOK_LEFT_L"),
5456            Self::EYES_LOOK_LEFT_R => Some("EYES_LOOK_LEFT_R"),
5457            Self::EYES_LOOK_RIGHT_L => Some("EYES_LOOK_RIGHT_L"),
5458            Self::EYES_LOOK_RIGHT_R => Some("EYES_LOOK_RIGHT_R"),
5459            Self::EYES_LOOK_UP_L => Some("EYES_LOOK_UP_L"),
5460            Self::EYES_LOOK_UP_R => Some("EYES_LOOK_UP_R"),
5461            Self::INNER_BROW_RAISER_L => Some("INNER_BROW_RAISER_L"),
5462            Self::INNER_BROW_RAISER_R => Some("INNER_BROW_RAISER_R"),
5463            Self::JAW_DROP => Some("JAW_DROP"),
5464            Self::JAW_SIDEWAYS_LEFT => Some("JAW_SIDEWAYS_LEFT"),
5465            Self::JAW_SIDEWAYS_RIGHT => Some("JAW_SIDEWAYS_RIGHT"),
5466            Self::JAW_THRUST => Some("JAW_THRUST"),
5467            Self::LID_TIGHTENER_L => Some("LID_TIGHTENER_L"),
5468            Self::LID_TIGHTENER_R => Some("LID_TIGHTENER_R"),
5469            Self::LIP_CORNER_DEPRESSOR_L => Some("LIP_CORNER_DEPRESSOR_L"),
5470            Self::LIP_CORNER_DEPRESSOR_R => Some("LIP_CORNER_DEPRESSOR_R"),
5471            Self::LIP_CORNER_PULLER_L => Some("LIP_CORNER_PULLER_L"),
5472            Self::LIP_CORNER_PULLER_R => Some("LIP_CORNER_PULLER_R"),
5473            Self::LIP_FUNNELER_LB => Some("LIP_FUNNELER_LB"),
5474            Self::LIP_FUNNELER_LT => Some("LIP_FUNNELER_LT"),
5475            Self::LIP_FUNNELER_RB => Some("LIP_FUNNELER_RB"),
5476            Self::LIP_FUNNELER_RT => Some("LIP_FUNNELER_RT"),
5477            Self::LIP_PRESSOR_L => Some("LIP_PRESSOR_L"),
5478            Self::LIP_PRESSOR_R => Some("LIP_PRESSOR_R"),
5479            Self::LIP_PUCKER_L => Some("LIP_PUCKER_L"),
5480            Self::LIP_PUCKER_R => Some("LIP_PUCKER_R"),
5481            Self::LIP_STRETCHER_L => Some("LIP_STRETCHER_L"),
5482            Self::LIP_STRETCHER_R => Some("LIP_STRETCHER_R"),
5483            Self::LIP_SUCK_LB => Some("LIP_SUCK_LB"),
5484            Self::LIP_SUCK_LT => Some("LIP_SUCK_LT"),
5485            Self::LIP_SUCK_RB => Some("LIP_SUCK_RB"),
5486            Self::LIP_SUCK_RT => Some("LIP_SUCK_RT"),
5487            Self::LIP_TIGHTENER_L => Some("LIP_TIGHTENER_L"),
5488            Self::LIP_TIGHTENER_R => Some("LIP_TIGHTENER_R"),
5489            Self::LIPS_TOWARD => Some("LIPS_TOWARD"),
5490            Self::LOWER_LIP_DEPRESSOR_L => Some("LOWER_LIP_DEPRESSOR_L"),
5491            Self::LOWER_LIP_DEPRESSOR_R => Some("LOWER_LIP_DEPRESSOR_R"),
5492            Self::MOUTH_LEFT => Some("MOUTH_LEFT"),
5493            Self::MOUTH_RIGHT => Some("MOUTH_RIGHT"),
5494            Self::NOSE_WRINKLER_L => Some("NOSE_WRINKLER_L"),
5495            Self::NOSE_WRINKLER_R => Some("NOSE_WRINKLER_R"),
5496            Self::OUTER_BROW_RAISER_L => Some("OUTER_BROW_RAISER_L"),
5497            Self::OUTER_BROW_RAISER_R => Some("OUTER_BROW_RAISER_R"),
5498            Self::UPPER_LID_RAISER_L => Some("UPPER_LID_RAISER_L"),
5499            Self::UPPER_LID_RAISER_R => Some("UPPER_LID_RAISER_R"),
5500            Self::UPPER_LIP_RAISER_L => Some("UPPER_LIP_RAISER_L"),
5501            Self::UPPER_LIP_RAISER_R => Some("UPPER_LIP_RAISER_R"),
5502            Self::TONGUE_TIP_INTERDENTAL => Some("TONGUE_TIP_INTERDENTAL"),
5503            Self::TONGUE_TIP_ALVEOLAR => Some("TONGUE_TIP_ALVEOLAR"),
5504            Self::TONGUE_FRONT_DORSAL_PALATE => Some("TONGUE_FRONT_DORSAL_PALATE"),
5505            Self::TONGUE_MID_DORSAL_PALATE => Some("TONGUE_MID_DORSAL_PALATE"),
5506            Self::TONGUE_BACK_DORSAL_VELAR => Some("TONGUE_BACK_DORSAL_VELAR"),
5507            Self::TONGUE_OUT => Some("TONGUE_OUT"),
5508            Self::TONGUE_RETREAT => Some("TONGUE_RETREAT"),
5509            Self::COUNT => Some("COUNT"),
5510            _ => None,
5511        };
5512        fmt_enum(fmt, self.0, name)
5513    }
5514}
5515#[doc = "See [XrFaceExpressionSet2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionSet2FB)"]
5516#[repr(transparent)]
5517#[derive(Copy, Clone, Eq, PartialEq, Default)]
5518pub struct FaceExpressionSet2FB(i32);
5519impl FaceExpressionSet2FB {
5520    #[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."]
5521    pub const DEFAULT: FaceExpressionSet2FB = Self(0i32);
5522    pub fn from_raw(x: i32) -> Self {
5523        Self(x)
5524    }
5525    pub fn into_raw(self) -> i32 {
5526        self.0
5527    }
5528}
5529impl fmt::Debug for FaceExpressionSet2FB {
5530    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5531        let name = match *self {
5532            Self::DEFAULT => Some("DEFAULT"),
5533            _ => None,
5534        };
5535        fmt_enum(fmt, self.0, name)
5536    }
5537}
5538#[doc = "See [XrFaceTrackingDataSource2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackingDataSource2FB)"]
5539#[repr(transparent)]
5540#[derive(Copy, Clone, Eq, PartialEq, Default)]
5541pub struct FaceTrackingDataSource2FB(i32);
5542impl FaceTrackingDataSource2FB {
5543    #[doc = "face tracking uses visual data to estimate expressions. Face tracking may use audio to further improve the quality of face tracking."]
5544    pub const VISUAL: FaceTrackingDataSource2FB = Self(0i32);
5545    #[doc = "face tracking uses audio data to estimate expressions."]
5546    pub const AUDIO: FaceTrackingDataSource2FB = Self(1i32);
5547    pub fn from_raw(x: i32) -> Self {
5548        Self(x)
5549    }
5550    pub fn into_raw(self) -> i32 {
5551        self.0
5552    }
5553}
5554impl fmt::Debug for FaceTrackingDataSource2FB {
5555    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5556        let name = match *self {
5557            Self::VISUAL => Some("VISUAL"),
5558            Self::AUDIO => Some("AUDIO"),
5559            _ => None,
5560        };
5561        fmt_enum(fmt, self.0, name)
5562    }
5563}
5564#[doc = "See [XrFaceConfidence2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceConfidence2FB)"]
5565#[repr(transparent)]
5566#[derive(Copy, Clone, Eq, PartialEq, Default)]
5567pub struct FaceConfidence2FB(i32);
5568impl FaceConfidence2FB {
5569    pub const LOWER_FACE: FaceConfidence2FB = Self(0i32);
5570    pub const UPPER_FACE: FaceConfidence2FB = Self(1i32);
5571    pub const COUNT: FaceConfidence2FB = Self(2i32);
5572    pub fn from_raw(x: i32) -> Self {
5573        Self(x)
5574    }
5575    pub fn into_raw(self) -> i32 {
5576        self.0
5577    }
5578}
5579impl fmt::Debug for FaceConfidence2FB {
5580    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5581        let name = match *self {
5582            Self::LOWER_FACE => Some("LOWER_FACE"),
5583            Self::UPPER_FACE => Some("UPPER_FACE"),
5584            Self::COUNT => Some("COUNT"),
5585            _ => None,
5586        };
5587        fmt_enum(fmt, self.0, name)
5588    }
5589}
5590#[doc = "See [XrBodyJointFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointFB)"]
5591#[repr(transparent)]
5592#[derive(Copy, Clone, Eq, PartialEq, Default)]
5593pub struct BodyJointFB(i32);
5594impl BodyJointFB {
5595    pub const ROOT: BodyJointFB = Self(0i32);
5596    pub const HIPS: BodyJointFB = Self(1i32);
5597    pub const SPINE_LOWER: BodyJointFB = Self(2i32);
5598    pub const SPINE_MIDDLE: BodyJointFB = Self(3i32);
5599    pub const SPINE_UPPER: BodyJointFB = Self(4i32);
5600    pub const CHEST: BodyJointFB = Self(5i32);
5601    pub const NECK: BodyJointFB = Self(6i32);
5602    pub const HEAD: BodyJointFB = Self(7i32);
5603    pub const LEFT_SHOULDER: BodyJointFB = Self(8i32);
5604    pub const LEFT_SCAPULA: BodyJointFB = Self(9i32);
5605    pub const LEFT_ARM_UPPER: BodyJointFB = Self(10i32);
5606    pub const LEFT_ARM_LOWER: BodyJointFB = Self(11i32);
5607    pub const LEFT_HAND_WRIST_TWIST: BodyJointFB = Self(12i32);
5608    pub const RIGHT_SHOULDER: BodyJointFB = Self(13i32);
5609    pub const RIGHT_SCAPULA: BodyJointFB = Self(14i32);
5610    pub const RIGHT_ARM_UPPER: BodyJointFB = Self(15i32);
5611    pub const RIGHT_ARM_LOWER: BodyJointFB = Self(16i32);
5612    pub const RIGHT_HAND_WRIST_TWIST: BodyJointFB = Self(17i32);
5613    pub const LEFT_HAND_PALM: BodyJointFB = Self(18i32);
5614    pub const LEFT_HAND_WRIST: BodyJointFB = Self(19i32);
5615    pub const LEFT_HAND_THUMB_METACARPAL: BodyJointFB = Self(20i32);
5616    pub const LEFT_HAND_THUMB_PROXIMAL: BodyJointFB = Self(21i32);
5617    pub const LEFT_HAND_THUMB_DISTAL: BodyJointFB = Self(22i32);
5618    pub const LEFT_HAND_THUMB_TIP: BodyJointFB = Self(23i32);
5619    pub const LEFT_HAND_INDEX_METACARPAL: BodyJointFB = Self(24i32);
5620    pub const LEFT_HAND_INDEX_PROXIMAL: BodyJointFB = Self(25i32);
5621    pub const LEFT_HAND_INDEX_INTERMEDIATE: BodyJointFB = Self(26i32);
5622    pub const LEFT_HAND_INDEX_DISTAL: BodyJointFB = Self(27i32);
5623    pub const LEFT_HAND_INDEX_TIP: BodyJointFB = Self(28i32);
5624    pub const LEFT_HAND_MIDDLE_METACARPAL: BodyJointFB = Self(29i32);
5625    pub const LEFT_HAND_MIDDLE_PROXIMAL: BodyJointFB = Self(30i32);
5626    pub const LEFT_HAND_MIDDLE_INTERMEDIATE: BodyJointFB = Self(31i32);
5627    pub const LEFT_HAND_MIDDLE_DISTAL: BodyJointFB = Self(32i32);
5628    pub const LEFT_HAND_MIDDLE_TIP: BodyJointFB = Self(33i32);
5629    pub const LEFT_HAND_RING_METACARPAL: BodyJointFB = Self(34i32);
5630    pub const LEFT_HAND_RING_PROXIMAL: BodyJointFB = Self(35i32);
5631    pub const LEFT_HAND_RING_INTERMEDIATE: BodyJointFB = Self(36i32);
5632    pub const LEFT_HAND_RING_DISTAL: BodyJointFB = Self(37i32);
5633    pub const LEFT_HAND_RING_TIP: BodyJointFB = Self(38i32);
5634    pub const LEFT_HAND_LITTLE_METACARPAL: BodyJointFB = Self(39i32);
5635    pub const LEFT_HAND_LITTLE_PROXIMAL: BodyJointFB = Self(40i32);
5636    pub const LEFT_HAND_LITTLE_INTERMEDIATE: BodyJointFB = Self(41i32);
5637    pub const LEFT_HAND_LITTLE_DISTAL: BodyJointFB = Self(42i32);
5638    pub const LEFT_HAND_LITTLE_TIP: BodyJointFB = Self(43i32);
5639    pub const RIGHT_HAND_PALM: BodyJointFB = Self(44i32);
5640    pub const RIGHT_HAND_WRIST: BodyJointFB = Self(45i32);
5641    pub const RIGHT_HAND_THUMB_METACARPAL: BodyJointFB = Self(46i32);
5642    pub const RIGHT_HAND_THUMB_PROXIMAL: BodyJointFB = Self(47i32);
5643    pub const RIGHT_HAND_THUMB_DISTAL: BodyJointFB = Self(48i32);
5644    pub const RIGHT_HAND_THUMB_TIP: BodyJointFB = Self(49i32);
5645    pub const RIGHT_HAND_INDEX_METACARPAL: BodyJointFB = Self(50i32);
5646    pub const RIGHT_HAND_INDEX_PROXIMAL: BodyJointFB = Self(51i32);
5647    pub const RIGHT_HAND_INDEX_INTERMEDIATE: BodyJointFB = Self(52i32);
5648    pub const RIGHT_HAND_INDEX_DISTAL: BodyJointFB = Self(53i32);
5649    pub const RIGHT_HAND_INDEX_TIP: BodyJointFB = Self(54i32);
5650    pub const RIGHT_HAND_MIDDLE_METACARPAL: BodyJointFB = Self(55i32);
5651    pub const RIGHT_HAND_MIDDLE_PROXIMAL: BodyJointFB = Self(56i32);
5652    pub const RIGHT_HAND_MIDDLE_INTERMEDIATE: BodyJointFB = Self(57i32);
5653    pub const RIGHT_HAND_MIDDLE_DISTAL: BodyJointFB = Self(58i32);
5654    pub const RIGHT_HAND_MIDDLE_TIP: BodyJointFB = Self(59i32);
5655    pub const RIGHT_HAND_RING_METACARPAL: BodyJointFB = Self(60i32);
5656    pub const RIGHT_HAND_RING_PROXIMAL: BodyJointFB = Self(61i32);
5657    pub const RIGHT_HAND_RING_INTERMEDIATE: BodyJointFB = Self(62i32);
5658    pub const RIGHT_HAND_RING_DISTAL: BodyJointFB = Self(63i32);
5659    pub const RIGHT_HAND_RING_TIP: BodyJointFB = Self(64i32);
5660    pub const RIGHT_HAND_LITTLE_METACARPAL: BodyJointFB = Self(65i32);
5661    pub const RIGHT_HAND_LITTLE_PROXIMAL: BodyJointFB = Self(66i32);
5662    pub const RIGHT_HAND_LITTLE_INTERMEDIATE: BodyJointFB = Self(67i32);
5663    pub const RIGHT_HAND_LITTLE_DISTAL: BodyJointFB = Self(68i32);
5664    pub const RIGHT_HAND_LITTLE_TIP: BodyJointFB = Self(69i32);
5665    pub const COUNT: BodyJointFB = Self(70i32);
5666    pub const NONE: BodyJointFB = Self(-1i32);
5667    pub fn from_raw(x: i32) -> Self {
5668        Self(x)
5669    }
5670    pub fn into_raw(self) -> i32 {
5671        self.0
5672    }
5673}
5674impl fmt::Debug for BodyJointFB {
5675    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5676        let name = match *self {
5677            Self::ROOT => Some("ROOT"),
5678            Self::HIPS => Some("HIPS"),
5679            Self::SPINE_LOWER => Some("SPINE_LOWER"),
5680            Self::SPINE_MIDDLE => Some("SPINE_MIDDLE"),
5681            Self::SPINE_UPPER => Some("SPINE_UPPER"),
5682            Self::CHEST => Some("CHEST"),
5683            Self::NECK => Some("NECK"),
5684            Self::HEAD => Some("HEAD"),
5685            Self::LEFT_SHOULDER => Some("LEFT_SHOULDER"),
5686            Self::LEFT_SCAPULA => Some("LEFT_SCAPULA"),
5687            Self::LEFT_ARM_UPPER => Some("LEFT_ARM_UPPER"),
5688            Self::LEFT_ARM_LOWER => Some("LEFT_ARM_LOWER"),
5689            Self::LEFT_HAND_WRIST_TWIST => Some("LEFT_HAND_WRIST_TWIST"),
5690            Self::RIGHT_SHOULDER => Some("RIGHT_SHOULDER"),
5691            Self::RIGHT_SCAPULA => Some("RIGHT_SCAPULA"),
5692            Self::RIGHT_ARM_UPPER => Some("RIGHT_ARM_UPPER"),
5693            Self::RIGHT_ARM_LOWER => Some("RIGHT_ARM_LOWER"),
5694            Self::RIGHT_HAND_WRIST_TWIST => Some("RIGHT_HAND_WRIST_TWIST"),
5695            Self::LEFT_HAND_PALM => Some("LEFT_HAND_PALM"),
5696            Self::LEFT_HAND_WRIST => Some("LEFT_HAND_WRIST"),
5697            Self::LEFT_HAND_THUMB_METACARPAL => Some("LEFT_HAND_THUMB_METACARPAL"),
5698            Self::LEFT_HAND_THUMB_PROXIMAL => Some("LEFT_HAND_THUMB_PROXIMAL"),
5699            Self::LEFT_HAND_THUMB_DISTAL => Some("LEFT_HAND_THUMB_DISTAL"),
5700            Self::LEFT_HAND_THUMB_TIP => Some("LEFT_HAND_THUMB_TIP"),
5701            Self::LEFT_HAND_INDEX_METACARPAL => Some("LEFT_HAND_INDEX_METACARPAL"),
5702            Self::LEFT_HAND_INDEX_PROXIMAL => Some("LEFT_HAND_INDEX_PROXIMAL"),
5703            Self::LEFT_HAND_INDEX_INTERMEDIATE => Some("LEFT_HAND_INDEX_INTERMEDIATE"),
5704            Self::LEFT_HAND_INDEX_DISTAL => Some("LEFT_HAND_INDEX_DISTAL"),
5705            Self::LEFT_HAND_INDEX_TIP => Some("LEFT_HAND_INDEX_TIP"),
5706            Self::LEFT_HAND_MIDDLE_METACARPAL => Some("LEFT_HAND_MIDDLE_METACARPAL"),
5707            Self::LEFT_HAND_MIDDLE_PROXIMAL => Some("LEFT_HAND_MIDDLE_PROXIMAL"),
5708            Self::LEFT_HAND_MIDDLE_INTERMEDIATE => Some("LEFT_HAND_MIDDLE_INTERMEDIATE"),
5709            Self::LEFT_HAND_MIDDLE_DISTAL => Some("LEFT_HAND_MIDDLE_DISTAL"),
5710            Self::LEFT_HAND_MIDDLE_TIP => Some("LEFT_HAND_MIDDLE_TIP"),
5711            Self::LEFT_HAND_RING_METACARPAL => Some("LEFT_HAND_RING_METACARPAL"),
5712            Self::LEFT_HAND_RING_PROXIMAL => Some("LEFT_HAND_RING_PROXIMAL"),
5713            Self::LEFT_HAND_RING_INTERMEDIATE => Some("LEFT_HAND_RING_INTERMEDIATE"),
5714            Self::LEFT_HAND_RING_DISTAL => Some("LEFT_HAND_RING_DISTAL"),
5715            Self::LEFT_HAND_RING_TIP => Some("LEFT_HAND_RING_TIP"),
5716            Self::LEFT_HAND_LITTLE_METACARPAL => Some("LEFT_HAND_LITTLE_METACARPAL"),
5717            Self::LEFT_HAND_LITTLE_PROXIMAL => Some("LEFT_HAND_LITTLE_PROXIMAL"),
5718            Self::LEFT_HAND_LITTLE_INTERMEDIATE => Some("LEFT_HAND_LITTLE_INTERMEDIATE"),
5719            Self::LEFT_HAND_LITTLE_DISTAL => Some("LEFT_HAND_LITTLE_DISTAL"),
5720            Self::LEFT_HAND_LITTLE_TIP => Some("LEFT_HAND_LITTLE_TIP"),
5721            Self::RIGHT_HAND_PALM => Some("RIGHT_HAND_PALM"),
5722            Self::RIGHT_HAND_WRIST => Some("RIGHT_HAND_WRIST"),
5723            Self::RIGHT_HAND_THUMB_METACARPAL => Some("RIGHT_HAND_THUMB_METACARPAL"),
5724            Self::RIGHT_HAND_THUMB_PROXIMAL => Some("RIGHT_HAND_THUMB_PROXIMAL"),
5725            Self::RIGHT_HAND_THUMB_DISTAL => Some("RIGHT_HAND_THUMB_DISTAL"),
5726            Self::RIGHT_HAND_THUMB_TIP => Some("RIGHT_HAND_THUMB_TIP"),
5727            Self::RIGHT_HAND_INDEX_METACARPAL => Some("RIGHT_HAND_INDEX_METACARPAL"),
5728            Self::RIGHT_HAND_INDEX_PROXIMAL => Some("RIGHT_HAND_INDEX_PROXIMAL"),
5729            Self::RIGHT_HAND_INDEX_INTERMEDIATE => Some("RIGHT_HAND_INDEX_INTERMEDIATE"),
5730            Self::RIGHT_HAND_INDEX_DISTAL => Some("RIGHT_HAND_INDEX_DISTAL"),
5731            Self::RIGHT_HAND_INDEX_TIP => Some("RIGHT_HAND_INDEX_TIP"),
5732            Self::RIGHT_HAND_MIDDLE_METACARPAL => Some("RIGHT_HAND_MIDDLE_METACARPAL"),
5733            Self::RIGHT_HAND_MIDDLE_PROXIMAL => Some("RIGHT_HAND_MIDDLE_PROXIMAL"),
5734            Self::RIGHT_HAND_MIDDLE_INTERMEDIATE => Some("RIGHT_HAND_MIDDLE_INTERMEDIATE"),
5735            Self::RIGHT_HAND_MIDDLE_DISTAL => Some("RIGHT_HAND_MIDDLE_DISTAL"),
5736            Self::RIGHT_HAND_MIDDLE_TIP => Some("RIGHT_HAND_MIDDLE_TIP"),
5737            Self::RIGHT_HAND_RING_METACARPAL => Some("RIGHT_HAND_RING_METACARPAL"),
5738            Self::RIGHT_HAND_RING_PROXIMAL => Some("RIGHT_HAND_RING_PROXIMAL"),
5739            Self::RIGHT_HAND_RING_INTERMEDIATE => Some("RIGHT_HAND_RING_INTERMEDIATE"),
5740            Self::RIGHT_HAND_RING_DISTAL => Some("RIGHT_HAND_RING_DISTAL"),
5741            Self::RIGHT_HAND_RING_TIP => Some("RIGHT_HAND_RING_TIP"),
5742            Self::RIGHT_HAND_LITTLE_METACARPAL => Some("RIGHT_HAND_LITTLE_METACARPAL"),
5743            Self::RIGHT_HAND_LITTLE_PROXIMAL => Some("RIGHT_HAND_LITTLE_PROXIMAL"),
5744            Self::RIGHT_HAND_LITTLE_INTERMEDIATE => Some("RIGHT_HAND_LITTLE_INTERMEDIATE"),
5745            Self::RIGHT_HAND_LITTLE_DISTAL => Some("RIGHT_HAND_LITTLE_DISTAL"),
5746            Self::RIGHT_HAND_LITTLE_TIP => Some("RIGHT_HAND_LITTLE_TIP"),
5747            Self::COUNT => Some("COUNT"),
5748            Self::NONE => Some("NONE"),
5749            _ => None,
5750        };
5751        fmt_enum(fmt, self.0, name)
5752    }
5753}
5754#[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)"]
5755#[repr(transparent)]
5756#[derive(Copy, Clone, Eq, PartialEq, Default)]
5757pub struct BodyJointSetFB(i32);
5758impl BodyJointSetFB {
5759    #[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."]
5760    pub const DEFAULT: BodyJointSetFB = Self(0i32);
5761    #[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."]
5762    pub const FULL_BODY_M: BodyJointSetFB = Self(1000274000i32);
5763    pub fn from_raw(x: i32) -> Self {
5764        Self(x)
5765    }
5766    pub fn into_raw(self) -> i32 {
5767        self.0
5768    }
5769}
5770impl fmt::Debug for BodyJointSetFB {
5771    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5772        let name = match *self {
5773            Self::DEFAULT => Some("DEFAULT"),
5774            Self::FULL_BODY_M => Some("FULL_BODY_M"),
5775            _ => None,
5776        };
5777        fmt_enum(fmt, self.0, name)
5778    }
5779}
5780#[doc = "See [XrFullBodyJointMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFullBodyJointMETA)"]
5781#[repr(transparent)]
5782#[derive(Copy, Clone, Eq, PartialEq, Default)]
5783pub struct FullBodyJointMETA(i32);
5784impl FullBodyJointMETA {
5785    pub const ROOT: FullBodyJointMETA = Self(0i32);
5786    pub const HIPS: FullBodyJointMETA = Self(1i32);
5787    pub const SPINE_LOWER: FullBodyJointMETA = Self(2i32);
5788    pub const SPINE_MIDDLE: FullBodyJointMETA = Self(3i32);
5789    pub const SPINE_UPPER: FullBodyJointMETA = Self(4i32);
5790    pub const CHEST: FullBodyJointMETA = Self(5i32);
5791    pub const NECK: FullBodyJointMETA = Self(6i32);
5792    pub const HEAD: FullBodyJointMETA = Self(7i32);
5793    pub const LEFT_SHOULDER: FullBodyJointMETA = Self(8i32);
5794    pub const LEFT_SCAPULA: FullBodyJointMETA = Self(9i32);
5795    pub const LEFT_ARM_UPPER: FullBodyJointMETA = Self(10i32);
5796    pub const LEFT_ARM_LOWER: FullBodyJointMETA = Self(11i32);
5797    pub const LEFT_HAND_WRIST_TWIST: FullBodyJointMETA = Self(12i32);
5798    pub const RIGHT_SHOULDER: FullBodyJointMETA = Self(13i32);
5799    pub const RIGHT_SCAPULA: FullBodyJointMETA = Self(14i32);
5800    pub const RIGHT_ARM_UPPER: FullBodyJointMETA = Self(15i32);
5801    pub const RIGHT_ARM_LOWER: FullBodyJointMETA = Self(16i32);
5802    pub const RIGHT_HAND_WRIST_TWIST: FullBodyJointMETA = Self(17i32);
5803    pub const LEFT_HAND_PALM: FullBodyJointMETA = Self(18i32);
5804    pub const LEFT_HAND_WRIST: FullBodyJointMETA = Self(19i32);
5805    pub const LEFT_HAND_THUMB_METACARPAL: FullBodyJointMETA = Self(20i32);
5806    pub const LEFT_HAND_THUMB_PROXIMAL: FullBodyJointMETA = Self(21i32);
5807    pub const LEFT_HAND_THUMB_DISTAL: FullBodyJointMETA = Self(22i32);
5808    pub const LEFT_HAND_THUMB_TIP: FullBodyJointMETA = Self(23i32);
5809    pub const LEFT_HAND_INDEX_METACARPAL: FullBodyJointMETA = Self(24i32);
5810    pub const LEFT_HAND_INDEX_PROXIMAL: FullBodyJointMETA = Self(25i32);
5811    pub const LEFT_HAND_INDEX_INTERMEDIATE: FullBodyJointMETA = Self(26i32);
5812    pub const LEFT_HAND_INDEX_DISTAL: FullBodyJointMETA = Self(27i32);
5813    pub const LEFT_HAND_INDEX_TIP: FullBodyJointMETA = Self(28i32);
5814    pub const LEFT_HAND_MIDDLE_METACARPAL: FullBodyJointMETA = Self(29i32);
5815    pub const LEFT_HAND_MIDDLE_PROXIMAL: FullBodyJointMETA = Self(30i32);
5816    pub const LEFT_HAND_MIDDLE_INTERMEDIATE: FullBodyJointMETA = Self(31i32);
5817    pub const LEFT_HAND_MIDDLE_DISTAL: FullBodyJointMETA = Self(32i32);
5818    pub const LEFT_HAND_MIDDLE_TIP: FullBodyJointMETA = Self(33i32);
5819    pub const LEFT_HAND_RING_METACARPAL: FullBodyJointMETA = Self(34i32);
5820    pub const LEFT_HAND_RING_PROXIMAL: FullBodyJointMETA = Self(35i32);
5821    pub const LEFT_HAND_RING_INTERMEDIATE: FullBodyJointMETA = Self(36i32);
5822    pub const LEFT_HAND_RING_DISTAL: FullBodyJointMETA = Self(37i32);
5823    pub const LEFT_HAND_RING_TIP: FullBodyJointMETA = Self(38i32);
5824    pub const LEFT_HAND_LITTLE_METACARPAL: FullBodyJointMETA = Self(39i32);
5825    pub const LEFT_HAND_LITTLE_PROXIMAL: FullBodyJointMETA = Self(40i32);
5826    pub const LEFT_HAND_LITTLE_INTERMEDIATE: FullBodyJointMETA = Self(41i32);
5827    pub const LEFT_HAND_LITTLE_DISTAL: FullBodyJointMETA = Self(42i32);
5828    pub const LEFT_HAND_LITTLE_TIP: FullBodyJointMETA = Self(43i32);
5829    pub const RIGHT_HAND_PALM: FullBodyJointMETA = Self(44i32);
5830    pub const RIGHT_HAND_WRIST: FullBodyJointMETA = Self(45i32);
5831    pub const RIGHT_HAND_THUMB_METACARPAL: FullBodyJointMETA = Self(46i32);
5832    pub const RIGHT_HAND_THUMB_PROXIMAL: FullBodyJointMETA = Self(47i32);
5833    pub const RIGHT_HAND_THUMB_DISTAL: FullBodyJointMETA = Self(48i32);
5834    pub const RIGHT_HAND_THUMB_TIP: FullBodyJointMETA = Self(49i32);
5835    pub const RIGHT_HAND_INDEX_METACARPAL: FullBodyJointMETA = Self(50i32);
5836    pub const RIGHT_HAND_INDEX_PROXIMAL: FullBodyJointMETA = Self(51i32);
5837    pub const RIGHT_HAND_INDEX_INTERMEDIATE: FullBodyJointMETA = Self(52i32);
5838    pub const RIGHT_HAND_INDEX_DISTAL: FullBodyJointMETA = Self(53i32);
5839    pub const RIGHT_HAND_INDEX_TIP: FullBodyJointMETA = Self(54i32);
5840    pub const RIGHT_HAND_MIDDLE_METACARPAL: FullBodyJointMETA = Self(55i32);
5841    pub const RIGHT_HAND_MIDDLE_PROXIMAL: FullBodyJointMETA = Self(56i32);
5842    pub const RIGHT_HAND_MIDDLE_INTERMEDIATE: FullBodyJointMETA = Self(57i32);
5843    pub const RIGHT_HAND_MIDDLE_DISTAL: FullBodyJointMETA = Self(58i32);
5844    pub const RIGHT_HAND_MIDDLE_TIP: FullBodyJointMETA = Self(59i32);
5845    pub const RIGHT_HAND_RING_METACARPAL: FullBodyJointMETA = Self(60i32);
5846    pub const RIGHT_HAND_RING_PROXIMAL: FullBodyJointMETA = Self(61i32);
5847    pub const RIGHT_HAND_RING_INTERMEDIATE: FullBodyJointMETA = Self(62i32);
5848    pub const RIGHT_HAND_RING_DISTAL: FullBodyJointMETA = Self(63i32);
5849    pub const RIGHT_HAND_RING_TIP: FullBodyJointMETA = Self(64i32);
5850    pub const RIGHT_HAND_LITTLE_METACARPAL: FullBodyJointMETA = Self(65i32);
5851    pub const RIGHT_HAND_LITTLE_PROXIMAL: FullBodyJointMETA = Self(66i32);
5852    pub const RIGHT_HAND_LITTLE_INTERMEDIATE: FullBodyJointMETA = Self(67i32);
5853    pub const RIGHT_HAND_LITTLE_DISTAL: FullBodyJointMETA = Self(68i32);
5854    pub const RIGHT_HAND_LITTLE_TIP: FullBodyJointMETA = Self(69i32);
5855    pub const LEFT_UPPER_LEG: FullBodyJointMETA = Self(70i32);
5856    pub const LEFT_LOWER_LEG: FullBodyJointMETA = Self(71i32);
5857    pub const LEFT_FOOT_ANKLE_TWIST: FullBodyJointMETA = Self(72i32);
5858    pub const LEFT_FOOT_ANKLE: FullBodyJointMETA = Self(73i32);
5859    pub const LEFT_FOOT_SUBTALAR: FullBodyJointMETA = Self(74i32);
5860    pub const LEFT_FOOT_TRANSVERSE: FullBodyJointMETA = Self(75i32);
5861    pub const LEFT_FOOT_BALL: FullBodyJointMETA = Self(76i32);
5862    pub const RIGHT_UPPER_LEG: FullBodyJointMETA = Self(77i32);
5863    pub const RIGHT_LOWER_LEG: FullBodyJointMETA = Self(78i32);
5864    pub const RIGHT_FOOT_ANKLE_TWIST: FullBodyJointMETA = Self(79i32);
5865    pub const RIGHT_FOOT_ANKLE: FullBodyJointMETA = Self(80i32);
5866    pub const RIGHT_FOOT_SUBTALAR: FullBodyJointMETA = Self(81i32);
5867    pub const RIGHT_FOOT_TRANSVERSE: FullBodyJointMETA = Self(82i32);
5868    pub const RIGHT_FOOT_BALL: FullBodyJointMETA = Self(83i32);
5869    pub const COUNT: FullBodyJointMETA = Self(84i32);
5870    pub const NONE: FullBodyJointMETA = Self(85i32);
5871    pub fn from_raw(x: i32) -> Self {
5872        Self(x)
5873    }
5874    pub fn into_raw(self) -> i32 {
5875        self.0
5876    }
5877}
5878impl fmt::Debug for FullBodyJointMETA {
5879    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5880        let name = match *self {
5881            Self::ROOT => Some("ROOT"),
5882            Self::HIPS => Some("HIPS"),
5883            Self::SPINE_LOWER => Some("SPINE_LOWER"),
5884            Self::SPINE_MIDDLE => Some("SPINE_MIDDLE"),
5885            Self::SPINE_UPPER => Some("SPINE_UPPER"),
5886            Self::CHEST => Some("CHEST"),
5887            Self::NECK => Some("NECK"),
5888            Self::HEAD => Some("HEAD"),
5889            Self::LEFT_SHOULDER => Some("LEFT_SHOULDER"),
5890            Self::LEFT_SCAPULA => Some("LEFT_SCAPULA"),
5891            Self::LEFT_ARM_UPPER => Some("LEFT_ARM_UPPER"),
5892            Self::LEFT_ARM_LOWER => Some("LEFT_ARM_LOWER"),
5893            Self::LEFT_HAND_WRIST_TWIST => Some("LEFT_HAND_WRIST_TWIST"),
5894            Self::RIGHT_SHOULDER => Some("RIGHT_SHOULDER"),
5895            Self::RIGHT_SCAPULA => Some("RIGHT_SCAPULA"),
5896            Self::RIGHT_ARM_UPPER => Some("RIGHT_ARM_UPPER"),
5897            Self::RIGHT_ARM_LOWER => Some("RIGHT_ARM_LOWER"),
5898            Self::RIGHT_HAND_WRIST_TWIST => Some("RIGHT_HAND_WRIST_TWIST"),
5899            Self::LEFT_HAND_PALM => Some("LEFT_HAND_PALM"),
5900            Self::LEFT_HAND_WRIST => Some("LEFT_HAND_WRIST"),
5901            Self::LEFT_HAND_THUMB_METACARPAL => Some("LEFT_HAND_THUMB_METACARPAL"),
5902            Self::LEFT_HAND_THUMB_PROXIMAL => Some("LEFT_HAND_THUMB_PROXIMAL"),
5903            Self::LEFT_HAND_THUMB_DISTAL => Some("LEFT_HAND_THUMB_DISTAL"),
5904            Self::LEFT_HAND_THUMB_TIP => Some("LEFT_HAND_THUMB_TIP"),
5905            Self::LEFT_HAND_INDEX_METACARPAL => Some("LEFT_HAND_INDEX_METACARPAL"),
5906            Self::LEFT_HAND_INDEX_PROXIMAL => Some("LEFT_HAND_INDEX_PROXIMAL"),
5907            Self::LEFT_HAND_INDEX_INTERMEDIATE => Some("LEFT_HAND_INDEX_INTERMEDIATE"),
5908            Self::LEFT_HAND_INDEX_DISTAL => Some("LEFT_HAND_INDEX_DISTAL"),
5909            Self::LEFT_HAND_INDEX_TIP => Some("LEFT_HAND_INDEX_TIP"),
5910            Self::LEFT_HAND_MIDDLE_METACARPAL => Some("LEFT_HAND_MIDDLE_METACARPAL"),
5911            Self::LEFT_HAND_MIDDLE_PROXIMAL => Some("LEFT_HAND_MIDDLE_PROXIMAL"),
5912            Self::LEFT_HAND_MIDDLE_INTERMEDIATE => Some("LEFT_HAND_MIDDLE_INTERMEDIATE"),
5913            Self::LEFT_HAND_MIDDLE_DISTAL => Some("LEFT_HAND_MIDDLE_DISTAL"),
5914            Self::LEFT_HAND_MIDDLE_TIP => Some("LEFT_HAND_MIDDLE_TIP"),
5915            Self::LEFT_HAND_RING_METACARPAL => Some("LEFT_HAND_RING_METACARPAL"),
5916            Self::LEFT_HAND_RING_PROXIMAL => Some("LEFT_HAND_RING_PROXIMAL"),
5917            Self::LEFT_HAND_RING_INTERMEDIATE => Some("LEFT_HAND_RING_INTERMEDIATE"),
5918            Self::LEFT_HAND_RING_DISTAL => Some("LEFT_HAND_RING_DISTAL"),
5919            Self::LEFT_HAND_RING_TIP => Some("LEFT_HAND_RING_TIP"),
5920            Self::LEFT_HAND_LITTLE_METACARPAL => Some("LEFT_HAND_LITTLE_METACARPAL"),
5921            Self::LEFT_HAND_LITTLE_PROXIMAL => Some("LEFT_HAND_LITTLE_PROXIMAL"),
5922            Self::LEFT_HAND_LITTLE_INTERMEDIATE => Some("LEFT_HAND_LITTLE_INTERMEDIATE"),
5923            Self::LEFT_HAND_LITTLE_DISTAL => Some("LEFT_HAND_LITTLE_DISTAL"),
5924            Self::LEFT_HAND_LITTLE_TIP => Some("LEFT_HAND_LITTLE_TIP"),
5925            Self::RIGHT_HAND_PALM => Some("RIGHT_HAND_PALM"),
5926            Self::RIGHT_HAND_WRIST => Some("RIGHT_HAND_WRIST"),
5927            Self::RIGHT_HAND_THUMB_METACARPAL => Some("RIGHT_HAND_THUMB_METACARPAL"),
5928            Self::RIGHT_HAND_THUMB_PROXIMAL => Some("RIGHT_HAND_THUMB_PROXIMAL"),
5929            Self::RIGHT_HAND_THUMB_DISTAL => Some("RIGHT_HAND_THUMB_DISTAL"),
5930            Self::RIGHT_HAND_THUMB_TIP => Some("RIGHT_HAND_THUMB_TIP"),
5931            Self::RIGHT_HAND_INDEX_METACARPAL => Some("RIGHT_HAND_INDEX_METACARPAL"),
5932            Self::RIGHT_HAND_INDEX_PROXIMAL => Some("RIGHT_HAND_INDEX_PROXIMAL"),
5933            Self::RIGHT_HAND_INDEX_INTERMEDIATE => Some("RIGHT_HAND_INDEX_INTERMEDIATE"),
5934            Self::RIGHT_HAND_INDEX_DISTAL => Some("RIGHT_HAND_INDEX_DISTAL"),
5935            Self::RIGHT_HAND_INDEX_TIP => Some("RIGHT_HAND_INDEX_TIP"),
5936            Self::RIGHT_HAND_MIDDLE_METACARPAL => Some("RIGHT_HAND_MIDDLE_METACARPAL"),
5937            Self::RIGHT_HAND_MIDDLE_PROXIMAL => Some("RIGHT_HAND_MIDDLE_PROXIMAL"),
5938            Self::RIGHT_HAND_MIDDLE_INTERMEDIATE => Some("RIGHT_HAND_MIDDLE_INTERMEDIATE"),
5939            Self::RIGHT_HAND_MIDDLE_DISTAL => Some("RIGHT_HAND_MIDDLE_DISTAL"),
5940            Self::RIGHT_HAND_MIDDLE_TIP => Some("RIGHT_HAND_MIDDLE_TIP"),
5941            Self::RIGHT_HAND_RING_METACARPAL => Some("RIGHT_HAND_RING_METACARPAL"),
5942            Self::RIGHT_HAND_RING_PROXIMAL => Some("RIGHT_HAND_RING_PROXIMAL"),
5943            Self::RIGHT_HAND_RING_INTERMEDIATE => Some("RIGHT_HAND_RING_INTERMEDIATE"),
5944            Self::RIGHT_HAND_RING_DISTAL => Some("RIGHT_HAND_RING_DISTAL"),
5945            Self::RIGHT_HAND_RING_TIP => Some("RIGHT_HAND_RING_TIP"),
5946            Self::RIGHT_HAND_LITTLE_METACARPAL => Some("RIGHT_HAND_LITTLE_METACARPAL"),
5947            Self::RIGHT_HAND_LITTLE_PROXIMAL => Some("RIGHT_HAND_LITTLE_PROXIMAL"),
5948            Self::RIGHT_HAND_LITTLE_INTERMEDIATE => Some("RIGHT_HAND_LITTLE_INTERMEDIATE"),
5949            Self::RIGHT_HAND_LITTLE_DISTAL => Some("RIGHT_HAND_LITTLE_DISTAL"),
5950            Self::RIGHT_HAND_LITTLE_TIP => Some("RIGHT_HAND_LITTLE_TIP"),
5951            Self::LEFT_UPPER_LEG => Some("LEFT_UPPER_LEG"),
5952            Self::LEFT_LOWER_LEG => Some("LEFT_LOWER_LEG"),
5953            Self::LEFT_FOOT_ANKLE_TWIST => Some("LEFT_FOOT_ANKLE_TWIST"),
5954            Self::LEFT_FOOT_ANKLE => Some("LEFT_FOOT_ANKLE"),
5955            Self::LEFT_FOOT_SUBTALAR => Some("LEFT_FOOT_SUBTALAR"),
5956            Self::LEFT_FOOT_TRANSVERSE => Some("LEFT_FOOT_TRANSVERSE"),
5957            Self::LEFT_FOOT_BALL => Some("LEFT_FOOT_BALL"),
5958            Self::RIGHT_UPPER_LEG => Some("RIGHT_UPPER_LEG"),
5959            Self::RIGHT_LOWER_LEG => Some("RIGHT_LOWER_LEG"),
5960            Self::RIGHT_FOOT_ANKLE_TWIST => Some("RIGHT_FOOT_ANKLE_TWIST"),
5961            Self::RIGHT_FOOT_ANKLE => Some("RIGHT_FOOT_ANKLE"),
5962            Self::RIGHT_FOOT_SUBTALAR => Some("RIGHT_FOOT_SUBTALAR"),
5963            Self::RIGHT_FOOT_TRANSVERSE => Some("RIGHT_FOOT_TRANSVERSE"),
5964            Self::RIGHT_FOOT_BALL => Some("RIGHT_FOOT_BALL"),
5965            Self::COUNT => Some("COUNT"),
5966            Self::NONE => Some("NONE"),
5967            _ => None,
5968        };
5969        fmt_enum(fmt, self.0, name)
5970    }
5971}
5972#[doc = "See [XrBodyTrackingCalibrationStateMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackingCalibrationStateMETA)"]
5973#[repr(transparent)]
5974#[derive(Copy, Clone, Eq, PartialEq)]
5975pub struct BodyTrackingCalibrationStateMETA(i32);
5976impl BodyTrackingCalibrationStateMETA {
5977    #[doc = "Valid calibration, body tracking expected to be stable."]
5978    pub const VALID: BodyTrackingCalibrationStateMETA = Self(1i32);
5979    #[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."]
5980    pub const CALIBRATING: BodyTrackingCalibrationStateMETA = Self(2i32);
5981    #[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."]
5982    pub const INVALID: BodyTrackingCalibrationStateMETA = Self(3i32);
5983    pub fn from_raw(x: i32) -> Self {
5984        Self(x)
5985    }
5986    pub fn into_raw(self) -> i32 {
5987        self.0
5988    }
5989}
5990impl fmt::Debug for BodyTrackingCalibrationStateMETA {
5991    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5992        let name = match *self {
5993            Self::VALID => Some("VALID"),
5994            Self::CALIBRATING => Some("CALIBRATING"),
5995            Self::INVALID => Some("INVALID"),
5996            _ => None,
5997        };
5998        fmt_enum(fmt, self.0, name)
5999    }
6000}
6001#[doc = "See [XrBodyTrackingFidelityMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackingFidelityMETA)"]
6002#[repr(transparent)]
6003#[derive(Copy, Clone, Eq, PartialEq)]
6004pub struct BodyTrackingFidelityMETA(i32);
6005impl BodyTrackingFidelityMETA {
6006    #[doc = "This value indicates that the body tracking runtime uses a simpler algorithm or less input to estimate the body pose in a way that trades off pose quality for system performance. For example, low fidelity may not accurately track a user's elbows."]
6007    pub const LOW: BodyTrackingFidelityMETA = Self(1i32);
6008    #[doc = "This value indicates that the body tracking runtime uses more advanced algorithms or more inputs to estimate the body pose. For example high fidelity may track a user's elbows."]
6009    pub const HIGH: BodyTrackingFidelityMETA = Self(2i32);
6010    pub fn from_raw(x: i32) -> Self {
6011        Self(x)
6012    }
6013    pub fn into_raw(self) -> i32 {
6014        self.0
6015    }
6016}
6017impl fmt::Debug for BodyTrackingFidelityMETA {
6018    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6019        let name = match *self {
6020            Self::LOW => Some("LOW"),
6021            Self::HIGH => Some("HIGH"),
6022            _ => None,
6023        };
6024        fmt_enum(fmt, self.0, name)
6025    }
6026}
6027#[doc = "See [XrEyePositionFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyePositionFB)"]
6028#[repr(transparent)]
6029#[derive(Copy, Clone, Eq, PartialEq, Default)]
6030pub struct EyePositionFB(i32);
6031impl EyePositionFB {
6032    #[doc = "Specifies the position of the left eye."]
6033    pub const LEFT: EyePositionFB = Self(0i32);
6034    #[doc = "Specifies the position of the right eye."]
6035    pub const RIGHT: EyePositionFB = Self(1i32);
6036    #[doc = "Specifies the number of eyes tracked."]
6037    pub const COUNT: EyePositionFB = Self(2i32);
6038    pub fn from_raw(x: i32) -> Self {
6039        Self(x)
6040    }
6041    pub fn into_raw(self) -> i32 {
6042        self.0
6043    }
6044}
6045impl fmt::Debug for EyePositionFB {
6046    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6047        let name = match *self {
6048            Self::LEFT => Some("LEFT"),
6049            Self::RIGHT => Some("RIGHT"),
6050            Self::COUNT => Some("COUNT"),
6051            _ => None,
6052        };
6053        fmt_enum(fmt, self.0, name)
6054    }
6055}
6056#[doc = "See [XrTrackingOptimizationSettingsDomainQCOM](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackingOptimizationSettingsDomainQCOM)"]
6057#[repr(transparent)]
6058#[derive(Copy, Clone, Eq, PartialEq)]
6059pub struct TrackingOptimizationSettingsDomainQCOM(i32);
6060impl TrackingOptimizationSettingsDomainQCOM {
6061    #[doc = "Setting applies to all QCOM tracking extensions."]
6062    pub const ALL: TrackingOptimizationSettingsDomainQCOM = Self(1i32);
6063    pub fn from_raw(x: i32) -> Self {
6064        Self(x)
6065    }
6066    pub fn into_raw(self) -> i32 {
6067        self.0
6068    }
6069}
6070impl fmt::Debug for TrackingOptimizationSettingsDomainQCOM {
6071    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6072        let name = match *self {
6073            Self::ALL => Some("ALL"),
6074            _ => None,
6075        };
6076        fmt_enum(fmt, self.0, name)
6077    }
6078}
6079#[doc = "See [XrTrackingOptimizationSettingsHintQCOM](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackingOptimizationSettingsHintQCOM)"]
6080#[repr(transparent)]
6081#[derive(Copy, Clone, Eq, PartialEq, Default)]
6082pub struct TrackingOptimizationSettingsHintQCOM(i32);
6083impl TrackingOptimizationSettingsHintQCOM {
6084    #[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."]
6085    pub const NONE: TrackingOptimizationSettingsHintQCOM = Self(0i32);
6086    #[doc = "Used by the application to indicate that it prefers tracking to be optimized for long range, possibly at the expense of competing interests."]
6087    pub const LONG_RANGE_PRIORIZATION: TrackingOptimizationSettingsHintQCOM = Self(1i32);
6088    #[doc = "Used by the application to indicate that it prefers tracking to be optimized for close range, possibly at the expense of competing interests."]
6089    pub const CLOSE_RANGE_PRIORIZATION: TrackingOptimizationSettingsHintQCOM = Self(2i32);
6090    #[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."]
6091    pub const LOW_POWER_PRIORIZATION: TrackingOptimizationSettingsHintQCOM = Self(3i32);
6092    #[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."]
6093    pub const HIGH_POWER_PRIORIZATION: TrackingOptimizationSettingsHintQCOM = Self(4i32);
6094    pub fn from_raw(x: i32) -> Self {
6095        Self(x)
6096    }
6097    pub fn into_raw(self) -> i32 {
6098        self.0
6099    }
6100}
6101impl fmt::Debug for TrackingOptimizationSettingsHintQCOM {
6102    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6103        let name = match *self {
6104            Self::NONE => Some("NONE"),
6105            Self::LONG_RANGE_PRIORIZATION => Some("LONG_RANGE_PRIORIZATION"),
6106            Self::CLOSE_RANGE_PRIORIZATION => Some("CLOSE_RANGE_PRIORIZATION"),
6107            Self::LOW_POWER_PRIORIZATION => Some("LOW_POWER_PRIORIZATION"),
6108            Self::HIGH_POWER_PRIORIZATION => Some("HIGH_POWER_PRIORIZATION"),
6109            _ => None,
6110        };
6111        fmt_enum(fmt, self.0, name)
6112    }
6113}
6114#[doc = "See [XrForceFeedbackCurlLocationMNDX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrForceFeedbackCurlLocationMNDX)"]
6115#[repr(transparent)]
6116#[derive(Copy, Clone, Eq, PartialEq, Default)]
6117pub struct ForceFeedbackCurlLocationMNDX(i32);
6118impl ForceFeedbackCurlLocationMNDX {
6119    #[doc = "force feedback for thumb curl"]
6120    pub const THUMB_CURL: ForceFeedbackCurlLocationMNDX = Self(0i32);
6121    #[doc = "force feedback for index finger curl"]
6122    pub const INDEX_CURL: ForceFeedbackCurlLocationMNDX = Self(1i32);
6123    #[doc = "force feedback for middle finger curl"]
6124    pub const MIDDLE_CURL: ForceFeedbackCurlLocationMNDX = Self(2i32);
6125    #[doc = "force feedback for ring finger curl"]
6126    pub const RING_CURL: ForceFeedbackCurlLocationMNDX = Self(3i32);
6127    #[doc = "force feedback for little finger curl"]
6128    pub const LITTLE_CURL: ForceFeedbackCurlLocationMNDX = Self(4i32);
6129    pub fn from_raw(x: i32) -> Self {
6130        Self(x)
6131    }
6132    pub fn into_raw(self) -> i32 {
6133        self.0
6134    }
6135}
6136impl fmt::Debug for ForceFeedbackCurlLocationMNDX {
6137    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6138        let name = match *self {
6139            Self::THUMB_CURL => Some("THUMB_CURL"),
6140            Self::INDEX_CURL => Some("INDEX_CURL"),
6141            Self::MIDDLE_CURL => Some("MIDDLE_CURL"),
6142            Self::RING_CURL => Some("RING_CURL"),
6143            Self::LITTLE_CURL => Some("LITTLE_CURL"),
6144            _ => None,
6145        };
6146        fmt_enum(fmt, self.0, name)
6147    }
6148}
6149#[doc = "See [XrPlaneDetectionStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectionStateEXT)"]
6150#[repr(transparent)]
6151#[derive(Copy, Clone, Eq, PartialEq, Default)]
6152pub struct PlaneDetectionStateEXT(i32);
6153impl PlaneDetectionStateEXT {
6154    pub const NONE: PlaneDetectionStateEXT = Self(0i32);
6155    pub const PENDING: PlaneDetectionStateEXT = Self(1i32);
6156    pub const DONE: PlaneDetectionStateEXT = Self(2i32);
6157    pub const ERROR: PlaneDetectionStateEXT = Self(3i32);
6158    pub const FATAL: PlaneDetectionStateEXT = Self(4i32);
6159    pub fn from_raw(x: i32) -> Self {
6160        Self(x)
6161    }
6162    pub fn into_raw(self) -> i32 {
6163        self.0
6164    }
6165}
6166impl fmt::Debug for PlaneDetectionStateEXT {
6167    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6168        let name = match *self {
6169            Self::NONE => Some("NONE"),
6170            Self::PENDING => Some("PENDING"),
6171            Self::DONE => Some("DONE"),
6172            Self::ERROR => Some("ERROR"),
6173            Self::FATAL => Some("FATAL"),
6174            _ => None,
6175        };
6176        fmt_enum(fmt, self.0, name)
6177    }
6178}
6179#[doc = "See [XrPlaneDetectorOrientationEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorOrientationEXT)"]
6180#[repr(transparent)]
6181#[derive(Copy, Clone, Eq, PartialEq, Default)]
6182pub struct PlaneDetectorOrientationEXT(i32);
6183impl PlaneDetectorOrientationEXT {
6184    #[doc = "The detected plane is horizontal and faces upward (e.g. floor)."]
6185    pub const HORIZONTAL_UPWARD: PlaneDetectorOrientationEXT = Self(0i32);
6186    #[doc = "The detected plane is horizontal and faces downward (e.g. ceiling)."]
6187    pub const HORIZONTAL_DOWNWARD: PlaneDetectorOrientationEXT = Self(1i32);
6188    #[doc = "The detected plane is vertical (e.g. wall)."]
6189    pub const VERTICAL: PlaneDetectorOrientationEXT = Self(2i32);
6190    #[doc = "The detected plane has an arbitrary, non-vertical and non-horizontal orientation."]
6191    pub const ARBITRARY: PlaneDetectorOrientationEXT = Self(3i32);
6192    pub fn from_raw(x: i32) -> Self {
6193        Self(x)
6194    }
6195    pub fn into_raw(self) -> i32 {
6196        self.0
6197    }
6198}
6199impl fmt::Debug for PlaneDetectorOrientationEXT {
6200    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6201        let name = match *self {
6202            Self::HORIZONTAL_UPWARD => Some("HORIZONTAL_UPWARD"),
6203            Self::HORIZONTAL_DOWNWARD => Some("HORIZONTAL_DOWNWARD"),
6204            Self::VERTICAL => Some("VERTICAL"),
6205            Self::ARBITRARY => Some("ARBITRARY"),
6206            _ => None,
6207        };
6208        fmt_enum(fmt, self.0, name)
6209    }
6210}
6211#[doc = "See [XrPlaneDetectorSemanticTypeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorSemanticTypeEXT)"]
6212#[repr(transparent)]
6213#[derive(Copy, Clone, Eq, PartialEq, Default)]
6214pub struct PlaneDetectorSemanticTypeEXT(i32);
6215impl PlaneDetectorSemanticTypeEXT {
6216    #[doc = "The runtime was unable to classify this plane."]
6217    pub const UNDEFINED: PlaneDetectorSemanticTypeEXT = Self(0i32);
6218    #[doc = "The detected plane is a ceiling."]
6219    pub const CEILING: PlaneDetectorSemanticTypeEXT = Self(1i32);
6220    #[doc = "The detected plane is a floor."]
6221    pub const FLOOR: PlaneDetectorSemanticTypeEXT = Self(2i32);
6222    #[doc = "The detected plane is a wall."]
6223    pub const WALL: PlaneDetectorSemanticTypeEXT = Self(3i32);
6224    #[doc = "The detected plane is a platform, like a table."]
6225    pub const PLATFORM: PlaneDetectorSemanticTypeEXT = Self(4i32);
6226    pub fn from_raw(x: i32) -> Self {
6227        Self(x)
6228    }
6229    pub fn into_raw(self) -> i32 {
6230        self.0
6231    }
6232}
6233impl fmt::Debug for PlaneDetectorSemanticTypeEXT {
6234    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6235        let name = match *self {
6236            Self::UNDEFINED => Some("UNDEFINED"),
6237            Self::CEILING => Some("CEILING"),
6238            Self::FLOOR => Some("FLOOR"),
6239            Self::WALL => Some("WALL"),
6240            Self::PLATFORM => Some("PLATFORM"),
6241            _ => None,
6242        };
6243        fmt_enum(fmt, self.0, name)
6244    }
6245}
6246#[doc = "See [XrVirtualKeyboardLocationTypeMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardLocationTypeMETA)"]
6247#[repr(transparent)]
6248#[derive(Copy, Clone, Eq, PartialEq, Default)]
6249pub struct VirtualKeyboardLocationTypeMETA(i32);
6250impl VirtualKeyboardLocationTypeMETA {
6251    #[doc = "Indicates that the application will provide the position and scale of the keyboard."]
6252    pub const CUSTOM: VirtualKeyboardLocationTypeMETA = Self(0i32);
6253    #[doc = "Indicates that the runtime will set the position and scale for far field keyboard."]
6254    pub const FAR: VirtualKeyboardLocationTypeMETA = Self(1i32);
6255    #[doc = "Indicates that the runtime will set the position and scale for direct interaction keyboard."]
6256    pub const DIRECT: VirtualKeyboardLocationTypeMETA = Self(2i32);
6257    pub fn from_raw(x: i32) -> Self {
6258        Self(x)
6259    }
6260    pub fn into_raw(self) -> i32 {
6261        self.0
6262    }
6263}
6264impl fmt::Debug for VirtualKeyboardLocationTypeMETA {
6265    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6266        let name = match *self {
6267            Self::CUSTOM => Some("CUSTOM"),
6268            Self::FAR => Some("FAR"),
6269            Self::DIRECT => Some("DIRECT"),
6270            _ => None,
6271        };
6272        fmt_enum(fmt, self.0, name)
6273    }
6274}
6275#[doc = "See [XrVirtualKeyboardInputSourceMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardInputSourceMETA)"]
6276#[repr(transparent)]
6277#[derive(Copy, Clone, Eq, PartialEq)]
6278pub struct VirtualKeyboardInputSourceMETA(i32);
6279impl VirtualKeyboardInputSourceMETA {
6280    #[doc = "Left controller ray."]
6281    pub const CONTROLLER_RAY_LEFT: VirtualKeyboardInputSourceMETA = Self(1i32);
6282    #[doc = "Right controller ray."]
6283    pub const CONTROLLER_RAY_RIGHT: VirtualKeyboardInputSourceMETA = Self(2i32);
6284    #[doc = "Left hand ray."]
6285    pub const HAND_RAY_LEFT: VirtualKeyboardInputSourceMETA = Self(3i32);
6286    #[doc = "Right hand ray."]
6287    pub const HAND_RAY_RIGHT: VirtualKeyboardInputSourceMETA = Self(4i32);
6288    #[doc = "Left controller direct touch."]
6289    pub const CONTROLLER_DIRECT_LEFT: VirtualKeyboardInputSourceMETA = Self(5i32);
6290    #[doc = "Right controller direct touch."]
6291    pub const CONTROLLER_DIRECT_RIGHT: VirtualKeyboardInputSourceMETA = Self(6i32);
6292    #[doc = "Left hand direct touch."]
6293    pub const HAND_DIRECT_INDEX_TIP_LEFT: VirtualKeyboardInputSourceMETA = Self(7i32);
6294    #[doc = "Right hand direct touch."]
6295    pub const HAND_DIRECT_INDEX_TIP_RIGHT: VirtualKeyboardInputSourceMETA = Self(8i32);
6296    pub fn from_raw(x: i32) -> Self {
6297        Self(x)
6298    }
6299    pub fn into_raw(self) -> i32 {
6300        self.0
6301    }
6302}
6303impl fmt::Debug for VirtualKeyboardInputSourceMETA {
6304    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6305        let name = match *self {
6306            Self::CONTROLLER_RAY_LEFT => Some("CONTROLLER_RAY_LEFT"),
6307            Self::CONTROLLER_RAY_RIGHT => Some("CONTROLLER_RAY_RIGHT"),
6308            Self::HAND_RAY_LEFT => Some("HAND_RAY_LEFT"),
6309            Self::HAND_RAY_RIGHT => Some("HAND_RAY_RIGHT"),
6310            Self::CONTROLLER_DIRECT_LEFT => Some("CONTROLLER_DIRECT_LEFT"),
6311            Self::CONTROLLER_DIRECT_RIGHT => Some("CONTROLLER_DIRECT_RIGHT"),
6312            Self::HAND_DIRECT_INDEX_TIP_LEFT => Some("HAND_DIRECT_INDEX_TIP_LEFT"),
6313            Self::HAND_DIRECT_INDEX_TIP_RIGHT => Some("HAND_DIRECT_INDEX_TIP_RIGHT"),
6314            _ => None,
6315        };
6316        fmt_enum(fmt, self.0, name)
6317    }
6318}
6319#[doc = "See [XrHeadsetFitStatusML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHeadsetFitStatusML)"]
6320#[repr(transparent)]
6321#[derive(Copy, Clone, Eq, PartialEq, Default)]
6322pub struct HeadsetFitStatusML(i32);
6323impl HeadsetFitStatusML {
6324    #[doc = "Headset fit status not available for unknown reason."]
6325    pub const UNKNOWN: HeadsetFitStatusML = Self(0i32);
6326    #[doc = "Headset not worn."]
6327    pub const NOT_WORN: HeadsetFitStatusML = Self(1i32);
6328    #[doc = "Good fit."]
6329    pub const GOOD_FIT: HeadsetFitStatusML = Self(2i32);
6330    #[doc = "Bad fit."]
6331    pub const BAD_FIT: HeadsetFitStatusML = Self(3i32);
6332    pub fn from_raw(x: i32) -> Self {
6333        Self(x)
6334    }
6335    pub fn into_raw(self) -> i32 {
6336        self.0
6337    }
6338}
6339impl fmt::Debug for HeadsetFitStatusML {
6340    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6341        let name = match *self {
6342            Self::UNKNOWN => Some("UNKNOWN"),
6343            Self::NOT_WORN => Some("NOT_WORN"),
6344            Self::GOOD_FIT => Some("GOOD_FIT"),
6345            Self::BAD_FIT => Some("BAD_FIT"),
6346            _ => None,
6347        };
6348        fmt_enum(fmt, self.0, name)
6349    }
6350}
6351#[doc = "See [XrEyeCalibrationStatusML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeCalibrationStatusML)"]
6352#[repr(transparent)]
6353#[derive(Copy, Clone, Eq, PartialEq, Default)]
6354pub struct EyeCalibrationStatusML(i32);
6355impl EyeCalibrationStatusML {
6356    #[doc = "Eye calibration status not available for unknown reason."]
6357    pub const UNKNOWN: EyeCalibrationStatusML = Self(0i32);
6358    #[doc = "User has not performed the eye calibration step. Use system provided app to perform eye calibration."]
6359    pub const NONE: EyeCalibrationStatusML = Self(1i32);
6360    #[doc = "Eye calibration is of lower accuracy."]
6361    pub const COARSE: EyeCalibrationStatusML = Self(2i32);
6362    #[doc = "Eye calibration is of higher accuracy."]
6363    pub const FINE: EyeCalibrationStatusML = Self(3i32);
6364    pub fn from_raw(x: i32) -> Self {
6365        Self(x)
6366    }
6367    pub fn into_raw(self) -> i32 {
6368        self.0
6369    }
6370}
6371impl fmt::Debug for EyeCalibrationStatusML {
6372    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6373        let name = match *self {
6374            Self::UNKNOWN => Some("UNKNOWN"),
6375            Self::NONE => Some("NONE"),
6376            Self::COARSE => Some("COARSE"),
6377            Self::FINE => Some("FINE"),
6378            _ => None,
6379        };
6380        fmt_enum(fmt, self.0, name)
6381    }
6382}
6383#[doc = "See [XrLocalizationMapStateML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalizationMapStateML)"]
6384#[repr(transparent)]
6385#[derive(Copy, Clone, Eq, PartialEq, Default)]
6386pub struct LocalizationMapStateML(i32);
6387impl LocalizationMapStateML {
6388    #[doc = "The system is not localized into a map. Features like Spatial Anchors relying on localization will not work."]
6389    pub const NOT_LOCALIZED: LocalizationMapStateML = Self(0i32);
6390    #[doc = "The system is localized into a map."]
6391    pub const LOCALIZED: LocalizationMapStateML = Self(1i32);
6392    #[doc = "The system is localizing into a map."]
6393    pub const LOCALIZATION_PENDING: LocalizationMapStateML = Self(2i32);
6394    #[doc = "Initial localization failed, the system will retry localization."]
6395    pub const LOCALIZATION_SLEEPING_BEFORE_RETRY: LocalizationMapStateML = Self(3i32);
6396    pub fn from_raw(x: i32) -> Self {
6397        Self(x)
6398    }
6399    pub fn into_raw(self) -> i32 {
6400        self.0
6401    }
6402}
6403impl fmt::Debug for LocalizationMapStateML {
6404    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6405        let name = match *self {
6406            Self::NOT_LOCALIZED => Some("NOT_LOCALIZED"),
6407            Self::LOCALIZED => Some("LOCALIZED"),
6408            Self::LOCALIZATION_PENDING => Some("LOCALIZATION_PENDING"),
6409            Self::LOCALIZATION_SLEEPING_BEFORE_RETRY => Some("LOCALIZATION_SLEEPING_BEFORE_RETRY"),
6410            _ => None,
6411        };
6412        fmt_enum(fmt, self.0, name)
6413    }
6414}
6415#[doc = "See [XrLocalizationMapTypeML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalizationMapTypeML)"]
6416#[repr(transparent)]
6417#[derive(Copy, Clone, Eq, PartialEq, Default)]
6418pub struct LocalizationMapTypeML(i32);
6419impl LocalizationMapTypeML {
6420    #[doc = "The system is localized into an On-Device map, published anchors are not shared between different devices."]
6421    pub const ON_DEVICE: LocalizationMapTypeML = Self(0i32);
6422    #[doc = "The system is localized into a Cloud Map, anchors are shared per cloud account settings."]
6423    pub const CLOUD: LocalizationMapTypeML = Self(1i32);
6424    pub fn from_raw(x: i32) -> Self {
6425        Self(x)
6426    }
6427    pub fn into_raw(self) -> i32 {
6428        self.0
6429    }
6430}
6431impl fmt::Debug for LocalizationMapTypeML {
6432    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6433        let name = match *self {
6434            Self::ON_DEVICE => Some("ON_DEVICE"),
6435            Self::CLOUD => Some("CLOUD"),
6436            _ => None,
6437        };
6438        fmt_enum(fmt, self.0, name)
6439    }
6440}
6441#[doc = "See [XrLocalizationMapConfidenceML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalizationMapConfidenceML)"]
6442#[repr(transparent)]
6443#[derive(Copy, Clone, Eq, PartialEq, Default)]
6444pub struct LocalizationMapConfidenceML(i32);
6445impl LocalizationMapConfidenceML {
6446    #[doc = "The localization map has poor confidence, systems relying on the localization map are likely to have poor performance."]
6447    pub const POOR: LocalizationMapConfidenceML = Self(0i32);
6448    #[doc = "The confidence is fair, current environmental conditions may adversely affect localization."]
6449    pub const FAIR: LocalizationMapConfidenceML = Self(1i32);
6450    #[doc = "The confidence is high, persistent content should be stable."]
6451    pub const GOOD: LocalizationMapConfidenceML = Self(2i32);
6452    #[doc = "This is a very high-confidence localization, persistent content will be very stable."]
6453    pub const EXCELLENT: LocalizationMapConfidenceML = Self(3i32);
6454    pub fn from_raw(x: i32) -> Self {
6455        Self(x)
6456    }
6457    pub fn into_raw(self) -> i32 {
6458        self.0
6459    }
6460}
6461impl fmt::Debug for LocalizationMapConfidenceML {
6462    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6463        let name = match *self {
6464            Self::POOR => Some("POOR"),
6465            Self::FAIR => Some("FAIR"),
6466            Self::GOOD => Some("GOOD"),
6467            Self::EXCELLENT => Some("EXCELLENT"),
6468            _ => None,
6469        };
6470        fmt_enum(fmt, self.0, name)
6471    }
6472}
6473#[doc = "See [XrMarkerDetectorProfileML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorProfileML)"]
6474#[repr(transparent)]
6475#[derive(Copy, Clone, Eq, PartialEq, Default)]
6476pub struct MarkerDetectorProfileML(i32);
6477impl MarkerDetectorProfileML {
6478    #[doc = "Tracker profile that covers standard use cases. If this does not suite the needs of the application try the other profiles listed below."]
6479    pub const DEFAULT: MarkerDetectorProfileML = Self(0i32);
6480    #[doc = "Optimized for speed. Use this profile to reduce the compute load and increase detection/tracker speed. This can result in low accuracy poses."]
6481    pub const SPEED: MarkerDetectorProfileML = Self(1i32);
6482    #[doc = "Optimized for accuracy. Use this profile to optimize for accurate marker poses. This can cause increased load on the compute."]
6483    pub const ACCURACY: MarkerDetectorProfileML = Self(2i32);
6484    #[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."]
6485    pub const SMALL_TARGETS: MarkerDetectorProfileML = Self(3i32);
6486    #[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."]
6487    pub const LARGE_FOV: MarkerDetectorProfileML = Self(4i32);
6488    #[doc = "Custom Tracker Profile. The application can define a custom tracker profile. See XrMarkerDetectorCustomProfileInfoML for more details."]
6489    pub const CUSTOM: MarkerDetectorProfileML = Self(5i32);
6490    pub fn from_raw(x: i32) -> Self {
6491        Self(x)
6492    }
6493    pub fn into_raw(self) -> i32 {
6494        self.0
6495    }
6496}
6497impl fmt::Debug for MarkerDetectorProfileML {
6498    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6499        let name = match *self {
6500            Self::DEFAULT => Some("DEFAULT"),
6501            Self::SPEED => Some("SPEED"),
6502            Self::ACCURACY => Some("ACCURACY"),
6503            Self::SMALL_TARGETS => Some("SMALL_TARGETS"),
6504            Self::LARGE_FOV => Some("LARGE_FOV"),
6505            Self::CUSTOM => Some("CUSTOM"),
6506            _ => None,
6507        };
6508        fmt_enum(fmt, self.0, name)
6509    }
6510}
6511#[doc = "See [XrMarkerTypeML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerTypeML)"]
6512#[repr(transparent)]
6513#[derive(Copy, Clone, Eq, PartialEq, Default)]
6514pub struct MarkerTypeML(i32);
6515impl MarkerTypeML {
6516    #[doc = "Aruco Marker detection and localization. The marker id of the Aruco marker is available via xrGetMarkerNumberML."]
6517    pub const ARUCO: MarkerTypeML = Self(0i32);
6518    #[doc = "AprilTag detection and localization. The marker id of the AprilTags is available via xrGetMarkerNumberML."]
6519    pub const APRIL_TAG: MarkerTypeML = Self(1i32);
6520    #[doc = "QR code detection and localization. The contents of the QR code is available via xrGetMarkerStringML."]
6521    pub const QR: MarkerTypeML = Self(2i32);
6522    #[doc = "EAN-13, detection only, not locatable. The contents of the barcode is available via xrGetMarkerStringML."]
6523    pub const EAN_13: MarkerTypeML = Self(3i32);
6524    #[doc = "UPC-A, detection only, not locatable. The contents of the barcode is available via xrGetMarkerStringML."]
6525    pub const UPC_A: MarkerTypeML = Self(4i32);
6526    #[doc = "Code 128, detection only, not locatable. The contents of the barcode is available via xrGetMarkerStringML."]
6527    pub const CODE_128: MarkerTypeML = Self(5i32);
6528    pub fn from_raw(x: i32) -> Self {
6529        Self(x)
6530    }
6531    pub fn into_raw(self) -> i32 {
6532        self.0
6533    }
6534}
6535impl fmt::Debug for MarkerTypeML {
6536    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6537        let name = match *self {
6538            Self::ARUCO => Some("ARUCO"),
6539            Self::APRIL_TAG => Some("APRIL_TAG"),
6540            Self::QR => Some("QR"),
6541            Self::EAN_13 => Some("EAN_13"),
6542            Self::UPC_A => Some("UPC_A"),
6543            Self::CODE_128 => Some("CODE_128"),
6544            _ => None,
6545        };
6546        fmt_enum(fmt, self.0, name)
6547    }
6548}
6549#[doc = "See [XrMarkerArucoDictML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerArucoDictML)"]
6550#[repr(transparent)]
6551#[derive(Copy, Clone, Eq, PartialEq, Default)]
6552pub struct MarkerArucoDictML(i32);
6553impl MarkerArucoDictML {
6554    #[doc = "4 by 4 pixel Aruco marker dictionary with 50 IDs."]
6555    pub const DICT_4X4_50: MarkerArucoDictML = Self(0i32);
6556    #[doc = "4 by 4 pixel Aruco marker dictionary with 100 IDs."]
6557    pub const DICT_4X4_100: MarkerArucoDictML = Self(1i32);
6558    #[doc = "4 by 4 pixel Aruco marker dictionary with 250 IDs."]
6559    pub const DICT_4X4_250: MarkerArucoDictML = Self(2i32);
6560    #[doc = "4 by 4 pixel Aruco marker dictionary with 1000 IDs."]
6561    pub const DICT_4X4_1000: MarkerArucoDictML = Self(3i32);
6562    #[doc = "5 by 5 pixel Aruco marker dictionary with 50 IDs."]
6563    pub const DICT_5X5_50: MarkerArucoDictML = Self(4i32);
6564    #[doc = "5 by 5 pixel Aruco marker dictionary with 100 IDs."]
6565    pub const DICT_5X5_100: MarkerArucoDictML = Self(5i32);
6566    #[doc = "5 by 5 pixel Aruco marker dictionary with 250 IDs."]
6567    pub const DICT_5X5_250: MarkerArucoDictML = Self(6i32);
6568    #[doc = "5 by 5 pixel Aruco marker dictionary with 1000 IDs."]
6569    pub const DICT_5X5_1000: MarkerArucoDictML = Self(7i32);
6570    #[doc = "6 by 6 pixel Aruco marker dictionary with 50 IDs."]
6571    pub const DICT_6X6_50: MarkerArucoDictML = Self(8i32);
6572    #[doc = "6 by 6 pixel Aruco marker dictionary with 100 IDs."]
6573    pub const DICT_6X6_100: MarkerArucoDictML = Self(9i32);
6574    #[doc = "6 by 6 pixel Aruco marker dictionary with 250 IDs."]
6575    pub const DICT_6X6_250: MarkerArucoDictML = Self(10i32);
6576    #[doc = "6 by 6 pixel Aruco marker dictionary with 1000 IDs."]
6577    pub const DICT_6X6_1000: MarkerArucoDictML = Self(11i32);
6578    #[doc = "7 by 7 pixel Aruco marker dictionary with 50 IDs."]
6579    pub const DICT_7X7_50: MarkerArucoDictML = Self(12i32);
6580    #[doc = "7 by 7 pixel Aruco marker dictionary with 100 IDs."]
6581    pub const DICT_7X7_100: MarkerArucoDictML = Self(13i32);
6582    #[doc = "7 by 7 pixel Aruco marker dictionary with 250 IDs."]
6583    pub const DICT_7X7_250: MarkerArucoDictML = Self(14i32);
6584    #[doc = "7 by 7 pixel Aruco marker dictionary with 1000 IDs."]
6585    pub const DICT_7X7_1000: MarkerArucoDictML = Self(15i32);
6586    pub fn from_raw(x: i32) -> Self {
6587        Self(x)
6588    }
6589    pub fn into_raw(self) -> i32 {
6590        self.0
6591    }
6592}
6593impl fmt::Debug for MarkerArucoDictML {
6594    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6595        let name = match *self {
6596            Self::DICT_4X4_50 => Some("DICT_4X4_50"),
6597            Self::DICT_4X4_100 => Some("DICT_4X4_100"),
6598            Self::DICT_4X4_250 => Some("DICT_4X4_250"),
6599            Self::DICT_4X4_1000 => Some("DICT_4X4_1000"),
6600            Self::DICT_5X5_50 => Some("DICT_5X5_50"),
6601            Self::DICT_5X5_100 => Some("DICT_5X5_100"),
6602            Self::DICT_5X5_250 => Some("DICT_5X5_250"),
6603            Self::DICT_5X5_1000 => Some("DICT_5X5_1000"),
6604            Self::DICT_6X6_50 => Some("DICT_6X6_50"),
6605            Self::DICT_6X6_100 => Some("DICT_6X6_100"),
6606            Self::DICT_6X6_250 => Some("DICT_6X6_250"),
6607            Self::DICT_6X6_1000 => Some("DICT_6X6_1000"),
6608            Self::DICT_7X7_50 => Some("DICT_7X7_50"),
6609            Self::DICT_7X7_100 => Some("DICT_7X7_100"),
6610            Self::DICT_7X7_250 => Some("DICT_7X7_250"),
6611            Self::DICT_7X7_1000 => Some("DICT_7X7_1000"),
6612            _ => None,
6613        };
6614        fmt_enum(fmt, self.0, name)
6615    }
6616}
6617#[doc = "See [XrMarkerAprilTagDictML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerAprilTagDictML)"]
6618#[repr(transparent)]
6619#[derive(Copy, Clone, Eq, PartialEq, Default)]
6620pub struct MarkerAprilTagDictML(i32);
6621impl MarkerAprilTagDictML {
6622    #[doc = "4 by 4 bits, minimum Hamming distance between any two codes = 5, 30 codes."]
6623    pub const DICT_16H5: MarkerAprilTagDictML = Self(0i32);
6624    #[doc = "5 by 5 bits, minimum Hamming distance between any two codes = 9, 35 codes."]
6625    pub const DICT_25H9: MarkerAprilTagDictML = Self(1i32);
6626    #[doc = "6 by 6 bits, minimum Hamming distance between any two codes = 10, 2320 codes."]
6627    pub const DICT_36H10: MarkerAprilTagDictML = Self(2i32);
6628    #[doc = "6 by 6 bits, minimum Hamming distance between any two codes = 11, 587 codes."]
6629    pub const DICT_36H11: MarkerAprilTagDictML = Self(3i32);
6630    pub fn from_raw(x: i32) -> Self {
6631        Self(x)
6632    }
6633    pub fn into_raw(self) -> i32 {
6634        self.0
6635    }
6636}
6637impl fmt::Debug for MarkerAprilTagDictML {
6638    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6639        let name = match *self {
6640            Self::DICT_16H5 => Some("DICT_16H5"),
6641            Self::DICT_25H9 => Some("DICT_25H9"),
6642            Self::DICT_36H10 => Some("DICT_36H10"),
6643            Self::DICT_36H11 => Some("DICT_36H11"),
6644            _ => None,
6645        };
6646        fmt_enum(fmt, self.0, name)
6647    }
6648}
6649#[doc = "See [XrMarkerDetectorFpsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorFpsML)"]
6650#[repr(transparent)]
6651#[derive(Copy, Clone, Eq, PartialEq, Default)]
6652pub struct MarkerDetectorFpsML(i32);
6653impl MarkerDetectorFpsML {
6654    #[doc = "Low FPS."]
6655    pub const LOW: MarkerDetectorFpsML = Self(0i32);
6656    #[doc = "Medium FPS."]
6657    pub const MEDIUM: MarkerDetectorFpsML = Self(1i32);
6658    #[doc = "High FPS."]
6659    pub const HIGH: MarkerDetectorFpsML = Self(2i32);
6660    #[doc = "Max possible FPS."]
6661    pub const MAX: MarkerDetectorFpsML = Self(3i32);
6662    pub fn from_raw(x: i32) -> Self {
6663        Self(x)
6664    }
6665    pub fn into_raw(self) -> i32 {
6666        self.0
6667    }
6668}
6669impl fmt::Debug for MarkerDetectorFpsML {
6670    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6671        let name = match *self {
6672            Self::LOW => Some("LOW"),
6673            Self::MEDIUM => Some("MEDIUM"),
6674            Self::HIGH => Some("HIGH"),
6675            Self::MAX => Some("MAX"),
6676            _ => None,
6677        };
6678        fmt_enum(fmt, self.0, name)
6679    }
6680}
6681#[doc = "See [XrMarkerDetectorResolutionML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorResolutionML)"]
6682#[repr(transparent)]
6683#[derive(Copy, Clone, Eq, PartialEq, Default)]
6684pub struct MarkerDetectorResolutionML(i32);
6685impl MarkerDetectorResolutionML {
6686    #[doc = "Low Resolution."]
6687    pub const LOW: MarkerDetectorResolutionML = Self(0i32);
6688    #[doc = "Medium Resolution."]
6689    pub const MEDIUM: MarkerDetectorResolutionML = Self(1i32);
6690    #[doc = "High Resolution."]
6691    pub const HIGH: MarkerDetectorResolutionML = Self(2i32);
6692    pub fn from_raw(x: i32) -> Self {
6693        Self(x)
6694    }
6695    pub fn into_raw(self) -> i32 {
6696        self.0
6697    }
6698}
6699impl fmt::Debug for MarkerDetectorResolutionML {
6700    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6701        let name = match *self {
6702            Self::LOW => Some("LOW"),
6703            Self::MEDIUM => Some("MEDIUM"),
6704            Self::HIGH => Some("HIGH"),
6705            _ => None,
6706        };
6707        fmt_enum(fmt, self.0, name)
6708    }
6709}
6710#[doc = "See [XrMarkerDetectorCameraML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorCameraML)"]
6711#[repr(transparent)]
6712#[derive(Copy, Clone, Eq, PartialEq, Default)]
6713pub struct MarkerDetectorCameraML(i32);
6714impl MarkerDetectorCameraML {
6715    #[doc = "Single RGB camera."]
6716    pub const RGB_CAMERA: MarkerDetectorCameraML = Self(0i32);
6717    #[doc = "One or more world cameras."]
6718    pub const WORLD_CAMERAS: MarkerDetectorCameraML = Self(1i32);
6719    pub fn from_raw(x: i32) -> Self {
6720        Self(x)
6721    }
6722    pub fn into_raw(self) -> i32 {
6723        self.0
6724    }
6725}
6726impl fmt::Debug for MarkerDetectorCameraML {
6727    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6728        let name = match *self {
6729            Self::RGB_CAMERA => Some("RGB_CAMERA"),
6730            Self::WORLD_CAMERAS => Some("WORLD_CAMERAS"),
6731            _ => None,
6732        };
6733        fmt_enum(fmt, self.0, name)
6734    }
6735}
6736#[doc = "See [XrMarkerDetectorCornerRefineMethodML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorCornerRefineMethodML)"]
6737#[repr(transparent)]
6738#[derive(Copy, Clone, Eq, PartialEq, Default)]
6739pub struct MarkerDetectorCornerRefineMethodML(i32);
6740impl MarkerDetectorCornerRefineMethodML {
6741    #[doc = "No refinement. Inaccurate corners."]
6742    pub const NONE: MarkerDetectorCornerRefineMethodML = Self(0i32);
6743    #[doc = "Subpixel refinement. Corners have subpixel coordinates. High detection rate, very fast, reasonable accuracy."]
6744    pub const SUBPIX: MarkerDetectorCornerRefineMethodML = Self(1i32);
6745    #[doc = "Contour refinement. High detection rate, fast, reasonable accuracy."]
6746    pub const CONTOUR: MarkerDetectorCornerRefineMethodML = Self(2i32);
6747    #[doc = "AprilTag refinement. Reasonable detection rate, slowest, but very accurate. Only valid with AprilTags."]
6748    pub const APRIL_TAG: MarkerDetectorCornerRefineMethodML = Self(3i32);
6749    pub fn from_raw(x: i32) -> Self {
6750        Self(x)
6751    }
6752    pub fn into_raw(self) -> i32 {
6753        self.0
6754    }
6755}
6756impl fmt::Debug for MarkerDetectorCornerRefineMethodML {
6757    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6758        let name = match *self {
6759            Self::NONE => Some("NONE"),
6760            Self::SUBPIX => Some("SUBPIX"),
6761            Self::CONTOUR => Some("CONTOUR"),
6762            Self::APRIL_TAG => Some("APRIL_TAG"),
6763            _ => None,
6764        };
6765        fmt_enum(fmt, self.0, name)
6766    }
6767}
6768#[doc = "See [XrMarkerDetectorFullAnalysisIntervalML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorFullAnalysisIntervalML)"]
6769#[repr(transparent)]
6770#[derive(Copy, Clone, Eq, PartialEq, Default)]
6771pub struct MarkerDetectorFullAnalysisIntervalML(i32);
6772impl MarkerDetectorFullAnalysisIntervalML {
6773    #[doc = "Detector analyzes every frame fully."]
6774    pub const MAX: MarkerDetectorFullAnalysisIntervalML = Self(0i32);
6775    #[doc = "Detector analyzes frame fully very often."]
6776    pub const FAST: MarkerDetectorFullAnalysisIntervalML = Self(1i32);
6777    #[doc = "Detector analyzes frame fully a few times per second."]
6778    pub const MEDIUM: MarkerDetectorFullAnalysisIntervalML = Self(2i32);
6779    #[doc = "Detector analyzes frame fully about every second."]
6780    pub const SLOW: MarkerDetectorFullAnalysisIntervalML = Self(3i32);
6781    pub fn from_raw(x: i32) -> Self {
6782        Self(x)
6783    }
6784    pub fn into_raw(self) -> i32 {
6785        self.0
6786    }
6787}
6788impl fmt::Debug for MarkerDetectorFullAnalysisIntervalML {
6789    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6790        let name = match *self {
6791            Self::MAX => Some("MAX"),
6792            Self::FAST => Some("FAST"),
6793            Self::MEDIUM => Some("MEDIUM"),
6794            Self::SLOW => Some("SLOW"),
6795            _ => None,
6796        };
6797        fmt_enum(fmt, self.0, name)
6798    }
6799}
6800#[doc = "See [XrMarkerDetectorStatusML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorStatusML)"]
6801#[repr(transparent)]
6802#[derive(Copy, Clone, Eq, PartialEq, Default)]
6803pub struct MarkerDetectorStatusML(i32);
6804impl MarkerDetectorStatusML {
6805    #[doc = "The marker detector is working on a new snapshot."]
6806    pub const PENDING: MarkerDetectorStatusML = Self(0i32);
6807    #[doc = "The marker detector is ready to be inspected."]
6808    pub const READY: MarkerDetectorStatusML = Self(1i32);
6809    #[doc = "The marker detector has encountered a fatal error."]
6810    pub const ERROR: MarkerDetectorStatusML = Self(2i32);
6811    pub fn from_raw(x: i32) -> Self {
6812        Self(x)
6813    }
6814    pub fn into_raw(self) -> i32 {
6815        self.0
6816    }
6817}
6818impl fmt::Debug for MarkerDetectorStatusML {
6819    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6820        let name = match *self {
6821            Self::PENDING => Some("PENDING"),
6822            Self::READY => Some("READY"),
6823            Self::ERROR => Some("ERROR"),
6824            _ => None,
6825        };
6826        fmt_enum(fmt, self.0, name)
6827    }
6828}
6829#[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)"]
6830#[repr(transparent)]
6831#[derive(Copy, Clone, Eq, PartialEq, Default)]
6832pub struct FacialBlendShapeML(i32);
6833impl FacialBlendShapeML {
6834    pub const BROW_LOWERER_L: FacialBlendShapeML = Self(0i32);
6835    pub const BROW_LOWERER_R: FacialBlendShapeML = Self(1i32);
6836    pub const CHEEK_RAISER_L: FacialBlendShapeML = Self(2i32);
6837    pub const CHEEK_RAISER_R: FacialBlendShapeML = Self(3i32);
6838    pub const CHIN_RAISER: FacialBlendShapeML = Self(4i32);
6839    pub const DIMPLER_L: FacialBlendShapeML = Self(5i32);
6840    pub const DIMPLER_R: FacialBlendShapeML = Self(6i32);
6841    pub const EYES_CLOSED_L: FacialBlendShapeML = Self(7i32);
6842    pub const EYES_CLOSED_R: FacialBlendShapeML = Self(8i32);
6843    pub const INNER_BROW_RAISER_L: FacialBlendShapeML = Self(9i32);
6844    pub const INNER_BROW_RAISER_R: FacialBlendShapeML = Self(10i32);
6845    pub const JAW_DROP: FacialBlendShapeML = Self(11i32);
6846    pub const LID_TIGHTENER_L: FacialBlendShapeML = Self(12i32);
6847    pub const LID_TIGHTENER_R: FacialBlendShapeML = Self(13i32);
6848    pub const LIP_CORNER_DEPRESSOR_L: FacialBlendShapeML = Self(14i32);
6849    pub const LIP_CORNER_DEPRESSOR_R: FacialBlendShapeML = Self(15i32);
6850    pub const LIP_CORNER_PULLER_L: FacialBlendShapeML = Self(16i32);
6851    pub const LIP_CORNER_PULLER_R: FacialBlendShapeML = Self(17i32);
6852    pub const LIP_FUNNELER_LB: FacialBlendShapeML = Self(18i32);
6853    pub const LIP_FUNNELER_LT: FacialBlendShapeML = Self(19i32);
6854    pub const LIP_FUNNELER_RB: FacialBlendShapeML = Self(20i32);
6855    pub const LIP_FUNNELER_RT: FacialBlendShapeML = Self(21i32);
6856    pub const LIP_PRESSOR_L: FacialBlendShapeML = Self(22i32);
6857    pub const LIP_PRESSOR_R: FacialBlendShapeML = Self(23i32);
6858    pub const LIP_PUCKER_L: FacialBlendShapeML = Self(24i32);
6859    pub const LIP_PUCKER_R: FacialBlendShapeML = Self(25i32);
6860    pub const LIP_STRETCHER_L: FacialBlendShapeML = Self(26i32);
6861    pub const LIP_STRETCHER_R: FacialBlendShapeML = Self(27i32);
6862    pub const LIP_SUCK_LB: FacialBlendShapeML = Self(28i32);
6863    pub const LIP_SUCK_LT: FacialBlendShapeML = Self(29i32);
6864    pub const LIP_SUCK_RB: FacialBlendShapeML = Self(30i32);
6865    pub const LIP_SUCK_RT: FacialBlendShapeML = Self(31i32);
6866    pub const LIP_TIGHTENER_L: FacialBlendShapeML = Self(32i32);
6867    pub const LIP_TIGHTENER_R: FacialBlendShapeML = Self(33i32);
6868    pub const LIPS_TOWARD: FacialBlendShapeML = Self(34i32);
6869    pub const LOWER_LIP_DEPRESSOR_L: FacialBlendShapeML = Self(35i32);
6870    pub const LOWER_LIP_DEPRESSOR_R: FacialBlendShapeML = Self(36i32);
6871    pub const NOSE_WRINKLER_L: FacialBlendShapeML = Self(37i32);
6872    pub const NOSE_WRINKLER_R: FacialBlendShapeML = Self(38i32);
6873    pub const OUTER_BROW_RAISER_L: FacialBlendShapeML = Self(39i32);
6874    pub const OUTER_BROW_RAISER_R: FacialBlendShapeML = Self(40i32);
6875    pub const UPPER_LID_RAISER_L: FacialBlendShapeML = Self(41i32);
6876    pub const UPPER_LID_RAISER_R: FacialBlendShapeML = Self(42i32);
6877    pub const UPPER_LIP_RAISER_L: FacialBlendShapeML = Self(43i32);
6878    pub const UPPER_LIP_RAISER_R: FacialBlendShapeML = Self(44i32);
6879    pub const TONGUE_OUT: FacialBlendShapeML = Self(45i32);
6880    pub fn from_raw(x: i32) -> Self {
6881        Self(x)
6882    }
6883    pub fn into_raw(self) -> i32 {
6884        self.0
6885    }
6886}
6887impl fmt::Debug for FacialBlendShapeML {
6888    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6889        let name = match *self {
6890            Self::BROW_LOWERER_L => Some("BROW_LOWERER_L"),
6891            Self::BROW_LOWERER_R => Some("BROW_LOWERER_R"),
6892            Self::CHEEK_RAISER_L => Some("CHEEK_RAISER_L"),
6893            Self::CHEEK_RAISER_R => Some("CHEEK_RAISER_R"),
6894            Self::CHIN_RAISER => Some("CHIN_RAISER"),
6895            Self::DIMPLER_L => Some("DIMPLER_L"),
6896            Self::DIMPLER_R => Some("DIMPLER_R"),
6897            Self::EYES_CLOSED_L => Some("EYES_CLOSED_L"),
6898            Self::EYES_CLOSED_R => Some("EYES_CLOSED_R"),
6899            Self::INNER_BROW_RAISER_L => Some("INNER_BROW_RAISER_L"),
6900            Self::INNER_BROW_RAISER_R => Some("INNER_BROW_RAISER_R"),
6901            Self::JAW_DROP => Some("JAW_DROP"),
6902            Self::LID_TIGHTENER_L => Some("LID_TIGHTENER_L"),
6903            Self::LID_TIGHTENER_R => Some("LID_TIGHTENER_R"),
6904            Self::LIP_CORNER_DEPRESSOR_L => Some("LIP_CORNER_DEPRESSOR_L"),
6905            Self::LIP_CORNER_DEPRESSOR_R => Some("LIP_CORNER_DEPRESSOR_R"),
6906            Self::LIP_CORNER_PULLER_L => Some("LIP_CORNER_PULLER_L"),
6907            Self::LIP_CORNER_PULLER_R => Some("LIP_CORNER_PULLER_R"),
6908            Self::LIP_FUNNELER_LB => Some("LIP_FUNNELER_LB"),
6909            Self::LIP_FUNNELER_LT => Some("LIP_FUNNELER_LT"),
6910            Self::LIP_FUNNELER_RB => Some("LIP_FUNNELER_RB"),
6911            Self::LIP_FUNNELER_RT => Some("LIP_FUNNELER_RT"),
6912            Self::LIP_PRESSOR_L => Some("LIP_PRESSOR_L"),
6913            Self::LIP_PRESSOR_R => Some("LIP_PRESSOR_R"),
6914            Self::LIP_PUCKER_L => Some("LIP_PUCKER_L"),
6915            Self::LIP_PUCKER_R => Some("LIP_PUCKER_R"),
6916            Self::LIP_STRETCHER_L => Some("LIP_STRETCHER_L"),
6917            Self::LIP_STRETCHER_R => Some("LIP_STRETCHER_R"),
6918            Self::LIP_SUCK_LB => Some("LIP_SUCK_LB"),
6919            Self::LIP_SUCK_LT => Some("LIP_SUCK_LT"),
6920            Self::LIP_SUCK_RB => Some("LIP_SUCK_RB"),
6921            Self::LIP_SUCK_RT => Some("LIP_SUCK_RT"),
6922            Self::LIP_TIGHTENER_L => Some("LIP_TIGHTENER_L"),
6923            Self::LIP_TIGHTENER_R => Some("LIP_TIGHTENER_R"),
6924            Self::LIPS_TOWARD => Some("LIPS_TOWARD"),
6925            Self::LOWER_LIP_DEPRESSOR_L => Some("LOWER_LIP_DEPRESSOR_L"),
6926            Self::LOWER_LIP_DEPRESSOR_R => Some("LOWER_LIP_DEPRESSOR_R"),
6927            Self::NOSE_WRINKLER_L => Some("NOSE_WRINKLER_L"),
6928            Self::NOSE_WRINKLER_R => Some("NOSE_WRINKLER_R"),
6929            Self::OUTER_BROW_RAISER_L => Some("OUTER_BROW_RAISER_L"),
6930            Self::OUTER_BROW_RAISER_R => Some("OUTER_BROW_RAISER_R"),
6931            Self::UPPER_LID_RAISER_L => Some("UPPER_LID_RAISER_L"),
6932            Self::UPPER_LID_RAISER_R => Some("UPPER_LID_RAISER_R"),
6933            Self::UPPER_LIP_RAISER_L => Some("UPPER_LIP_RAISER_L"),
6934            Self::UPPER_LIP_RAISER_R => Some("UPPER_LIP_RAISER_R"),
6935            Self::TONGUE_OUT => Some("TONGUE_OUT"),
6936            _ => None,
6937        };
6938        fmt_enum(fmt, self.0, name)
6939    }
6940}
6941#[doc = "See [XrFutureStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFutureStateEXT)"]
6942#[repr(transparent)]
6943#[derive(Copy, Clone, Eq, PartialEq)]
6944pub struct FutureStateEXT(i32);
6945impl FutureStateEXT {
6946    pub const PENDING: FutureStateEXT = Self(1i32);
6947    pub const READY: FutureStateEXT = Self(2i32);
6948    pub fn from_raw(x: i32) -> Self {
6949        Self(x)
6950    }
6951    pub fn into_raw(self) -> i32 {
6952        self.0
6953    }
6954}
6955impl fmt::Debug for FutureStateEXT {
6956    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6957        let name = match *self {
6958            Self::PENDING => Some("PENDING"),
6959            Self::READY => Some("READY"),
6960            _ => None,
6961        };
6962        fmt_enum(fmt, self.0, name)
6963    }
6964}
6965#[doc = "See [XrSpatialCapabilityEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityEXT)"]
6966#[repr(transparent)]
6967#[derive(Copy, Clone, Eq, PartialEq)]
6968pub struct SpatialCapabilityEXT(i32);
6969impl SpatialCapabilityEXT {
6970    #[doc = "Plane tracking"]
6971    pub const PLANE_TRACKING: SpatialCapabilityEXT = Self(1000741000i32);
6972    #[doc = "Capability to be able to detect and track QR codes."]
6973    pub const MARKER_TRACKING_QR_CODE: SpatialCapabilityEXT = Self(1000743000i32);
6974    #[doc = "Capability to be able to detect and track Micro QR codes."]
6975    pub const MARKER_TRACKING_MICRO_QR_CODE: SpatialCapabilityEXT = Self(1000743001i32);
6976    #[doc = "Capability to be able to detect and track Aruco Markers."]
6977    pub const MARKER_TRACKING_ARUCO_MARKER: SpatialCapabilityEXT = Self(1000743002i32);
6978    #[doc = "Capability to be able to detect and track AprilTags."]
6979    pub const MARKER_TRACKING_APRIL_TAG: SpatialCapabilityEXT = Self(1000743003i32);
6980    #[doc = "Capability to be able to create spatial anchors"]
6981    pub const ANCHOR: SpatialCapabilityEXT = Self(1000762000i32);
6982    #[doc = "Object tracking"]
6983    pub const OBJECT_TRACKING_AND: SpatialCapabilityEXT = Self(1000785000i32);
6984    #[doc = "Raycast against depth buffer"]
6985    pub const DEPTH_RAYCAST_AND: SpatialCapabilityEXT = Self(1000786000i32);
6986    pub fn from_raw(x: i32) -> Self {
6987        Self(x)
6988    }
6989    pub fn into_raw(self) -> i32 {
6990        self.0
6991    }
6992}
6993impl fmt::Debug for SpatialCapabilityEXT {
6994    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6995        let name = match *self {
6996            Self::PLANE_TRACKING => Some("PLANE_TRACKING"),
6997            Self::MARKER_TRACKING_QR_CODE => Some("MARKER_TRACKING_QR_CODE"),
6998            Self::MARKER_TRACKING_MICRO_QR_CODE => Some("MARKER_TRACKING_MICRO_QR_CODE"),
6999            Self::MARKER_TRACKING_ARUCO_MARKER => Some("MARKER_TRACKING_ARUCO_MARKER"),
7000            Self::MARKER_TRACKING_APRIL_TAG => Some("MARKER_TRACKING_APRIL_TAG"),
7001            Self::ANCHOR => Some("ANCHOR"),
7002            Self::OBJECT_TRACKING_AND => Some("OBJECT_TRACKING_AND"),
7003            Self::DEPTH_RAYCAST_AND => Some("DEPTH_RAYCAST_AND"),
7004            _ => None,
7005        };
7006        fmt_enum(fmt, self.0, name)
7007    }
7008}
7009#[doc = "See [XrSpatialCapabilityFeatureEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityFeatureEXT)"]
7010#[repr(transparent)]
7011#[derive(Copy, Clone, Eq, PartialEq)]
7012pub struct SpatialCapabilityFeatureEXT(i32);
7013impl SpatialCapabilityFeatureEXT {
7014    #[doc = "Capability feature to allow applications to specify the size for the markers. Corresponding config structure is XrSpatialMarkerSizeEXT"]
7015    pub const MARKER_TRACKING_FIXED_SIZE_MARKERS: SpatialCapabilityFeatureEXT = Self(1000743000i32);
7016    #[doc = "Capability feature to allow applications to specify if markers are static. Corresponding config structure is XrSpatialMarkerStaticOptimizationEXT"]
7017    pub const MARKER_TRACKING_STATIC_MARKERS: SpatialCapabilityFeatureEXT = Self(1000743001i32);
7018    pub fn from_raw(x: i32) -> Self {
7019        Self(x)
7020    }
7021    pub fn into_raw(self) -> i32 {
7022        self.0
7023    }
7024}
7025impl fmt::Debug for SpatialCapabilityFeatureEXT {
7026    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7027        let name = match *self {
7028            Self::MARKER_TRACKING_FIXED_SIZE_MARKERS => Some("MARKER_TRACKING_FIXED_SIZE_MARKERS"),
7029            Self::MARKER_TRACKING_STATIC_MARKERS => Some("MARKER_TRACKING_STATIC_MARKERS"),
7030            _ => None,
7031        };
7032        fmt_enum(fmt, self.0, name)
7033    }
7034}
7035#[doc = "See [XrSpatialComponentTypeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentTypeEXT)"]
7036#[repr(transparent)]
7037#[derive(Copy, Clone, Eq, PartialEq)]
7038pub struct SpatialComponentTypeEXT(i32);
7039impl SpatialComponentTypeEXT {
7040    #[doc = "Component that provides the 2D bounds for a spatial entity. Corresponding list structure is XrSpatialComponentBounded2DListEXT; Corresponding data structure is XrSpatialBounded2DDataEXT"]
7041    pub const BOUNDED_2D: SpatialComponentTypeEXT = Self(1i32);
7042    #[doc = "Component that provides the 3D bounds for a spatial entity. Corresponding list structure is XrSpatialComponentBounded3DListEXT; Corresponding data structure is XrBoxf"]
7043    pub const BOUNDED_3D: SpatialComponentTypeEXT = Self(2i32);
7044    #[doc = "Component that provides the XrSpatialEntityIdEXT of the parent for a spatial entity. Corresponding list structure is XrSpatialComponentParentListEXT; Corresponding data structure is XrSpatialEntityIdEXT"]
7045    pub const PARENT: SpatialComponentTypeEXT = Self(3i32);
7046    #[doc = "Component that provides a 3D mesh for a spatial entity. Corresponding list structure is XrSpatialComponentMesh3DListEXT; Corresponding data structure is XrSpatialMeshDataEXT"]
7047    pub const MESH_3D: SpatialComponentTypeEXT = Self(4i32);
7048    #[doc = "Component that provides the plane alignment enum for a spatial entity. Corresponding list structure is XrSpatialComponentPlaneAlignmentListEXT; Corresponding data structure is XrSpatialPlaneAlignmentEXT"]
7049    pub const PLANE_ALIGNMENT: SpatialComponentTypeEXT = Self(1000741000i32);
7050    #[doc = "Component that provides a 2D mesh for a spatial entity. Corresponding list structure is XrSpatialComponentMesh2DListEXT; Corresponding data structure is XrSpatialMeshDataEXT"]
7051    pub const MESH_2D: SpatialComponentTypeEXT = Self(1000741001i32);
7052    #[doc = "Component that provides a 2D boundary polygon for a spatial entity. Corresponding list structure is XrSpatialComponentPolygon2DListEXT; Corresponding data structure is XrSpatialPolygon2DDataEXT"]
7053    pub const POLYGON_2D: SpatialComponentTypeEXT = Self(1000741002i32);
7054    #[doc = "Component that provides a semantic label for a plane. Corresponding list structure is XrSpatialComponentPlaneSemanticLabelListEXT; Corresponding data structure is XrSpatialPlaneSemanticLabelEXT"]
7055    pub const PLANE_SEMANTIC_LABEL: SpatialComponentTypeEXT = Self(1000741003i32);
7056    #[doc = "A component describing the marker type, id and location. Corresponding list structure is XrSpatialComponentMarkerListEXT; Corresponding data structure is XrSpatialMarkerDataEXT"]
7057    pub const MARKER: SpatialComponentTypeEXT = Self(1000743000i32);
7058    #[doc = "Component that provides the location for an anchor. Corresponding list structure is XrSpatialComponentAnchorListEXT; Corresponding data structure is XrPosef"]
7059    pub const ANCHOR: SpatialComponentTypeEXT = Self(1000762000i32);
7060    #[doc = "Component that provides the persisted UUID for a spatial entity. Corresponding list structure is XrSpatialComponentPersistenceListEXT; Corresponding data structure is XrSpatialPersistenceDataEXT"]
7061    pub const PERSISTENCE: SpatialComponentTypeEXT = Self(1000763000i32);
7062    #[doc = "Component that provides a semantic label for a object; Corresponding list structure is XrSpatialComponentObjectSemanticLabelListANDROID; Corresponding data structure is XrSpatialObjectSemanticLabelANDROID"]
7063    pub const OBJECT_SEMANTIC_LABEL_AND: SpatialComponentTypeEXT = Self(1000785000i32);
7064    #[doc = "Component that provides the pose of a raycast hit on an entity. Corresponding list structure is XrSpatialComponentRaycastResultListANDROID; Corresponding data structure is XrSpatialRaycastResultDataANDROID"]
7065    pub const RAYCAST_RESULT_AND: SpatialComponentTypeEXT = Self(1000786000i32);
7066    #[doc = "Component that provides entity ID of the entity subsuming the attached entity. Corresponding list structure is XrSpatialComponentSubsumedByListANDROID; Corresponding data structure is XrSpatialEntityIdEXT"]
7067    pub const SUBSUMED_BY_AND: SpatialComponentTypeEXT = Self(1000791000i32);
7068    pub fn from_raw(x: i32) -> Self {
7069        Self(x)
7070    }
7071    pub fn into_raw(self) -> i32 {
7072        self.0
7073    }
7074}
7075impl fmt::Debug for SpatialComponentTypeEXT {
7076    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7077        let name = match *self {
7078            Self::BOUNDED_2D => Some("BOUNDED_2D"),
7079            Self::BOUNDED_3D => Some("BOUNDED_3D"),
7080            Self::PARENT => Some("PARENT"),
7081            Self::MESH_3D => Some("MESH_3D"),
7082            Self::PLANE_ALIGNMENT => Some("PLANE_ALIGNMENT"),
7083            Self::MESH_2D => Some("MESH_2D"),
7084            Self::POLYGON_2D => Some("POLYGON_2D"),
7085            Self::PLANE_SEMANTIC_LABEL => Some("PLANE_SEMANTIC_LABEL"),
7086            Self::MARKER => Some("MARKER"),
7087            Self::ANCHOR => Some("ANCHOR"),
7088            Self::PERSISTENCE => Some("PERSISTENCE"),
7089            Self::OBJECT_SEMANTIC_LABEL_AND => Some("OBJECT_SEMANTIC_LABEL_AND"),
7090            Self::RAYCAST_RESULT_AND => Some("RAYCAST_RESULT_AND"),
7091            Self::SUBSUMED_BY_AND => Some("SUBSUMED_BY_AND"),
7092            _ => None,
7093        };
7094        fmt_enum(fmt, self.0, name)
7095    }
7096}
7097#[doc = "See [XrSpatialEntityTrackingStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityTrackingStateEXT)"]
7098#[repr(transparent)]
7099#[derive(Copy, Clone, Eq, PartialEq)]
7100pub struct SpatialEntityTrackingStateEXT(i32);
7101impl SpatialEntityTrackingStateEXT {
7102    #[doc = "The runtime has stopped tracking this entity and will never resume tracking it."]
7103    pub const STOPPED: SpatialEntityTrackingStateEXT = Self(1i32);
7104    #[doc = "The runtime has paused tracking this entity but may: resume tracking it in the future."]
7105    pub const PAUSED: SpatialEntityTrackingStateEXT = Self(2i32);
7106    #[doc = "The runtime is currently tracking this entity and its component data is valid."]
7107    pub const TRACKING: SpatialEntityTrackingStateEXT = Self(3i32);
7108    pub fn from_raw(x: i32) -> Self {
7109        Self(x)
7110    }
7111    pub fn into_raw(self) -> i32 {
7112        self.0
7113    }
7114}
7115impl fmt::Debug for SpatialEntityTrackingStateEXT {
7116    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7117        let name = match *self {
7118            Self::STOPPED => Some("STOPPED"),
7119            Self::PAUSED => Some("PAUSED"),
7120            Self::TRACKING => Some("TRACKING"),
7121            _ => None,
7122        };
7123        fmt_enum(fmt, self.0, name)
7124    }
7125}
7126#[doc = "See [XrSpatialBufferTypeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialBufferTypeEXT)"]
7127#[repr(transparent)]
7128#[derive(Copy, Clone, Eq, PartialEq, Default)]
7129pub struct SpatialBufferTypeEXT(i32);
7130impl SpatialBufferTypeEXT {
7131    pub const UNKNOWN: SpatialBufferTypeEXT = Self(0i32);
7132    pub const STRING: SpatialBufferTypeEXT = Self(1i32);
7133    pub const UINT8: SpatialBufferTypeEXT = Self(2i32);
7134    pub const UINT16: SpatialBufferTypeEXT = Self(3i32);
7135    pub const UINT32: SpatialBufferTypeEXT = Self(4i32);
7136    pub const FLOAT: SpatialBufferTypeEXT = Self(5i32);
7137    pub const VECTOR2F: SpatialBufferTypeEXT = Self(6i32);
7138    pub const VECTOR3F: SpatialBufferTypeEXT = Self(7i32);
7139    pub fn from_raw(x: i32) -> Self {
7140        Self(x)
7141    }
7142    pub fn into_raw(self) -> i32 {
7143        self.0
7144    }
7145}
7146impl fmt::Debug for SpatialBufferTypeEXT {
7147    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7148        let name = match *self {
7149            Self::UNKNOWN => Some("UNKNOWN"),
7150            Self::STRING => Some("STRING"),
7151            Self::UINT8 => Some("UINT8"),
7152            Self::UINT16 => Some("UINT16"),
7153            Self::UINT32 => Some("UINT32"),
7154            Self::FLOAT => Some("FLOAT"),
7155            Self::VECTOR2F => Some("VECTOR2F"),
7156            Self::VECTOR3F => Some("VECTOR3F"),
7157            _ => None,
7158        };
7159        fmt_enum(fmt, self.0, name)
7160    }
7161}
7162#[doc = "See [XrSpatialPersistenceScopeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPersistenceScopeEXT)"]
7163#[repr(transparent)]
7164#[derive(Copy, Clone, Eq, PartialEq)]
7165pub struct SpatialPersistenceScopeEXT(i32);
7166impl SpatialPersistenceScopeEXT {
7167    #[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."]
7168    pub const SYSTEM_MANAGED: SpatialPersistenceScopeEXT = Self(1i32);
7169    #[doc = "Persistence operations and data access is limited to spatial anchors, on the same device, for the same user and same app"]
7170    pub const LOCAL_ANCHORS: SpatialPersistenceScopeEXT = Self(1000781000i32);
7171    pub fn from_raw(x: i32) -> Self {
7172        Self(x)
7173    }
7174    pub fn into_raw(self) -> i32 {
7175        self.0
7176    }
7177}
7178impl fmt::Debug for SpatialPersistenceScopeEXT {
7179    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7180        let name = match *self {
7181            Self::SYSTEM_MANAGED => Some("SYSTEM_MANAGED"),
7182            Self::LOCAL_ANCHORS => Some("LOCAL_ANCHORS"),
7183            _ => None,
7184        };
7185        fmt_enum(fmt, self.0, name)
7186    }
7187}
7188#[doc = "See [XrSpatialPersistenceContextResultEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPersistenceContextResultEXT)"]
7189#[repr(transparent)]
7190#[derive(Copy, Clone, Eq, PartialEq, Default)]
7191pub struct SpatialPersistenceContextResultEXT(i32);
7192impl SpatialPersistenceContextResultEXT {
7193    #[doc = "The persistence context operation was a success."]
7194    pub const SUCCESS: SpatialPersistenceContextResultEXT = Self(0i32);
7195    #[doc = "The persistence operation failed because the entity could not be tracked by the runtime."]
7196    pub const ENTITY_NOT_TRACKING: SpatialPersistenceContextResultEXT = Self(-1000781001i32);
7197    #[doc = "The provided persist UUID was not found in the storage."]
7198    pub const PERSIST_UUID_NOT_FOUND: SpatialPersistenceContextResultEXT = Self(-1000781002i32);
7199    pub fn from_raw(x: i32) -> Self {
7200        Self(x)
7201    }
7202    pub fn into_raw(self) -> i32 {
7203        self.0
7204    }
7205}
7206impl fmt::Debug for SpatialPersistenceContextResultEXT {
7207    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7208        let name = match *self {
7209            Self::SUCCESS => Some("SUCCESS"),
7210            Self::ENTITY_NOT_TRACKING => Some("ENTITY_NOT_TRACKING"),
7211            Self::PERSIST_UUID_NOT_FOUND => Some("PERSIST_UUID_NOT_FOUND"),
7212            _ => None,
7213        };
7214        fmt_enum(fmt, self.0, name)
7215    }
7216}
7217#[doc = "See [XrSpatialPersistenceStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPersistenceStateEXT)"]
7218#[repr(transparent)]
7219#[derive(Copy, Clone, Eq, PartialEq)]
7220pub struct SpatialPersistenceStateEXT(i32);
7221impl SpatialPersistenceStateEXT {
7222    #[doc = "The persisted UUID has been successfully loaded from the storage."]
7223    pub const LOADED: SpatialPersistenceStateEXT = Self(1i32);
7224    #[doc = "The persisted UUID was not found in the storage and was either removed from it or never was in it."]
7225    pub const NOT_FOUND: SpatialPersistenceStateEXT = Self(2i32);
7226    pub fn from_raw(x: i32) -> Self {
7227        Self(x)
7228    }
7229    pub fn into_raw(self) -> i32 {
7230        self.0
7231    }
7232}
7233impl fmt::Debug for SpatialPersistenceStateEXT {
7234    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7235        let name = match *self {
7236            Self::LOADED => Some("LOADED"),
7237            Self::NOT_FOUND => Some("NOT_FOUND"),
7238            _ => None,
7239        };
7240        fmt_enum(fmt, self.0, name)
7241    }
7242}
7243#[doc = "See [XrSpatialPlaneAlignmentEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPlaneAlignmentEXT)"]
7244#[repr(transparent)]
7245#[derive(Copy, Clone, Eq, PartialEq, Default)]
7246pub struct SpatialPlaneAlignmentEXT(i32);
7247impl SpatialPlaneAlignmentEXT {
7248    #[doc = "The entity is horizontal and faces upward (e.g. floor)."]
7249    pub const HORIZONTAL_UPWARD: SpatialPlaneAlignmentEXT = Self(0i32);
7250    #[doc = "The entity is horizontal and faces downward (e.g. ceiling)."]
7251    pub const HORIZONTAL_DOWNWARD: SpatialPlaneAlignmentEXT = Self(1i32);
7252    #[doc = "The entity is vertical (e.g. wall)."]
7253    pub const VERTICAL: SpatialPlaneAlignmentEXT = Self(2i32);
7254    #[doc = "The entity has an arbitrary, non-vertical and non-horizontal orientation."]
7255    pub const ARBITRARY: SpatialPlaneAlignmentEXT = Self(3i32);
7256    pub fn from_raw(x: i32) -> Self {
7257        Self(x)
7258    }
7259    pub fn into_raw(self) -> i32 {
7260        self.0
7261    }
7262}
7263impl fmt::Debug for SpatialPlaneAlignmentEXT {
7264    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7265        let name = match *self {
7266            Self::HORIZONTAL_UPWARD => Some("HORIZONTAL_UPWARD"),
7267            Self::HORIZONTAL_DOWNWARD => Some("HORIZONTAL_DOWNWARD"),
7268            Self::VERTICAL => Some("VERTICAL"),
7269            Self::ARBITRARY => Some("ARBITRARY"),
7270            _ => None,
7271        };
7272        fmt_enum(fmt, self.0, name)
7273    }
7274}
7275#[doc = "See [XrSpatialPlaneSemanticLabelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPlaneSemanticLabelEXT)"]
7276#[repr(transparent)]
7277#[derive(Copy, Clone, Eq, PartialEq)]
7278pub struct SpatialPlaneSemanticLabelEXT(i32);
7279impl SpatialPlaneSemanticLabelEXT {
7280    #[doc = "The runtime was unable to classify this entity."]
7281    pub const UNCATEGORIZED: SpatialPlaneSemanticLabelEXT = Self(1i32);
7282    #[doc = "The entity is a floor."]
7283    pub const FLOOR: SpatialPlaneSemanticLabelEXT = Self(2i32);
7284    #[doc = "The entity is a wall."]
7285    pub const WALL: SpatialPlaneSemanticLabelEXT = Self(3i32);
7286    #[doc = "The entity is a ceiling."]
7287    pub const CEILING: SpatialPlaneSemanticLabelEXT = Self(4i32);
7288    #[doc = "The entity is a table."]
7289    pub const TABLE: SpatialPlaneSemanticLabelEXT = Self(5i32);
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 SpatialPlaneSemanticLabelEXT {
7298    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7299        let name = match *self {
7300            Self::UNCATEGORIZED => Some("UNCATEGORIZED"),
7301            Self::FLOOR => Some("FLOOR"),
7302            Self::WALL => Some("WALL"),
7303            Self::CEILING => Some("CEILING"),
7304            Self::TABLE => Some("TABLE"),
7305            _ => None,
7306        };
7307        fmt_enum(fmt, self.0, name)
7308    }
7309}
7310#[doc = "See [XrBodyJointHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointHTC)"]
7311#[repr(transparent)]
7312#[derive(Copy, Clone, Eq, PartialEq, Default)]
7313pub struct BodyJointHTC(i32);
7314impl BodyJointHTC {
7315    pub const PELVIS: BodyJointHTC = Self(0i32);
7316    pub const LEFT_HIP: BodyJointHTC = Self(1i32);
7317    pub const LEFT_KNEE: BodyJointHTC = Self(2i32);
7318    pub const LEFT_ANKLE: BodyJointHTC = Self(3i32);
7319    pub const LEFT_FEET: BodyJointHTC = Self(4i32);
7320    pub const RIGHT_HIP: BodyJointHTC = Self(5i32);
7321    pub const RIGHT_KNEE: BodyJointHTC = Self(6i32);
7322    pub const RIGHT_ANKLE: BodyJointHTC = Self(7i32);
7323    pub const RIGHT_FEET: BodyJointHTC = Self(8i32);
7324    pub const WAIST: BodyJointHTC = Self(9i32);
7325    pub const SPINE_LOWER: BodyJointHTC = Self(10i32);
7326    pub const SPINE_MIDDLE: BodyJointHTC = Self(11i32);
7327    pub const SPINE_HIGH: BodyJointHTC = Self(12i32);
7328    pub const CHEST: BodyJointHTC = Self(13i32);
7329    pub const NECK: BodyJointHTC = Self(14i32);
7330    pub const HEAD: BodyJointHTC = Self(15i32);
7331    pub const LEFT_CLAVICLE: BodyJointHTC = Self(16i32);
7332    pub const LEFT_SCAPULA: BodyJointHTC = Self(17i32);
7333    pub const LEFT_ARM: BodyJointHTC = Self(18i32);
7334    pub const LEFT_ELBOW: BodyJointHTC = Self(19i32);
7335    pub const LEFT_WRIST: BodyJointHTC = Self(20i32);
7336    pub const RIGHT_CLAVICLE: BodyJointHTC = Self(21i32);
7337    pub const RIGHT_SCAPULA: BodyJointHTC = Self(22i32);
7338    pub const RIGHT_ARM: BodyJointHTC = Self(23i32);
7339    pub const RIGHT_ELBOW: BodyJointHTC = Self(24i32);
7340    pub const RIGHT_WRIST: BodyJointHTC = Self(25i32);
7341    pub fn from_raw(x: i32) -> Self {
7342        Self(x)
7343    }
7344    pub fn into_raw(self) -> i32 {
7345        self.0
7346    }
7347}
7348impl fmt::Debug for BodyJointHTC {
7349    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7350        let name = match *self {
7351            Self::PELVIS => Some("PELVIS"),
7352            Self::LEFT_HIP => Some("LEFT_HIP"),
7353            Self::LEFT_KNEE => Some("LEFT_KNEE"),
7354            Self::LEFT_ANKLE => Some("LEFT_ANKLE"),
7355            Self::LEFT_FEET => Some("LEFT_FEET"),
7356            Self::RIGHT_HIP => Some("RIGHT_HIP"),
7357            Self::RIGHT_KNEE => Some("RIGHT_KNEE"),
7358            Self::RIGHT_ANKLE => Some("RIGHT_ANKLE"),
7359            Self::RIGHT_FEET => Some("RIGHT_FEET"),
7360            Self::WAIST => Some("WAIST"),
7361            Self::SPINE_LOWER => Some("SPINE_LOWER"),
7362            Self::SPINE_MIDDLE => Some("SPINE_MIDDLE"),
7363            Self::SPINE_HIGH => Some("SPINE_HIGH"),
7364            Self::CHEST => Some("CHEST"),
7365            Self::NECK => Some("NECK"),
7366            Self::HEAD => Some("HEAD"),
7367            Self::LEFT_CLAVICLE => Some("LEFT_CLAVICLE"),
7368            Self::LEFT_SCAPULA => Some("LEFT_SCAPULA"),
7369            Self::LEFT_ARM => Some("LEFT_ARM"),
7370            Self::LEFT_ELBOW => Some("LEFT_ELBOW"),
7371            Self::LEFT_WRIST => Some("LEFT_WRIST"),
7372            Self::RIGHT_CLAVICLE => Some("RIGHT_CLAVICLE"),
7373            Self::RIGHT_SCAPULA => Some("RIGHT_SCAPULA"),
7374            Self::RIGHT_ARM => Some("RIGHT_ARM"),
7375            Self::RIGHT_ELBOW => Some("RIGHT_ELBOW"),
7376            Self::RIGHT_WRIST => Some("RIGHT_WRIST"),
7377            _ => None,
7378        };
7379        fmt_enum(fmt, self.0, name)
7380    }
7381}
7382#[doc = "See [XrBodyJointSetHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointSetHTC)"]
7383#[repr(transparent)]
7384#[derive(Copy, Clone, Eq, PartialEq, Default)]
7385pub struct BodyJointSetHTC(i32);
7386impl BodyJointSetHTC {
7387    pub const FULL: BodyJointSetHTC = Self(0i32);
7388    pub fn from_raw(x: i32) -> Self {
7389        Self(x)
7390    }
7391    pub fn into_raw(self) -> i32 {
7392        self.0
7393    }
7394}
7395impl fmt::Debug for BodyJointSetHTC {
7396    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7397        let name = match *self {
7398            Self::FULL => Some("FULL"),
7399            _ => None,
7400        };
7401        fmt_enum(fmt, self.0, name)
7402    }
7403}
7404#[doc = "See [XrBodyJointConfidenceHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointConfidenceHTC)"]
7405#[repr(transparent)]
7406#[derive(Copy, Clone, Eq, PartialEq, Default)]
7407pub struct BodyJointConfidenceHTC(i32);
7408impl BodyJointConfidenceHTC {
7409    pub const NONE: BodyJointConfidenceHTC = Self(0i32);
7410    pub const LOW: BodyJointConfidenceHTC = Self(1i32);
7411    pub const HIGH: BodyJointConfidenceHTC = Self(2i32);
7412    pub fn from_raw(x: i32) -> Self {
7413        Self(x)
7414    }
7415    pub fn into_raw(self) -> i32 {
7416        self.0
7417    }
7418}
7419impl fmt::Debug for BodyJointConfidenceHTC {
7420    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7421        let name = match *self {
7422            Self::NONE => Some("NONE"),
7423            Self::LOW => Some("LOW"),
7424            Self::HIGH => Some("HIGH"),
7425            _ => None,
7426        };
7427        fmt_enum(fmt, self.0, name)
7428    }
7429}
7430#[doc = "See [XrSpatialAnchorConfidenceML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorConfidenceML)"]
7431#[repr(transparent)]
7432#[derive(Copy, Clone, Eq, PartialEq, Default)]
7433pub struct SpatialAnchorConfidenceML(i32);
7434impl SpatialAnchorConfidenceML {
7435    #[doc = "Low quality, this anchor can be expected to move significantly."]
7436    pub const LOW: SpatialAnchorConfidenceML = Self(0i32);
7437    #[doc = "Medium quality, this anchor may move slightly."]
7438    pub const MEDIUM: SpatialAnchorConfidenceML = Self(1i32);
7439    #[doc = "High quality, this anchor is stable and suitable for digital content attachment."]
7440    pub const HIGH: SpatialAnchorConfidenceML = Self(2i32);
7441    pub fn from_raw(x: i32) -> Self {
7442        Self(x)
7443    }
7444    pub fn into_raw(self) -> i32 {
7445        self.0
7446    }
7447}
7448impl fmt::Debug for SpatialAnchorConfidenceML {
7449    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7450        let name = match *self {
7451            Self::LOW => Some("LOW"),
7452            Self::MEDIUM => Some("MEDIUM"),
7453            Self::HIGH => Some("HIGH"),
7454            _ => None,
7455        };
7456        fmt_enum(fmt, self.0, name)
7457    }
7458}
7459#[doc = "See [XrWorldMeshBlockStatusML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshBlockStatusML)"]
7460#[repr(transparent)]
7461#[derive(Copy, Clone, Eq, PartialEq, Default)]
7462pub struct WorldMeshBlockStatusML(i32);
7463impl WorldMeshBlockStatusML {
7464    #[doc = "The mesh block has been created."]
7465    pub const NEW: WorldMeshBlockStatusML = Self(0i32);
7466    #[doc = "The mesh block has been updated."]
7467    pub const UPDATED: WorldMeshBlockStatusML = Self(1i32);
7468    #[doc = "The mesh block has been deleted."]
7469    pub const DELETED: WorldMeshBlockStatusML = Self(2i32);
7470    #[doc = "The mesh block is unchanged."]
7471    pub const UNCHANGED: WorldMeshBlockStatusML = Self(3i32);
7472    pub fn from_raw(x: i32) -> Self {
7473        Self(x)
7474    }
7475    pub fn into_raw(self) -> i32 {
7476        self.0
7477    }
7478}
7479impl fmt::Debug for WorldMeshBlockStatusML {
7480    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7481        let name = match *self {
7482            Self::NEW => Some("NEW"),
7483            Self::UPDATED => Some("UPDATED"),
7484            Self::DELETED => Some("DELETED"),
7485            Self::UNCHANGED => Some("UNCHANGED"),
7486            _ => None,
7487        };
7488        fmt_enum(fmt, self.0, name)
7489    }
7490}
7491#[doc = "See [XrWorldMeshDetectorLodML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshDetectorLodML)"]
7492#[repr(transparent)]
7493#[derive(Copy, Clone, Eq, PartialEq, Default)]
7494pub struct WorldMeshDetectorLodML(i32);
7495impl WorldMeshDetectorLodML {
7496    #[doc = "Minimum Level of Detail (LOD) for the mesh."]
7497    pub const MINIMUM: WorldMeshDetectorLodML = Self(0i32);
7498    #[doc = "Medium Level of Detail (LOD) for the mesh."]
7499    pub const MEDIUM: WorldMeshDetectorLodML = Self(1i32);
7500    #[doc = "Maximum Level of Detail (LOD) for the mesh."]
7501    pub const MAXIMUM: WorldMeshDetectorLodML = Self(2i32);
7502    pub fn from_raw(x: i32) -> Self {
7503        Self(x)
7504    }
7505    pub fn into_raw(self) -> i32 {
7506        self.0
7507    }
7508}
7509impl fmt::Debug for WorldMeshDetectorLodML {
7510    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7511        let name = match *self {
7512            Self::MINIMUM => Some("MINIMUM"),
7513            Self::MEDIUM => Some("MEDIUM"),
7514            Self::MAXIMUM => Some("MAXIMUM"),
7515            _ => None,
7516        };
7517        fmt_enum(fmt, self.0, name)
7518    }
7519}
7520#[doc = "See [XrWorldMeshBlockResultML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshBlockResultML)"]
7521#[repr(transparent)]
7522#[derive(Copy, Clone, Eq, PartialEq, Default)]
7523pub struct WorldMeshBlockResultML(i32);
7524impl WorldMeshBlockResultML {
7525    #[doc = "Mesh request has succeeded."]
7526    pub const SUCCESS: WorldMeshBlockResultML = Self(0i32);
7527    #[doc = "Mesh request has failed."]
7528    pub const FAILED: WorldMeshBlockResultML = Self(1i32);
7529    #[doc = "Mesh request is pending."]
7530    pub const PENDING: WorldMeshBlockResultML = Self(2i32);
7531    #[doc = "There are partial updates on the mesh request."]
7532    pub const PARTIAL_UPDATE: WorldMeshBlockResultML = Self(3i32);
7533    pub fn from_raw(x: i32) -> Self {
7534        Self(x)
7535    }
7536    pub fn into_raw(self) -> i32 {
7537        self.0
7538    }
7539}
7540impl fmt::Debug for WorldMeshBlockResultML {
7541    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7542        let name = match *self {
7543            Self::SUCCESS => Some("SUCCESS"),
7544            Self::FAILED => Some("FAILED"),
7545            Self::PENDING => Some("PENDING"),
7546            Self::PARTIAL_UPDATE => Some("PARTIAL_UPDATE"),
7547            _ => None,
7548        };
7549        fmt_enum(fmt, self.0, name)
7550    }
7551}
7552#[doc = "See [XrBodyJointBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointBD)"]
7553#[repr(transparent)]
7554#[derive(Copy, Clone, Eq, PartialEq, Default)]
7555pub struct BodyJointBD(i32);
7556impl BodyJointBD {
7557    pub const PELVIS: BodyJointBD = Self(0i32);
7558    pub const LEFT_HIP: BodyJointBD = Self(1i32);
7559    pub const RIGHT_HIP: BodyJointBD = Self(2i32);
7560    pub const SPINE1: BodyJointBD = Self(3i32);
7561    pub const LEFT_KNEE: BodyJointBD = Self(4i32);
7562    pub const RIGHT_KNEE: BodyJointBD = Self(5i32);
7563    pub const SPINE2: BodyJointBD = Self(6i32);
7564    pub const LEFT_ANKLE: BodyJointBD = Self(7i32);
7565    pub const RIGHT_ANKLE: BodyJointBD = Self(8i32);
7566    pub const SPINE3: BodyJointBD = Self(9i32);
7567    pub const LEFT_FOOT: BodyJointBD = Self(10i32);
7568    pub const RIGHT_FOOT: BodyJointBD = Self(11i32);
7569    pub const NECK: BodyJointBD = Self(12i32);
7570    pub const LEFT_COLLAR: BodyJointBD = Self(13i32);
7571    pub const RIGHT_COLLAR: BodyJointBD = Self(14i32);
7572    pub const HEAD: BodyJointBD = Self(15i32);
7573    pub const LEFT_SHOULDER: BodyJointBD = Self(16i32);
7574    pub const RIGHT_SHOULDER: BodyJointBD = Self(17i32);
7575    pub const LEFT_ELBOW: BodyJointBD = Self(18i32);
7576    pub const RIGHT_ELBOW: BodyJointBD = Self(19i32);
7577    pub const LEFT_WRIST: BodyJointBD = Self(20i32);
7578    pub const RIGHT_WRIST: BodyJointBD = Self(21i32);
7579    pub const LEFT_HAND: BodyJointBD = Self(22i32);
7580    pub const RIGHT_HAND: BodyJointBD = Self(23i32);
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 BodyJointBD {
7589    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7590        let name = match *self {
7591            Self::PELVIS => Some("PELVIS"),
7592            Self::LEFT_HIP => Some("LEFT_HIP"),
7593            Self::RIGHT_HIP => Some("RIGHT_HIP"),
7594            Self::SPINE1 => Some("SPINE1"),
7595            Self::LEFT_KNEE => Some("LEFT_KNEE"),
7596            Self::RIGHT_KNEE => Some("RIGHT_KNEE"),
7597            Self::SPINE2 => Some("SPINE2"),
7598            Self::LEFT_ANKLE => Some("LEFT_ANKLE"),
7599            Self::RIGHT_ANKLE => Some("RIGHT_ANKLE"),
7600            Self::SPINE3 => Some("SPINE3"),
7601            Self::LEFT_FOOT => Some("LEFT_FOOT"),
7602            Self::RIGHT_FOOT => Some("RIGHT_FOOT"),
7603            Self::NECK => Some("NECK"),
7604            Self::LEFT_COLLAR => Some("LEFT_COLLAR"),
7605            Self::RIGHT_COLLAR => Some("RIGHT_COLLAR"),
7606            Self::HEAD => Some("HEAD"),
7607            Self::LEFT_SHOULDER => Some("LEFT_SHOULDER"),
7608            Self::RIGHT_SHOULDER => Some("RIGHT_SHOULDER"),
7609            Self::LEFT_ELBOW => Some("LEFT_ELBOW"),
7610            Self::RIGHT_ELBOW => Some("RIGHT_ELBOW"),
7611            Self::LEFT_WRIST => Some("LEFT_WRIST"),
7612            Self::RIGHT_WRIST => Some("RIGHT_WRIST"),
7613            Self::LEFT_HAND => Some("LEFT_HAND"),
7614            Self::RIGHT_HAND => Some("RIGHT_HAND"),
7615            _ => None,
7616        };
7617        fmt_enum(fmt, self.0, name)
7618    }
7619}
7620#[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)"]
7621#[repr(transparent)]
7622#[derive(Copy, Clone, Eq, PartialEq)]
7623pub struct BodyJointSetBD(i32);
7624impl BodyJointSetBD {
7625    #[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."]
7626    pub const BODY_WITHOUT_ARM: BodyJointSetBD = Self(1i32);
7627    #[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."]
7628    pub const FULL_BODY_JOINTS: BodyJointSetBD = Self(2i32);
7629    pub fn from_raw(x: i32) -> Self {
7630        Self(x)
7631    }
7632    pub fn into_raw(self) -> i32 {
7633        self.0
7634    }
7635}
7636impl fmt::Debug for BodyJointSetBD {
7637    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7638        let name = match *self {
7639            Self::BODY_WITHOUT_ARM => Some("BODY_WITHOUT_ARM"),
7640            Self::FULL_BODY_JOINTS => Some("FULL_BODY_JOINTS"),
7641            _ => None,
7642        };
7643        fmt_enum(fmt, self.0, name)
7644    }
7645}
7646#[doc = "See [XrAudioSampleRateBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAudioSampleRateBD)"]
7647#[repr(transparent)]
7648#[derive(Copy, Clone, Eq, PartialEq)]
7649pub struct AudioSampleRateBD(i32);
7650impl AudioSampleRateBD {
7651    #[doc = "192000 Hz"]
7652    pub const RATE_192000_HZ: AudioSampleRateBD = Self(1i32);
7653    #[doc = "96000 Hz"]
7654    pub const RATE_96000_HZ: AudioSampleRateBD = Self(2i32);
7655    #[doc = "48000 Hz"]
7656    pub const RATE_48000_HZ: AudioSampleRateBD = Self(3i32);
7657    #[doc = "44100 Hz"]
7658    pub const RATE_44100_HZ: AudioSampleRateBD = Self(4i32);
7659    #[doc = "32000 Hz"]
7660    pub const RATE_32000_HZ: AudioSampleRateBD = Self(5i32);
7661    #[doc = "24000 Hz"]
7662    pub const RATE_24000_HZ: AudioSampleRateBD = Self(6i32);
7663    #[doc = "22050 Hz"]
7664    pub const RATE_22050_HZ: AudioSampleRateBD = Self(7i32);
7665    #[doc = "16000 Hz"]
7666    pub const RATE_16000_HZ: AudioSampleRateBD = Self(8i32);
7667    #[doc = "12000 Hz"]
7668    pub const RATE_12000_HZ: AudioSampleRateBD = Self(9i32);
7669    #[doc = "11025 Hz"]
7670    pub const RATE_11025_HZ: AudioSampleRateBD = Self(10i32);
7671    #[doc = "8000 Hz"]
7672    pub const RATE_8000_HZ: AudioSampleRateBD = Self(11i32);
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 AudioSampleRateBD {
7681    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7682        let name = match *self {
7683            Self::RATE_192000_HZ => Some("RATE_192000_HZ"),
7684            Self::RATE_96000_HZ => Some("RATE_96000_HZ"),
7685            Self::RATE_48000_HZ => Some("RATE_48000_HZ"),
7686            Self::RATE_44100_HZ => Some("RATE_44100_HZ"),
7687            Self::RATE_32000_HZ => Some("RATE_32000_HZ"),
7688            Self::RATE_24000_HZ => Some("RATE_24000_HZ"),
7689            Self::RATE_22050_HZ => Some("RATE_22050_HZ"),
7690            Self::RATE_16000_HZ => Some("RATE_16000_HZ"),
7691            Self::RATE_12000_HZ => Some("RATE_12000_HZ"),
7692            Self::RATE_11025_HZ => Some("RATE_11025_HZ"),
7693            Self::RATE_8000_HZ => Some("RATE_8000_HZ"),
7694            _ => None,
7695        };
7696        fmt_enum(fmt, self.0, name)
7697    }
7698}
7699#[doc = "See [XrAudioBufferChannelLayoutBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAudioBufferChannelLayoutBD)"]
7700#[repr(transparent)]
7701#[derive(Copy, Clone, Eq, PartialEq, Default)]
7702pub struct AudioBufferChannelLayoutBD(i32);
7703impl AudioBufferChannelLayoutBD {
7704    #[doc = "indicates that audio samples from all channels are stored in an interleaved layout, where successive frames contain one sample per channel (e.g. LRLRLR for stereo)"]
7705    pub const INTERLEAVED: AudioBufferChannelLayoutBD = Self(0i32);
7706    #[doc = "indicates that audio samples are stored in a planar layout, where all samples for one channel are contiguous in memory (e.g. LLL...RRR... for stereo)"]
7707    pub const PLANAR: AudioBufferChannelLayoutBD = Self(1i32);
7708    pub fn from_raw(x: i32) -> Self {
7709        Self(x)
7710    }
7711    pub fn into_raw(self) -> i32 {
7712        self.0
7713    }
7714}
7715impl fmt::Debug for AudioBufferChannelLayoutBD {
7716    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7717        let name = match *self {
7718            Self::INTERLEAVED => Some("INTERLEAVED"),
7719            Self::PLANAR => Some("PLANAR"),
7720            _ => None,
7721        };
7722        fmt_enum(fmt, self.0, name)
7723    }
7724}
7725#[doc = "See [XrSoundObstacleMaterialTypeBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundObstacleMaterialTypeBD)"]
7726#[repr(transparent)]
7727#[derive(Copy, Clone, Eq, PartialEq, Default)]
7728pub struct SoundObstacleMaterialTypeBD(i32);
7729impl SoundObstacleMaterialTypeBD {
7730    #[doc = "indicates that the material is acoustic tile"]
7731    pub const ACOUSTIC_TILE: SoundObstacleMaterialTypeBD = Self(0i32);
7732    #[doc = "indicates that the material resembles brick"]
7733    pub const BRICK: SoundObstacleMaterialTypeBD = Self(1i32);
7734    #[doc = "indicates that the material resembles painted brick"]
7735    pub const BRICK_PAINTED: SoundObstacleMaterialTypeBD = Self(2i32);
7736    #[doc = "indicates that the material resembles carpet"]
7737    pub const CARPET: SoundObstacleMaterialTypeBD = Self(3i32);
7738    #[doc = "indicates that the material resembles heavy carpet"]
7739    pub const CARPET_HEAVY: SoundObstacleMaterialTypeBD = Self(4i32);
7740    #[doc = "indicates that the material resembles heavily padded carpet"]
7741    pub const CARPET_HEAVY_PADDED: SoundObstacleMaterialTypeBD = Self(5i32);
7742    #[doc = "indicates that the material resembles ceramic tile"]
7743    pub const CERAMIC_TILE: SoundObstacleMaterialTypeBD = Self(6i32);
7744    #[doc = "indicates that the material resembles concrete"]
7745    pub const CONCRETE: SoundObstacleMaterialTypeBD = Self(7i32);
7746    #[doc = "indicates that the material resembles rough concrete"]
7747    pub const CONCRETE_ROUGH: SoundObstacleMaterialTypeBD = Self(8i32);
7748    #[doc = "indicates that the material resembles concrete block"]
7749    pub const CONCRETE_BLOCK: SoundObstacleMaterialTypeBD = Self(9i32);
7750    #[doc = "indicates that the material resembles painted concrete block"]
7751    pub const CONCRETE_BLOCK_PAINTED: SoundObstacleMaterialTypeBD = Self(10i32);
7752    #[doc = "indicates that the material resembles curtain"]
7753    pub const CURTAIN: SoundObstacleMaterialTypeBD = Self(11i32);
7754    #[doc = "indicates that the material resembles foliage"]
7755    pub const FOLIAGE: SoundObstacleMaterialTypeBD = Self(12i32);
7756    #[doc = "indicates that the material resembles glass"]
7757    pub const GLASS: SoundObstacleMaterialTypeBD = Self(13i32);
7758    #[doc = "indicates that the material resembles heavy glass"]
7759    pub const GLASS_HEAVY: SoundObstacleMaterialTypeBD = Self(14i32);
7760    #[doc = "indicates that the material resembles grass"]
7761    pub const GRASS: SoundObstacleMaterialTypeBD = Self(15i32);
7762    #[doc = "indicates that the material resembles gravel"]
7763    pub const GRAVEL: SoundObstacleMaterialTypeBD = Self(16i32);
7764    #[doc = "indicates that the material resembles gypsum board"]
7765    pub const GYPSUM_BOARD: SoundObstacleMaterialTypeBD = Self(17i32);
7766    #[doc = "indicates that the material resembles plaster on brick"]
7767    pub const PLASTER_ON_BRICK: SoundObstacleMaterialTypeBD = Self(18i32);
7768    #[doc = "indicates that the material resembles plaster on concrete block"]
7769    pub const PLASTER_ON_CONCRETE_BLOCK: SoundObstacleMaterialTypeBD = Self(19i32);
7770    #[doc = "indicates that the material resembles soil"]
7771    pub const SOIL: SoundObstacleMaterialTypeBD = Self(20i32);
7772    #[doc = "indicates that the material resembles sound proof"]
7773    pub const SOUND_PROOF: SoundObstacleMaterialTypeBD = Self(21i32);
7774    #[doc = "indicates that the material resembles snow"]
7775    pub const SNOW: SoundObstacleMaterialTypeBD = Self(22i32);
7776    #[doc = "indicates that the material resembles steel"]
7777    pub const STEEL: SoundObstacleMaterialTypeBD = Self(23i32);
7778    #[doc = "indicates that the material resembles water"]
7779    pub const WATER: SoundObstacleMaterialTypeBD = Self(24i32);
7780    #[doc = "indicates that the material resembles thin wood"]
7781    pub const WOOD_THIN: SoundObstacleMaterialTypeBD = Self(25i32);
7782    #[doc = "indicates that the material resembles thick wood"]
7783    pub const WOOD_THICK: SoundObstacleMaterialTypeBD = Self(26i32);
7784    #[doc = "indicates that the material resembles floor"]
7785    pub const WOOD_FLOOR: SoundObstacleMaterialTypeBD = Self(27i32);
7786    #[doc = "indicates that the material resembles wood on concrete"]
7787    pub const WOOD_ON_CONCRETE: SoundObstacleMaterialTypeBD = Self(28i32);
7788    #[doc = "Customized material described by detailed acoustic surface parameters, for example, absorption, scattering, and transmission."]
7789    pub const CUSTOM: SoundObstacleMaterialTypeBD = Self(29i32);
7790    pub fn from_raw(x: i32) -> Self {
7791        Self(x)
7792    }
7793    pub fn into_raw(self) -> i32 {
7794        self.0
7795    }
7796}
7797impl fmt::Debug for SoundObstacleMaterialTypeBD {
7798    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7799        let name = match *self {
7800            Self::ACOUSTIC_TILE => Some("ACOUSTIC_TILE"),
7801            Self::BRICK => Some("BRICK"),
7802            Self::BRICK_PAINTED => Some("BRICK_PAINTED"),
7803            Self::CARPET => Some("CARPET"),
7804            Self::CARPET_HEAVY => Some("CARPET_HEAVY"),
7805            Self::CARPET_HEAVY_PADDED => Some("CARPET_HEAVY_PADDED"),
7806            Self::CERAMIC_TILE => Some("CERAMIC_TILE"),
7807            Self::CONCRETE => Some("CONCRETE"),
7808            Self::CONCRETE_ROUGH => Some("CONCRETE_ROUGH"),
7809            Self::CONCRETE_BLOCK => Some("CONCRETE_BLOCK"),
7810            Self::CONCRETE_BLOCK_PAINTED => Some("CONCRETE_BLOCK_PAINTED"),
7811            Self::CURTAIN => Some("CURTAIN"),
7812            Self::FOLIAGE => Some("FOLIAGE"),
7813            Self::GLASS => Some("GLASS"),
7814            Self::GLASS_HEAVY => Some("GLASS_HEAVY"),
7815            Self::GRASS => Some("GRASS"),
7816            Self::GRAVEL => Some("GRAVEL"),
7817            Self::GYPSUM_BOARD => Some("GYPSUM_BOARD"),
7818            Self::PLASTER_ON_BRICK => Some("PLASTER_ON_BRICK"),
7819            Self::PLASTER_ON_CONCRETE_BLOCK => Some("PLASTER_ON_CONCRETE_BLOCK"),
7820            Self::SOIL => Some("SOIL"),
7821            Self::SOUND_PROOF => Some("SOUND_PROOF"),
7822            Self::SNOW => Some("SNOW"),
7823            Self::STEEL => Some("STEEL"),
7824            Self::WATER => Some("WATER"),
7825            Self::WOOD_THIN => Some("WOOD_THIN"),
7826            Self::WOOD_THICK => Some("WOOD_THICK"),
7827            Self::WOOD_FLOOR => Some("WOOD_FLOOR"),
7828            Self::WOOD_ON_CONCRETE => Some("WOOD_ON_CONCRETE"),
7829            Self::CUSTOM => Some("CUSTOM"),
7830            _ => None,
7831        };
7832        fmt_enum(fmt, self.0, name)
7833    }
7834}
7835#[doc = "See [XrSoundObjectDistanceAttenuationTypeBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundObjectDistanceAttenuationTypeBD)"]
7836#[repr(transparent)]
7837#[derive(Copy, Clone, Eq, PartialEq, Default)]
7838pub struct SoundObjectDistanceAttenuationTypeBD(i32);
7839impl SoundObjectDistanceAttenuationTypeBD {
7840    #[doc = "Indicates that no attenuation is applied when source-listener distance varies."]
7841    pub const NONE: SoundObjectDistanceAttenuationTypeBD = Self(0i32);
7842    #[doc = "Indicates that attenuation scales proportional to the inverse-squared distance of source-listener distance."]
7843    pub const INVERSE_SQUARE: SoundObjectDistanceAttenuationTypeBD = Self(1i32);
7844    #[doc = "Indicates that attenuation equals pow(distance/refer_distance, -rolloff_factor), in which distance is clamped by minAttenuationRange and maxAttenuationRange."]
7845    pub const ROLLOFF: SoundObjectDistanceAttenuationTypeBD = Self(2i32);
7846    #[doc = "Indicates that the distance attenuation is customized."]
7847    pub const CUSTOMIZED: SoundObjectDistanceAttenuationTypeBD = Self(100i32);
7848    pub fn from_raw(x: i32) -> Self {
7849        Self(x)
7850    }
7851    pub fn into_raw(self) -> i32 {
7852        self.0
7853    }
7854}
7855impl fmt::Debug for SoundObjectDistanceAttenuationTypeBD {
7856    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7857        let name = match *self {
7858            Self::NONE => Some("NONE"),
7859            Self::INVERSE_SQUARE => Some("INVERSE_SQUARE"),
7860            Self::ROLLOFF => Some("ROLLOFF"),
7861            Self::CUSTOMIZED => Some("CUSTOMIZED"),
7862            _ => None,
7863        };
7864        fmt_enum(fmt, self.0, name)
7865    }
7866}
7867#[doc = "See [XrSoundFieldChannelMaskSurroundBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundFieldChannelMaskSurroundBD)"]
7868#[repr(transparent)]
7869#[derive(Copy, Clone, Eq, PartialEq)]
7870pub struct SoundFieldChannelMaskSurroundBD(i32);
7871impl SoundFieldChannelMaskSurroundBD {
7872    #[doc = "Bitmask of ear-level front-left speaker"]
7873    pub const FRONT_LEFT: SoundFieldChannelMaskSurroundBD = Self(1i32);
7874    #[doc = "Bitmask of ear-level front-right speaker"]
7875    pub const FRONT_RIGHT: SoundFieldChannelMaskSurroundBD = Self(2i32);
7876    #[doc = "Bitmask of ear-level front-center speaker"]
7877    pub const FRONT_CENTER: SoundFieldChannelMaskSurroundBD = Self(4i32);
7878    #[doc = "Bitmask of LFE speaker"]
7879    pub const LOW_FREQUENCY: SoundFieldChannelMaskSurroundBD = Self(8i32);
7880    #[doc = "Bitmask of ear-level back-left speaker"]
7881    pub const BACK_LEFT: SoundFieldChannelMaskSurroundBD = Self(16i32);
7882    #[doc = "Bitmask of ear-level back-right speaker"]
7883    pub const BACK_RIGHT: SoundFieldChannelMaskSurroundBD = Self(32i32);
7884    #[doc = "Bitmask of ear-level side-left speaker"]
7885    pub const SIDE_LEFT: SoundFieldChannelMaskSurroundBD = Self(64i32);
7886    #[doc = "Bitmask of ear-level side-right speaker"]
7887    pub const SIDE_RIGHT: SoundFieldChannelMaskSurroundBD = Self(128i32);
7888    #[doc = "Bitmask of height-channel front-left speaker"]
7889    pub const TOP_FRONT_LEFT: SoundFieldChannelMaskSurroundBD = Self(256i32);
7890    #[doc = "Bitmask of height-channel front-right speaker"]
7891    pub const TOP_FRONT_RIGHT: SoundFieldChannelMaskSurroundBD = Self(512i32);
7892    #[doc = "Bitmask of height-channel back-left speaker"]
7893    pub const TOP_BACK_LEFT: SoundFieldChannelMaskSurroundBD = Self(1024i32);
7894    #[doc = "Bitmask of height-channel back-right speaker"]
7895    pub const TOP_BACK_RIGHT: SoundFieldChannelMaskSurroundBD = Self(2048i32);
7896    #[doc = "Bitmask of ear-level back-center speaker"]
7897    pub const BACK_CENTER: SoundFieldChannelMaskSurroundBD = Self(4096i32);
7898    #[doc = "Bitmask of height-channel side-left speaker"]
7899    pub const TOP_SIDE_LEFT: SoundFieldChannelMaskSurroundBD = Self(8192i32);
7900    #[doc = "Bitmask of height-channel side-right speaker"]
7901    pub const TOP_SIDE_RIGHT: SoundFieldChannelMaskSurroundBD = Self(16384i32);
7902    #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_FRONT_LEFT_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_FRONT_RIGHT_BD"]
7903    pub const SETUP_STEREO: SoundFieldChannelMaskSurroundBD = Self(3i32);
7904    #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_STEREO_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_LOW_FREQUENCY_BD"]
7905    pub const SETUP_2_1: SoundFieldChannelMaskSurroundBD = Self(11i32);
7906    #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_STEREO_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_FRONT_CENTER_BD"]
7907    pub const SETUP_3_0: SoundFieldChannelMaskSurroundBD = Self(7i32);
7908    #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_3_0_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_BACK_CENTER_BD"]
7909    pub const SETUP_4_0: SoundFieldChannelMaskSurroundBD = Self(4099i32);
7910    #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_BACK_LEFT_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_BACK_RIGHT_BD"]
7911    pub const SETUP_BACK_SURROUND: SoundFieldChannelMaskSurroundBD = Self(48i32);
7912    #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_STEREO_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_BACK_SURROUND_BD"]
7913    pub const SETUP_QUAD: SoundFieldChannelMaskSurroundBD = Self(51i32);
7914    #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_3_0_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_LOW_FREQUENCY_BD"]
7915    pub const SETUP_3_1: SoundFieldChannelMaskSurroundBD = Self(15i32);
7916    #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_3_0_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_BACK_SURROUND_BD"]
7917    pub const SETUP_5_0: SoundFieldChannelMaskSurroundBD = Self(55i32);
7918    #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SIDE_LEFT_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SIDE_RIGHT_BD"]
7919    pub const SETUP_SIDE_SURROUND: SoundFieldChannelMaskSurroundBD = Self(192i32);
7920    #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_3_0_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_SIDE_SURROUND_BD"]
7921    pub const SETUP_5_0_SIDE: SoundFieldChannelMaskSurroundBD = Self(199i32);
7922    #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_5_0_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_LOW_FREQUENCY_BD"]
7923    pub const SETUP_5_1: SoundFieldChannelMaskSurroundBD = Self(63i32);
7924    #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_5_1_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_SIDE_SURROUND_BD"]
7925    pub const SETUP_5_1_SIDE: SoundFieldChannelMaskSurroundBD = Self(207i32);
7926    #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_5_0_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_SIDE_SURROUND_BD"]
7927    pub const SETUP_7_0: SoundFieldChannelMaskSurroundBD = Self(247i32);
7928    #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_7_0_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_LOW_FREQUENCY_BD"]
7929    pub const SETUP_7_1: SoundFieldChannelMaskSurroundBD = Self(255i32);
7930    #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_5_1_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_TOP_FRONT_LEFT_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_TOP_FRONT_RIGHT_BD"]
7931    pub const SETUP_5_1_2: SoundFieldChannelMaskSurroundBD = Self(831i32);
7932    #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_5_1_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_TOP_FRONT_LEFT_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_TOP_FRONT_RIGHT_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_TOP_BACK_LEFT_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_TOP_BACK_RIGHT_BD"]
7933    pub const SETUP_5_1_4: SoundFieldChannelMaskSurroundBD = Self(3903i32);
7934    #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_7_1_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_TOP_SIDE_LEFT_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_TOP_SIDE_RIGHT_BD"]
7935    pub const SETUP_7_1_2: SoundFieldChannelMaskSurroundBD = Self(24831i32);
7936    #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_7_1_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_TOP_FRONT_LEFT_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_TOP_FRONT_RIGHT_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_TOP_BACK_LEFT_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_TOP_BACK_RIGHT_BD"]
7937    pub const SETUP_7_1_4: SoundFieldChannelMaskSurroundBD = Self(4095i32);
7938    pub fn from_raw(x: i32) -> Self {
7939        Self(x)
7940    }
7941    pub fn into_raw(self) -> i32 {
7942        self.0
7943    }
7944}
7945impl fmt::Debug for SoundFieldChannelMaskSurroundBD {
7946    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7947        let name = match *self {
7948            Self::FRONT_LEFT => Some("FRONT_LEFT"),
7949            Self::FRONT_RIGHT => Some("FRONT_RIGHT"),
7950            Self::FRONT_CENTER => Some("FRONT_CENTER"),
7951            Self::LOW_FREQUENCY => Some("LOW_FREQUENCY"),
7952            Self::BACK_LEFT => Some("BACK_LEFT"),
7953            Self::BACK_RIGHT => Some("BACK_RIGHT"),
7954            Self::SIDE_LEFT => Some("SIDE_LEFT"),
7955            Self::SIDE_RIGHT => Some("SIDE_RIGHT"),
7956            Self::TOP_FRONT_LEFT => Some("TOP_FRONT_LEFT"),
7957            Self::TOP_FRONT_RIGHT => Some("TOP_FRONT_RIGHT"),
7958            Self::TOP_BACK_LEFT => Some("TOP_BACK_LEFT"),
7959            Self::TOP_BACK_RIGHT => Some("TOP_BACK_RIGHT"),
7960            Self::BACK_CENTER => Some("BACK_CENTER"),
7961            Self::TOP_SIDE_LEFT => Some("TOP_SIDE_LEFT"),
7962            Self::TOP_SIDE_RIGHT => Some("TOP_SIDE_RIGHT"),
7963            Self::SETUP_STEREO => Some("SETUP_STEREO"),
7964            Self::SETUP_2_1 => Some("SETUP_2_1"),
7965            Self::SETUP_3_0 => Some("SETUP_3_0"),
7966            Self::SETUP_4_0 => Some("SETUP_4_0"),
7967            Self::SETUP_BACK_SURROUND => Some("SETUP_BACK_SURROUND"),
7968            Self::SETUP_QUAD => Some("SETUP_QUAD"),
7969            Self::SETUP_3_1 => Some("SETUP_3_1"),
7970            Self::SETUP_5_0 => Some("SETUP_5_0"),
7971            Self::SETUP_SIDE_SURROUND => Some("SETUP_SIDE_SURROUND"),
7972            Self::SETUP_5_0_SIDE => Some("SETUP_5_0_SIDE"),
7973            Self::SETUP_5_1 => Some("SETUP_5_1"),
7974            Self::SETUP_5_1_SIDE => Some("SETUP_5_1_SIDE"),
7975            Self::SETUP_7_0 => Some("SETUP_7_0"),
7976            Self::SETUP_7_1 => Some("SETUP_7_1"),
7977            Self::SETUP_5_1_2 => Some("SETUP_5_1_2"),
7978            Self::SETUP_5_1_4 => Some("SETUP_5_1_4"),
7979            Self::SETUP_7_1_2 => Some("SETUP_7_1_2"),
7980            Self::SETUP_7_1_4 => Some("SETUP_7_1_4"),
7981            _ => None,
7982        };
7983        fmt_enum(fmt, self.0, name)
7984    }
7985}
7986#[doc = "See [XrSoundFieldChannelMaskAmbixBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundFieldChannelMaskAmbixBD)"]
7987#[repr(transparent)]
7988#[derive(Copy, Clone, Eq, PartialEq)]
7989pub struct SoundFieldChannelMaskAmbixBD(i32);
7990impl SoundFieldChannelMaskAmbixBD {
7991    #[doc = "Indicates 1st-order ambisonics in AmbiX format, which uses ACN (Ambisonic Channel Number) channel ordering and SN3D normalization"]
7992    pub const AMBIX_1ST_ORDER: SoundFieldChannelMaskAmbixBD = Self(1i32);
7993    #[doc = "Indicates 2nd-order ambisonics in AmbiX format, which uses ACN (Ambisonic Channel Number) channel ordering and SN3D normalization"]
7994    pub const AMBIX_2ND_ORDER: SoundFieldChannelMaskAmbixBD = Self(2i32);
7995    #[doc = "Indicates 3rd-order ambisonics in AmbiX format, which uses ACN (Ambisonic Channel Number) channel ordering and SN3D normalization"]
7996    pub const AMBIX_3RD_ORDER: SoundFieldChannelMaskAmbixBD = Self(3i32);
7997    #[doc = "Indicates 4th-order ambisonics in AmbiX format, which uses ACN (Ambisonic Channel Number) channel ordering and SN3D normalization"]
7998    pub const AMBIX_4TH_ORDER: SoundFieldChannelMaskAmbixBD = Self(4i32);
7999    #[doc = "Indicates 5th-order-ambisonics in AmbiX format, which uses ACN (Ambisonic Channel Number) channel ordering and SN3D normalization"]
8000    pub const AMBIX_5TH_ORDER: SoundFieldChannelMaskAmbixBD = Self(5i32);
8001    #[doc = "Indicates 6th-order ambisonics in AmbiX format, which uses ACN (Ambisonic Channel Number) channel ordering and SN3D normalization"]
8002    pub const AMBIX_6TH_ORDER: SoundFieldChannelMaskAmbixBD = Self(6i32);
8003    #[doc = "Indicates 7th-order ambisonics in AmbiX format, which uses ACN (Ambisonic Channel Number) channel ordering and SN3D normalization"]
8004    pub const AMBIX_7TH_ORDER: SoundFieldChannelMaskAmbixBD = Self(7i32);
8005    pub fn from_raw(x: i32) -> Self {
8006        Self(x)
8007    }
8008    pub fn into_raw(self) -> i32 {
8009        self.0
8010    }
8011}
8012impl fmt::Debug for SoundFieldChannelMaskAmbixBD {
8013    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8014        let name = match *self {
8015            Self::AMBIX_1ST_ORDER => Some("AMBIX_1ST_ORDER"),
8016            Self::AMBIX_2ND_ORDER => Some("AMBIX_2ND_ORDER"),
8017            Self::AMBIX_3RD_ORDER => Some("AMBIX_3RD_ORDER"),
8018            Self::AMBIX_4TH_ORDER => Some("AMBIX_4TH_ORDER"),
8019            Self::AMBIX_5TH_ORDER => Some("AMBIX_5TH_ORDER"),
8020            Self::AMBIX_6TH_ORDER => Some("AMBIX_6TH_ORDER"),
8021            Self::AMBIX_7TH_ORDER => Some("AMBIX_7TH_ORDER"),
8022            _ => None,
8023        };
8024        fmt_enum(fmt, self.0, name)
8025    }
8026}
8027#[doc = "See [XrSoundFieldChannelMaskFumaBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundFieldChannelMaskFumaBD)"]
8028#[repr(transparent)]
8029#[derive(Copy, Clone, Eq, PartialEq)]
8030pub struct SoundFieldChannelMaskFumaBD(i32);
8031impl SoundFieldChannelMaskFumaBD {
8032    #[doc = "Indicates the 1st-order ambisonic in FuMA format, which refers to Furse-Malham channel order and maxN normalization"]
8033    pub const FUMA_1ST_ORDER: SoundFieldChannelMaskFumaBD = Self(1i32);
8034    pub fn from_raw(x: i32) -> Self {
8035        Self(x)
8036    }
8037    pub fn into_raw(self) -> i32 {
8038        self.0
8039    }
8040}
8041impl fmt::Debug for SoundFieldChannelMaskFumaBD {
8042    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8043        let name = match *self {
8044            Self::FUMA_1ST_ORDER => Some("FUMA_1ST_ORDER"),
8045            _ => None,
8046        };
8047        fmt_enum(fmt, self.0, name)
8048    }
8049}
8050#[doc = "See [XrSenseDataProviderTypeBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataProviderTypeBD)"]
8051#[repr(transparent)]
8052#[derive(Copy, Clone, Eq, PartialEq)]
8053pub struct SenseDataProviderTypeBD(i32);
8054impl SenseDataProviderTypeBD {
8055    #[doc = "Create arbitrary spatial anchors."]
8056    pub const ANCHOR: SenseDataProviderTypeBD = Self(1000390000i32);
8057    #[doc = "Access spatial scene capture data."]
8058    pub const SCENE: SenseDataProviderTypeBD = Self(1000392000i32);
8059    #[doc = "Capture spatial mesh data."]
8060    pub const MESH: SenseDataProviderTypeBD = Self(1000393000i32);
8061    #[doc = "Capture spatial plane data."]
8062    pub const PLANE: SenseDataProviderTypeBD = Self(1000396000i32);
8063    pub fn from_raw(x: i32) -> Self {
8064        Self(x)
8065    }
8066    pub fn into_raw(self) -> i32 {
8067        self.0
8068    }
8069}
8070impl fmt::Debug for SenseDataProviderTypeBD {
8071    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8072        let name = match *self {
8073            Self::ANCHOR => Some("ANCHOR"),
8074            Self::SCENE => Some("SCENE"),
8075            Self::MESH => Some("MESH"),
8076            Self::PLANE => Some("PLANE"),
8077            _ => None,
8078        };
8079        fmt_enum(fmt, self.0, name)
8080    }
8081}
8082#[doc = "See [XrSemanticLabelBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSemanticLabelBD)"]
8083#[repr(transparent)]
8084#[derive(Copy, Clone, Eq, PartialEq, Default)]
8085pub struct SemanticLabelBD(i32);
8086impl SemanticLabelBD {
8087    #[doc = "Semantic label that the runtime does not know."]
8088    pub const UNKNOWN: SemanticLabelBD = Self(0i32);
8089    #[doc = "Semantic label of floor."]
8090    pub const FLOOR: SemanticLabelBD = Self(1i32);
8091    #[doc = "Semantic label of ceiling."]
8092    pub const CEILING: SemanticLabelBD = Self(2i32);
8093    #[doc = "Semantic label of wall."]
8094    pub const WALL: SemanticLabelBD = Self(3i32);
8095    #[doc = "Semantic label of door."]
8096    pub const DOOR: SemanticLabelBD = Self(4i32);
8097    #[doc = "Semantic label of window."]
8098    pub const WINDOW: SemanticLabelBD = Self(5i32);
8099    #[doc = "Semantic label of opening, usually refers to a space that something or someone can pass through."]
8100    pub const OPENING: SemanticLabelBD = Self(6i32);
8101    #[doc = "Semantic label of table."]
8102    pub const TABLE: SemanticLabelBD = Self(7i32);
8103    #[doc = "Semantic label of sofa, usually refers to a seat that multiple people can sit on."]
8104    pub const SOFA: SemanticLabelBD = Self(8i32);
8105    #[doc = "Semantic label of chair, usually refers to a seat that for one person."]
8106    pub const CHAIR: SemanticLabelBD = Self(9i32);
8107    #[doc = "Semantic label of human."]
8108    pub const HUMAN: SemanticLabelBD = Self(10i32);
8109    #[doc = "Semantic label of beam, which usually supports weight in a building or other structure."]
8110    pub const BEAM: SemanticLabelBD = Self(11i32);
8111    #[doc = "Semantic label of column, which is vertical and used as a support for the roof of a building."]
8112    pub const COLUMN: SemanticLabelBD = Self(12i32);
8113    #[doc = "Semantic label of curtain."]
8114    pub const CURTAIN: SemanticLabelBD = Self(13i32);
8115    #[doc = "Semantic label of cabinet."]
8116    pub const CABINET: SemanticLabelBD = Self(14i32);
8117    #[doc = "Semantic label of bed."]
8118    pub const BED: SemanticLabelBD = Self(15i32);
8119    #[doc = "Semantic label of plant."]
8120    pub const PLANT: SemanticLabelBD = Self(16i32);
8121    #[doc = "Semantic label of screen."]
8122    pub const SCREEN: SemanticLabelBD = Self(17i32);
8123    #[doc = "Semantic label of virtual wall, which is generated by the system scene capture app in order to create a closed space for users."]
8124    pub const VIRTUAL_WALL: SemanticLabelBD = Self(18i32);
8125    #[doc = "Semantic label of refrigerator."]
8126    pub const REFRIGERATOR: SemanticLabelBD = Self(19i32);
8127    #[doc = "Semantic label of washing machine."]
8128    pub const WASHING_MACHINE: SemanticLabelBD = Self(20i32);
8129    #[doc = "Semantic label of air conditioner."]
8130    pub const AIR_CONDITIONER: SemanticLabelBD = Self(21i32);
8131    #[doc = "Semantic label of lamp."]
8132    pub const LAMP: SemanticLabelBD = Self(22i32);
8133    #[doc = "Semantic label of wall art, like a painting or a photo frame."]
8134    pub const WALL_ART: SemanticLabelBD = Self(23i32);
8135    #[doc = "Semantic label of stairway."]
8136    pub const STAIRWAY: SemanticLabelBD = Self(24i32);
8137    pub fn from_raw(x: i32) -> Self {
8138        Self(x)
8139    }
8140    pub fn into_raw(self) -> i32 {
8141        self.0
8142    }
8143}
8144impl fmt::Debug for SemanticLabelBD {
8145    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8146        let name = match *self {
8147            Self::UNKNOWN => Some("UNKNOWN"),
8148            Self::FLOOR => Some("FLOOR"),
8149            Self::CEILING => Some("CEILING"),
8150            Self::WALL => Some("WALL"),
8151            Self::DOOR => Some("DOOR"),
8152            Self::WINDOW => Some("WINDOW"),
8153            Self::OPENING => Some("OPENING"),
8154            Self::TABLE => Some("TABLE"),
8155            Self::SOFA => Some("SOFA"),
8156            Self::CHAIR => Some("CHAIR"),
8157            Self::HUMAN => Some("HUMAN"),
8158            Self::BEAM => Some("BEAM"),
8159            Self::COLUMN => Some("COLUMN"),
8160            Self::CURTAIN => Some("CURTAIN"),
8161            Self::CABINET => Some("CABINET"),
8162            Self::BED => Some("BED"),
8163            Self::PLANT => Some("PLANT"),
8164            Self::SCREEN => Some("SCREEN"),
8165            Self::VIRTUAL_WALL => Some("VIRTUAL_WALL"),
8166            Self::REFRIGERATOR => Some("REFRIGERATOR"),
8167            Self::WASHING_MACHINE => Some("WASHING_MACHINE"),
8168            Self::AIR_CONDITIONER => Some("AIR_CONDITIONER"),
8169            Self::LAMP => Some("LAMP"),
8170            Self::WALL_ART => Some("WALL_ART"),
8171            Self::STAIRWAY => Some("STAIRWAY"),
8172            _ => None,
8173        };
8174        fmt_enum(fmt, self.0, name)
8175    }
8176}
8177#[doc = "See [XrSpatialEntityComponentTypeBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentTypeBD)"]
8178#[repr(transparent)]
8179#[derive(Copy, Clone, Eq, PartialEq, Default)]
8180pub struct SpatialEntityComponentTypeBD(i32);
8181impl SpatialEntityComponentTypeBD {
8182    #[doc = "The location including position and rotation. Corresponds to component data structure XrSpatialEntityComponentDataLocationBD."]
8183    pub const LOCATION: SpatialEntityComponentTypeBD = Self(0i32);
8184    #[doc = "The semantic label. Corresponds to component data structure XrSpatialEntityComponentDataSemanticBD."]
8185    pub const SEMANTIC: SpatialEntityComponentTypeBD = Self(1i32);
8186    #[doc = "The two-dimensional bounding box. Corresponds to component data structure XrSpatialEntityComponentDataBoundingBox2DBD."]
8187    pub const BOUNDING_BOX_2D: SpatialEntityComponentTypeBD = Self(2i32);
8188    #[doc = "The two-dimensional polygon. Corresponds to component data structure XrSpatialEntityComponentDataPolygonBD."]
8189    pub const POLYGON: SpatialEntityComponentTypeBD = Self(3i32);
8190    #[doc = "The three-dimensional bounding box. Corresponds to component data structure XrSpatialEntityComponentDataBoundingBox3DBD."]
8191    pub const BOUNDING_BOX_3D: SpatialEntityComponentTypeBD = Self(4i32);
8192    #[doc = "The triangle mesh. Corresponds to component data structure XrSpatialEntityComponentDataTriangleMeshBD."]
8193    pub const TRIANGLE_MESH: SpatialEntityComponentTypeBD = Self(5i32);
8194    #[doc = "The plane orientation. Corresponds to component data structure XrSpatialEntityComponentDataPlaneOrientationBD."]
8195    pub const PLANE_ORIENTATION: SpatialEntityComponentTypeBD = Self(1000396000i32);
8196    pub fn from_raw(x: i32) -> Self {
8197        Self(x)
8198    }
8199    pub fn into_raw(self) -> i32 {
8200        self.0
8201    }
8202}
8203impl fmt::Debug for SpatialEntityComponentTypeBD {
8204    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8205        let name = match *self {
8206            Self::LOCATION => Some("LOCATION"),
8207            Self::SEMANTIC => Some("SEMANTIC"),
8208            Self::BOUNDING_BOX_2D => Some("BOUNDING_BOX_2D"),
8209            Self::POLYGON => Some("POLYGON"),
8210            Self::BOUNDING_BOX_3D => Some("BOUNDING_BOX_3D"),
8211            Self::TRIANGLE_MESH => Some("TRIANGLE_MESH"),
8212            Self::PLANE_ORIENTATION => Some("PLANE_ORIENTATION"),
8213            _ => None,
8214        };
8215        fmt_enum(fmt, self.0, name)
8216    }
8217}
8218#[doc = "See [XrSenseDataProviderStateBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataProviderStateBD)"]
8219#[repr(transparent)]
8220#[derive(Copy, Clone, Eq, PartialEq, Default)]
8221pub struct SenseDataProviderStateBD(i32);
8222impl SenseDataProviderStateBD {
8223    #[doc = "The state after the provider is successfully created, which means the provider is ready to start."]
8224    pub const INITIALIZED: SenseDataProviderStateBD = Self(0i32);
8225    #[doc = "The state when the provider is running normally."]
8226    pub const RUNNING: SenseDataProviderStateBD = Self(1i32);
8227    #[doc = "The state after the provider is successfully stopped, or when an unexpected error occurs."]
8228    pub const STOPPED: SenseDataProviderStateBD = Self(2i32);
8229    pub fn from_raw(x: i32) -> Self {
8230        Self(x)
8231    }
8232    pub fn into_raw(self) -> i32 {
8233        self.0
8234    }
8235}
8236impl fmt::Debug for SenseDataProviderStateBD {
8237    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8238        let name = match *self {
8239            Self::INITIALIZED => Some("INITIALIZED"),
8240            Self::RUNNING => Some("RUNNING"),
8241            Self::STOPPED => Some("STOPPED"),
8242            _ => None,
8243        };
8244        fmt_enum(fmt, self.0, name)
8245    }
8246}
8247#[doc = "See [XrPersistenceLocationBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPersistenceLocationBD)"]
8248#[repr(transparent)]
8249#[derive(Copy, Clone, Eq, PartialEq, Default)]
8250pub struct PersistenceLocationBD(i32);
8251impl PersistenceLocationBD {
8252    #[doc = "The persistence storage location is local to the device."]
8253    pub const LOCAL: PersistenceLocationBD = Self(0i32);
8254    pub fn from_raw(x: i32) -> Self {
8255        Self(x)
8256    }
8257    pub fn into_raw(self) -> i32 {
8258        self.0
8259    }
8260}
8261impl fmt::Debug for PersistenceLocationBD {
8262    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8263        let name = match *self {
8264            Self::LOCAL => Some("LOCAL"),
8265            _ => None,
8266        };
8267        fmt_enum(fmt, self.0, name)
8268    }
8269}
8270#[doc = "See [XrSpatialMeshLodBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialMeshLodBD)"]
8271#[repr(transparent)]
8272#[derive(Copy, Clone, Eq, PartialEq, Default)]
8273pub struct SpatialMeshLodBD(i32);
8274impl SpatialMeshLodBD {
8275    #[doc = "Coarse level for the mesh with less details."]
8276    pub const COARSE: SpatialMeshLodBD = Self(0i32);
8277    #[doc = "Medium level for the mesh."]
8278    pub const MEDIUM: SpatialMeshLodBD = Self(1i32);
8279    #[doc = "Fine level for the mesh with more details."]
8280    pub const FINE: SpatialMeshLodBD = Self(2i32);
8281    pub fn from_raw(x: i32) -> Self {
8282        Self(x)
8283    }
8284    pub fn into_raw(self) -> i32 {
8285        self.0
8286    }
8287}
8288impl fmt::Debug for SpatialMeshLodBD {
8289    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8290        let name = match *self {
8291            Self::COARSE => Some("COARSE"),
8292            Self::MEDIUM => Some("MEDIUM"),
8293            Self::FINE => Some("FINE"),
8294            _ => None,
8295        };
8296        fmt_enum(fmt, self.0, name)
8297    }
8298}
8299#[doc = "See [XrPlaneOrientationBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneOrientationBD)"]
8300#[repr(transparent)]
8301#[derive(Copy, Clone, Eq, PartialEq, Default)]
8302pub struct PlaneOrientationBD(i32);
8303impl PlaneOrientationBD {
8304    #[doc = "The detected plane is horizontal and faces upward (e.g. floor)."]
8305    pub const HORIZONTAL_UPWARD: PlaneOrientationBD = Self(0i32);
8306    #[doc = "The detected plane is horizontal and faces downward (e.g. ceiling)."]
8307    pub const HORIZONTAL_DOWNWARD: PlaneOrientationBD = Self(1i32);
8308    #[doc = "The detected plane is vertical (e.g. wall)."]
8309    pub const VERTICAL: PlaneOrientationBD = Self(2i32);
8310    #[doc = "The detected plane has an arbitrary, non-vertical and non-horizontal orientation."]
8311    pub const ARBITRARY: PlaneOrientationBD = Self(3i32);
8312    pub fn from_raw(x: i32) -> Self {
8313        Self(x)
8314    }
8315    pub fn into_raw(self) -> i32 {
8316        self.0
8317    }
8318}
8319impl fmt::Debug for PlaneOrientationBD {
8320    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8321        let name = match *self {
8322            Self::HORIZONTAL_UPWARD => Some("HORIZONTAL_UPWARD"),
8323            Self::HORIZONTAL_DOWNWARD => Some("HORIZONTAL_DOWNWARD"),
8324            Self::VERTICAL => Some("VERTICAL"),
8325            Self::ARBITRARY => Some("ARBITRARY"),
8326            _ => None,
8327        };
8328        fmt_enum(fmt, self.0, name)
8329    }
8330}
8331#[doc = "See [XrSpatialMarkerArucoDictEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialMarkerArucoDictEXT)"]
8332#[repr(transparent)]
8333#[derive(Copy, Clone, Eq, PartialEq)]
8334pub struct SpatialMarkerArucoDictEXT(i32);
8335impl SpatialMarkerArucoDictEXT {
8336    #[doc = "4 by 4 pixel Aruco marker dictionary with 50 IDs."]
8337    pub const DICT_4X4_50: SpatialMarkerArucoDictEXT = Self(1i32);
8338    #[doc = "4 by 4 pixel Aruco marker dictionary with 100 IDs."]
8339    pub const DICT_4X4_100: SpatialMarkerArucoDictEXT = Self(2i32);
8340    #[doc = "4 by 4 pixel Aruco marker dictionary with 250 IDs."]
8341    pub const DICT_4X4_250: SpatialMarkerArucoDictEXT = Self(3i32);
8342    #[doc = "4 by 4 pixel Aruco marker dictionary with 1000 IDs."]
8343    pub const DICT_4X4_1000: SpatialMarkerArucoDictEXT = Self(4i32);
8344    #[doc = "5 by 5 pixel Aruco marker dictionary with 50 IDs."]
8345    pub const DICT_5X5_50: SpatialMarkerArucoDictEXT = Self(5i32);
8346    #[doc = "5 by 5 pixel Aruco marker dictionary with 100 IDs."]
8347    pub const DICT_5X5_100: SpatialMarkerArucoDictEXT = Self(6i32);
8348    #[doc = "5 by 5 pixel Aruco marker dictionary with 250 IDs."]
8349    pub const DICT_5X5_250: SpatialMarkerArucoDictEXT = Self(7i32);
8350    #[doc = "5 by 5 pixel Aruco marker dictionary with 1000 IDs."]
8351    pub const DICT_5X5_1000: SpatialMarkerArucoDictEXT = Self(8i32);
8352    #[doc = "6 by 6 pixel Aruco marker dictionary with 50 IDs."]
8353    pub const DICT_6X6_50: SpatialMarkerArucoDictEXT = Self(9i32);
8354    #[doc = "6 by 6 pixel Aruco marker dictionary with 100 IDs."]
8355    pub const DICT_6X6_100: SpatialMarkerArucoDictEXT = Self(10i32);
8356    #[doc = "6 by 6 pixel Aruco marker dictionary with 250 IDs."]
8357    pub const DICT_6X6_250: SpatialMarkerArucoDictEXT = Self(11i32);
8358    #[doc = "6 by 6 pixel Aruco marker dictionary with 1000 IDs."]
8359    pub const DICT_6X6_1000: SpatialMarkerArucoDictEXT = Self(12i32);
8360    #[doc = "7 by 7 pixel Aruco marker dictionary with 50 IDs."]
8361    pub const DICT_7X7_50: SpatialMarkerArucoDictEXT = Self(13i32);
8362    #[doc = "7 by 7 pixel Aruco marker dictionary with 100 IDs."]
8363    pub const DICT_7X7_100: SpatialMarkerArucoDictEXT = Self(14i32);
8364    #[doc = "7 by 7 pixel Aruco marker dictionary with 250 IDs."]
8365    pub const DICT_7X7_250: SpatialMarkerArucoDictEXT = Self(15i32);
8366    #[doc = "7 by 7 pixel Aruco marker dictionary with 1000 IDs."]
8367    pub const DICT_7X7_1000: SpatialMarkerArucoDictEXT = Self(16i32);
8368    pub fn from_raw(x: i32) -> Self {
8369        Self(x)
8370    }
8371    pub fn into_raw(self) -> i32 {
8372        self.0
8373    }
8374}
8375impl fmt::Debug for SpatialMarkerArucoDictEXT {
8376    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8377        let name = match *self {
8378            Self::DICT_4X4_50 => Some("DICT_4X4_50"),
8379            Self::DICT_4X4_100 => Some("DICT_4X4_100"),
8380            Self::DICT_4X4_250 => Some("DICT_4X4_250"),
8381            Self::DICT_4X4_1000 => Some("DICT_4X4_1000"),
8382            Self::DICT_5X5_50 => Some("DICT_5X5_50"),
8383            Self::DICT_5X5_100 => Some("DICT_5X5_100"),
8384            Self::DICT_5X5_250 => Some("DICT_5X5_250"),
8385            Self::DICT_5X5_1000 => Some("DICT_5X5_1000"),
8386            Self::DICT_6X6_50 => Some("DICT_6X6_50"),
8387            Self::DICT_6X6_100 => Some("DICT_6X6_100"),
8388            Self::DICT_6X6_250 => Some("DICT_6X6_250"),
8389            Self::DICT_6X6_1000 => Some("DICT_6X6_1000"),
8390            Self::DICT_7X7_50 => Some("DICT_7X7_50"),
8391            Self::DICT_7X7_100 => Some("DICT_7X7_100"),
8392            Self::DICT_7X7_250 => Some("DICT_7X7_250"),
8393            Self::DICT_7X7_1000 => Some("DICT_7X7_1000"),
8394            _ => None,
8395        };
8396        fmt_enum(fmt, self.0, name)
8397    }
8398}
8399#[doc = "See [XrSpatialMarkerAprilTagDictEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialMarkerAprilTagDictEXT)"]
8400#[repr(transparent)]
8401#[derive(Copy, Clone, Eq, PartialEq)]
8402pub struct SpatialMarkerAprilTagDictEXT(i32);
8403impl SpatialMarkerAprilTagDictEXT {
8404    #[doc = "4 by 4 bits, minimum Hamming distance between any two codes = 5, 30 codes."]
8405    pub const DICT_16H5: SpatialMarkerAprilTagDictEXT = Self(1i32);
8406    #[doc = "5 by 5 bits, minimum Hamming distance between any two codes = 9, 35 codes."]
8407    pub const DICT_25H9: SpatialMarkerAprilTagDictEXT = Self(2i32);
8408    #[doc = "6 by 6 bits, minimum Hamming distance between any two codes = 10, 2320 codes."]
8409    pub const DICT_36H10: SpatialMarkerAprilTagDictEXT = Self(3i32);
8410    #[doc = "6 by 6 bits, minimum Hamming distance between any two codes = 11, 587 codes."]
8411    pub const DICT_36H11: SpatialMarkerAprilTagDictEXT = Self(4i32);
8412    pub fn from_raw(x: i32) -> Self {
8413        Self(x)
8414    }
8415    pub fn into_raw(self) -> i32 {
8416        self.0
8417    }
8418}
8419impl fmt::Debug for SpatialMarkerAprilTagDictEXT {
8420    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8421        let name = match *self {
8422            Self::DICT_16H5 => Some("DICT_16H5"),
8423            Self::DICT_25H9 => Some("DICT_25H9"),
8424            Self::DICT_36H10 => Some("DICT_36H10"),
8425            Self::DICT_36H11 => Some("DICT_36H11"),
8426            _ => None,
8427        };
8428        fmt_enum(fmt, self.0, name)
8429    }
8430}
8431#[doc = "See [XrFacialSimulationModeBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialSimulationModeBD)"]
8432#[repr(transparent)]
8433#[derive(Copy, Clone, Eq, PartialEq, Default)]
8434pub struct FacialSimulationModeBD(i32);
8435impl FacialSimulationModeBD {
8436    #[doc = "When calling xrGetFacialSimulationDataBD, the output contains the XrFacialSimulationDataBD only."]
8437    pub const DEFAULT: FacialSimulationModeBD = Self(0i32);
8438    #[doc = "Results in the same output as the `Default` mode, furthermore, runtime can provide a precise result by using the audio input."]
8439    pub const COMBINED_AUDIO: FacialSimulationModeBD = Self(1i32);
8440    #[doc = "Separates the result into two parts, one is XrFacialSimulationDataBD, the other is XrLipExpressionDataBD."]
8441    pub const COMBINED_AUDIO_WITH_LIP: FacialSimulationModeBD = Self(2i32);
8442    #[doc = "Uses only audio input to produce the output result as XrLipExpressionDataBD."]
8443    pub const ONLY_AUDIO_WITH_LIP: FacialSimulationModeBD = Self(3i32);
8444    pub fn from_raw(x: i32) -> Self {
8445        Self(x)
8446    }
8447    pub fn into_raw(self) -> i32 {
8448        self.0
8449    }
8450}
8451impl fmt::Debug for FacialSimulationModeBD {
8452    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8453        let name = match *self {
8454            Self::DEFAULT => Some("DEFAULT"),
8455            Self::COMBINED_AUDIO => Some("COMBINED_AUDIO"),
8456            Self::COMBINED_AUDIO_WITH_LIP => Some("COMBINED_AUDIO_WITH_LIP"),
8457            Self::ONLY_AUDIO_WITH_LIP => Some("ONLY_AUDIO_WITH_LIP"),
8458            _ => None,
8459        };
8460        fmt_enum(fmt, self.0, name)
8461    }
8462}
8463#[doc = "See [XrFaceExpressionBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionBD)"]
8464#[repr(transparent)]
8465#[derive(Copy, Clone, Eq, PartialEq, Default)]
8466pub struct FaceExpressionBD(i32);
8467impl FaceExpressionBD {
8468    pub const BROW_DROP_L: FaceExpressionBD = Self(0i32);
8469    pub const BROW_DROP_R: FaceExpressionBD = Self(1i32);
8470    pub const BROW_INNER_UPWARDS: FaceExpressionBD = Self(2i32);
8471    pub const BROW_OUTER_UPWARDS_L: FaceExpressionBD = Self(3i32);
8472    pub const BROW_OUTER_UPWARDS_R: FaceExpressionBD = Self(4i32);
8473    pub const EYE_BLINK_L: FaceExpressionBD = Self(5i32);
8474    pub const EYE_LOOK_DROP_L: FaceExpressionBD = Self(6i32);
8475    pub const EYE_LOOK_IN_L: FaceExpressionBD = Self(7i32);
8476    pub const EYE_LOOK_OUT_L: FaceExpressionBD = Self(8i32);
8477    pub const EYE_LOOK_UPWARDS_L: FaceExpressionBD = Self(9i32);
8478    pub const EYE_LOOK_SQUINT_L: FaceExpressionBD = Self(10i32);
8479    pub const EYE_LOOK_WIDE_L: FaceExpressionBD = Self(11i32);
8480    pub const EYE_BLINK_R: FaceExpressionBD = Self(12i32);
8481    pub const EYE_LOOK_DROP_R: FaceExpressionBD = Self(13i32);
8482    pub const EYE_LOOK_IN_R: FaceExpressionBD = Self(14i32);
8483    pub const EYE_LOOK_OUT_R: FaceExpressionBD = Self(15i32);
8484    pub const EYE_LOOK_UPWARDS_R: FaceExpressionBD = Self(16i32);
8485    pub const EYE_LOOK_SQUINT_R: FaceExpressionBD = Self(17i32);
8486    pub const EYE_LOOK_WIDE_R: FaceExpressionBD = Self(18i32);
8487    pub const NOSE_SNEER_L: FaceExpressionBD = Self(19i32);
8488    pub const NOSE_SNEER_R: FaceExpressionBD = Self(20i32);
8489    pub const CHEEK_PUFF: FaceExpressionBD = Self(21i32);
8490    pub const CHEEK_SQUINT_L: FaceExpressionBD = Self(22i32);
8491    pub const CHEEK_SQUINT_R: FaceExpressionBD = Self(23i32);
8492    pub const MOUTH_CLOSE: FaceExpressionBD = Self(24i32);
8493    pub const MOUTH_FUNNEL: FaceExpressionBD = Self(25i32);
8494    pub const MOUTH_PUCKER: FaceExpressionBD = Self(26i32);
8495    pub const MOUTH_L: FaceExpressionBD = Self(27i32);
8496    pub const MOUTH_R: FaceExpressionBD = Self(28i32);
8497    pub const MOUTH_SMILE_L: FaceExpressionBD = Self(29i32);
8498    pub const MOUTH_SMILE_R: FaceExpressionBD = Self(30i32);
8499    pub const MOUTH_FROWN_L: FaceExpressionBD = Self(31i32);
8500    pub const MOUTH_FROWN_R: FaceExpressionBD = Self(32i32);
8501    pub const MOUTH_DIMPLE_L: FaceExpressionBD = Self(33i32);
8502    pub const MOUTH_DIMPLE_R: FaceExpressionBD = Self(34i32);
8503    pub const MOUTH_STRETCH_L: FaceExpressionBD = Self(35i32);
8504    pub const MOUTH_STRETCH_R: FaceExpressionBD = Self(36i32);
8505    pub const MOUTH_ROLL_LOWER: FaceExpressionBD = Self(37i32);
8506    pub const MOUTH_ROLL_UPPER: FaceExpressionBD = Self(38i32);
8507    pub const MOUTH_SHRUG_LOWER: FaceExpressionBD = Self(39i32);
8508    pub const MOUTH_SHRUG_UPPER: FaceExpressionBD = Self(40i32);
8509    pub const MOUTH_PRESS_L: FaceExpressionBD = Self(41i32);
8510    pub const MOUTH_PRESS_R: FaceExpressionBD = Self(42i32);
8511    pub const MOUTH_LOWER_DROP_L: FaceExpressionBD = Self(43i32);
8512    pub const MOUTH_LOWER_DROP_R: FaceExpressionBD = Self(44i32);
8513    pub const MOUTH_UPPER_UPWARDS_L: FaceExpressionBD = Self(45i32);
8514    pub const MOUTH_UPPER_UPWARDS_R: FaceExpressionBD = Self(46i32);
8515    pub const JAW_FORWARD: FaceExpressionBD = Self(47i32);
8516    pub const JAW_L: FaceExpressionBD = Self(48i32);
8517    pub const JAW_R: FaceExpressionBD = Self(49i32);
8518    pub const JAW_OPEN: FaceExpressionBD = Self(50i32);
8519    pub const TONGUE_OUT: FaceExpressionBD = Self(51i32);
8520    pub fn from_raw(x: i32) -> Self {
8521        Self(x)
8522    }
8523    pub fn into_raw(self) -> i32 {
8524        self.0
8525    }
8526}
8527impl fmt::Debug for FaceExpressionBD {
8528    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8529        let name = match *self {
8530            Self::BROW_DROP_L => Some("BROW_DROP_L"),
8531            Self::BROW_DROP_R => Some("BROW_DROP_R"),
8532            Self::BROW_INNER_UPWARDS => Some("BROW_INNER_UPWARDS"),
8533            Self::BROW_OUTER_UPWARDS_L => Some("BROW_OUTER_UPWARDS_L"),
8534            Self::BROW_OUTER_UPWARDS_R => Some("BROW_OUTER_UPWARDS_R"),
8535            Self::EYE_BLINK_L => Some("EYE_BLINK_L"),
8536            Self::EYE_LOOK_DROP_L => Some("EYE_LOOK_DROP_L"),
8537            Self::EYE_LOOK_IN_L => Some("EYE_LOOK_IN_L"),
8538            Self::EYE_LOOK_OUT_L => Some("EYE_LOOK_OUT_L"),
8539            Self::EYE_LOOK_UPWARDS_L => Some("EYE_LOOK_UPWARDS_L"),
8540            Self::EYE_LOOK_SQUINT_L => Some("EYE_LOOK_SQUINT_L"),
8541            Self::EYE_LOOK_WIDE_L => Some("EYE_LOOK_WIDE_L"),
8542            Self::EYE_BLINK_R => Some("EYE_BLINK_R"),
8543            Self::EYE_LOOK_DROP_R => Some("EYE_LOOK_DROP_R"),
8544            Self::EYE_LOOK_IN_R => Some("EYE_LOOK_IN_R"),
8545            Self::EYE_LOOK_OUT_R => Some("EYE_LOOK_OUT_R"),
8546            Self::EYE_LOOK_UPWARDS_R => Some("EYE_LOOK_UPWARDS_R"),
8547            Self::EYE_LOOK_SQUINT_R => Some("EYE_LOOK_SQUINT_R"),
8548            Self::EYE_LOOK_WIDE_R => Some("EYE_LOOK_WIDE_R"),
8549            Self::NOSE_SNEER_L => Some("NOSE_SNEER_L"),
8550            Self::NOSE_SNEER_R => Some("NOSE_SNEER_R"),
8551            Self::CHEEK_PUFF => Some("CHEEK_PUFF"),
8552            Self::CHEEK_SQUINT_L => Some("CHEEK_SQUINT_L"),
8553            Self::CHEEK_SQUINT_R => Some("CHEEK_SQUINT_R"),
8554            Self::MOUTH_CLOSE => Some("MOUTH_CLOSE"),
8555            Self::MOUTH_FUNNEL => Some("MOUTH_FUNNEL"),
8556            Self::MOUTH_PUCKER => Some("MOUTH_PUCKER"),
8557            Self::MOUTH_L => Some("MOUTH_L"),
8558            Self::MOUTH_R => Some("MOUTH_R"),
8559            Self::MOUTH_SMILE_L => Some("MOUTH_SMILE_L"),
8560            Self::MOUTH_SMILE_R => Some("MOUTH_SMILE_R"),
8561            Self::MOUTH_FROWN_L => Some("MOUTH_FROWN_L"),
8562            Self::MOUTH_FROWN_R => Some("MOUTH_FROWN_R"),
8563            Self::MOUTH_DIMPLE_L => Some("MOUTH_DIMPLE_L"),
8564            Self::MOUTH_DIMPLE_R => Some("MOUTH_DIMPLE_R"),
8565            Self::MOUTH_STRETCH_L => Some("MOUTH_STRETCH_L"),
8566            Self::MOUTH_STRETCH_R => Some("MOUTH_STRETCH_R"),
8567            Self::MOUTH_ROLL_LOWER => Some("MOUTH_ROLL_LOWER"),
8568            Self::MOUTH_ROLL_UPPER => Some("MOUTH_ROLL_UPPER"),
8569            Self::MOUTH_SHRUG_LOWER => Some("MOUTH_SHRUG_LOWER"),
8570            Self::MOUTH_SHRUG_UPPER => Some("MOUTH_SHRUG_UPPER"),
8571            Self::MOUTH_PRESS_L => Some("MOUTH_PRESS_L"),
8572            Self::MOUTH_PRESS_R => Some("MOUTH_PRESS_R"),
8573            Self::MOUTH_LOWER_DROP_L => Some("MOUTH_LOWER_DROP_L"),
8574            Self::MOUTH_LOWER_DROP_R => Some("MOUTH_LOWER_DROP_R"),
8575            Self::MOUTH_UPPER_UPWARDS_L => Some("MOUTH_UPPER_UPWARDS_L"),
8576            Self::MOUTH_UPPER_UPWARDS_R => Some("MOUTH_UPPER_UPWARDS_R"),
8577            Self::JAW_FORWARD => Some("JAW_FORWARD"),
8578            Self::JAW_L => Some("JAW_L"),
8579            Self::JAW_R => Some("JAW_R"),
8580            Self::JAW_OPEN => Some("JAW_OPEN"),
8581            Self::TONGUE_OUT => Some("TONGUE_OUT"),
8582            _ => None,
8583        };
8584        fmt_enum(fmt, self.0, name)
8585    }
8586}
8587#[doc = "See [XrLipExpressionBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLipExpressionBD)"]
8588#[repr(transparent)]
8589#[derive(Copy, Clone, Eq, PartialEq, Default)]
8590pub struct LipExpressionBD(i32);
8591impl LipExpressionBD {
8592    pub const PP: LipExpressionBD = Self(0i32);
8593    pub const CH: LipExpressionBD = Self(1i32);
8594    pub const LO: LipExpressionBD = Self(2i32);
8595    pub const O: LipExpressionBD = Self(3i32);
8596    pub const I: LipExpressionBD = Self(4i32);
8597    pub const LU: LipExpressionBD = Self(5i32);
8598    pub const RR: LipExpressionBD = Self(6i32);
8599    pub const XX: LipExpressionBD = Self(7i32);
8600    pub const LAA: LipExpressionBD = Self(8i32);
8601    pub const LI: LipExpressionBD = Self(9i32);
8602    pub const FF: LipExpressionBD = Self(10i32);
8603    pub const U: LipExpressionBD = Self(11i32);
8604    pub const TH: LipExpressionBD = Self(12i32);
8605    pub const LKK: LipExpressionBD = Self(13i32);
8606    pub const SS: LipExpressionBD = Self(14i32);
8607    pub const LE: LipExpressionBD = Self(15i32);
8608    pub const DD: LipExpressionBD = Self(16i32);
8609    pub const E: LipExpressionBD = Self(17i32);
8610    pub const LNN: LipExpressionBD = Self(18i32);
8611    pub const SIL: LipExpressionBD = Self(19i32);
8612    pub fn from_raw(x: i32) -> Self {
8613        Self(x)
8614    }
8615    pub fn into_raw(self) -> i32 {
8616        self.0
8617    }
8618}
8619impl fmt::Debug for LipExpressionBD {
8620    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8621        let name = match *self {
8622            Self::PP => Some("PP"),
8623            Self::CH => Some("CH"),
8624            Self::LO => Some("LO"),
8625            Self::O => Some("O"),
8626            Self::I => Some("I"),
8627            Self::LU => Some("LU"),
8628            Self::RR => Some("RR"),
8629            Self::XX => Some("XX"),
8630            Self::LAA => Some("LAA"),
8631            Self::LI => Some("LI"),
8632            Self::FF => Some("FF"),
8633            Self::U => Some("U"),
8634            Self::TH => Some("TH"),
8635            Self::LKK => Some("LKK"),
8636            Self::SS => Some("SS"),
8637            Self::LE => Some("LE"),
8638            Self::DD => Some("DD"),
8639            Self::E => Some("E"),
8640            Self::LNN => Some("LNN"),
8641            Self::SIL => Some("SIL"),
8642            _ => None,
8643        };
8644        fmt_enum(fmt, self.0, name)
8645    }
8646}
8647#[doc = "See [XrSpatialObjectSemanticLabelANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialObjectSemanticLabelANDROID)"]
8648#[repr(transparent)]
8649#[derive(Copy, Clone, Eq, PartialEq, Default)]
8650pub struct SpatialObjectSemanticLabelANDROID(i32);
8651impl SpatialObjectSemanticLabelANDROID {
8652    #[doc = "The runtime was unable to classify this entity."]
8653    pub const UNCATEGORIZED: SpatialObjectSemanticLabelANDROID = Self(0i32);
8654    #[doc = "The entity is a keyboard."]
8655    pub const KEYBOARD: SpatialObjectSemanticLabelANDROID = Self(1i32);
8656    #[doc = "The entity is a mouse."]
8657    pub const MOUSE: SpatialObjectSemanticLabelANDROID = Self(2i32);
8658    #[doc = "The entity is a laptop."]
8659    pub const LAPTOP_BASE: SpatialObjectSemanticLabelANDROID = Self(3i32);
8660    pub fn from_raw(x: i32) -> Self {
8661        Self(x)
8662    }
8663    pub fn into_raw(self) -> i32 {
8664        self.0
8665    }
8666}
8667impl fmt::Debug for SpatialObjectSemanticLabelANDROID {
8668    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8669        let name = match *self {
8670            Self::UNCATEGORIZED => Some("UNCATEGORIZED"),
8671            Self::KEYBOARD => Some("KEYBOARD"),
8672            Self::MOUSE => Some("MOUSE"),
8673            Self::LAPTOP_BASE => Some("LAPTOP_BASE"),
8674            _ => None,
8675        };
8676        fmt_enum(fmt, self.0, name)
8677    }
8678}
8679#[doc = "See [XrEnvironmentRaycastHitStatusMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentRaycastHitStatusMETA)"]
8680#[repr(transparent)]
8681#[derive(Copy, Clone, Eq, PartialEq)]
8682pub struct EnvironmentRaycastHitStatusMETA(i32);
8683impl EnvironmentRaycastHitStatusMETA {
8684    #[doc = "The intersection with the environment is found."]
8685    pub const HIT: EnvironmentRaycastHitStatusMETA = Self(1i32);
8686    #[doc = "The intersection with the environment is not found."]
8687    pub const NO_HIT: EnvironmentRaycastHitStatusMETA = Self(2i32);
8688    #[doc = "The ray intersects with the environment, but the actual hit point is invisible."]
8689    pub const HIT_POINT_OCCLUDED: EnvironmentRaycastHitStatusMETA = Self(3i32);
8690    #[doc = "The hit point can't be determined because it lies outside of the field of view."]
8691    pub const HIT_POINT_OUTSIDE_OF_FOV: EnvironmentRaycastHitStatusMETA = Self(4i32);
8692    #[doc = "The ray is completely occluded by the environment."]
8693    pub const RAY_OCCLUDED: EnvironmentRaycastHitStatusMETA = Self(5i32);
8694    #[doc = "The intersection with the environment is found, but the hit orientation cannot be determined."]
8695    pub const HIT_INVALID_ORIENTATION: EnvironmentRaycastHitStatusMETA = Self(6i32);
8696    pub fn from_raw(x: i32) -> Self {
8697        Self(x)
8698    }
8699    pub fn into_raw(self) -> i32 {
8700        self.0
8701    }
8702}
8703impl fmt::Debug for EnvironmentRaycastHitStatusMETA {
8704    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8705        let name = match *self {
8706            Self::HIT => Some("HIT"),
8707            Self::NO_HIT => Some("NO_HIT"),
8708            Self::HIT_POINT_OCCLUDED => Some("HIT_POINT_OCCLUDED"),
8709            Self::HIT_POINT_OUTSIDE_OF_FOV => Some("HIT_POINT_OUTSIDE_OF_FOV"),
8710            Self::RAY_OCCLUDED => Some("RAY_OCCLUDED"),
8711            Self::HIT_INVALID_ORIENTATION => Some("HIT_INVALID_ORIENTATION"),
8712            _ => None,
8713        };
8714        fmt_enum(fmt, self.0, name)
8715    }
8716}
8717#[doc = "See [XrHandGestureTypeQCOM](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandGestureTypeQCOM)"]
8718#[repr(transparent)]
8719#[derive(Copy, Clone, Eq, PartialEq, Default)]
8720pub struct HandGestureTypeQCOM(i32);
8721impl HandGestureTypeQCOM {
8722    #[doc = "Indicates that no gesture can be detected."]
8723    pub const UNKNOWN: HandGestureTypeQCOM = Self(-1i32);
8724    #[doc = "The open hand gesture is a neutral position. It is performed by extending the hand with the fingers opened and the palm away from the user."]
8725    pub const OPEN_HAND: HandGestureTypeQCOM = Self(0i32);
8726    #[doc = "The grab gesture is performed by placing the hand in front of the user and closing the hand into a fist."]
8727    pub const GRAB: HandGestureTypeQCOM = Self(2i32);
8728    #[doc = "The pinch gesture is performed by touching the tip of the thumb to the tip of the index finger while extending the remaining fingers."]
8729    pub const PINCH: HandGestureTypeQCOM = Self(7i32);
8730    pub fn from_raw(x: i32) -> Self {
8731        Self(x)
8732    }
8733    pub fn into_raw(self) -> i32 {
8734        self.0
8735    }
8736}
8737impl fmt::Debug for HandGestureTypeQCOM {
8738    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8739        let name = match *self {
8740            Self::UNKNOWN => Some("UNKNOWN"),
8741            Self::OPEN_HAND => Some("OPEN_HAND"),
8742            Self::GRAB => Some("GRAB"),
8743            Self::PINCH => Some("PINCH"),
8744            _ => None,
8745        };
8746        fmt_enum(fmt, self.0, name)
8747    }
8748}
8749#[doc = "See [XrHandEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandEXT)"]
8750#[repr(transparent)]
8751#[derive(Copy, Clone, Eq, PartialEq)]
8752pub struct HandEXT(i32);
8753impl HandEXT {
8754    pub const LEFT: HandEXT = Self(1i32);
8755    pub const RIGHT: HandEXT = Self(2i32);
8756    pub fn from_raw(x: i32) -> Self {
8757        Self(x)
8758    }
8759    pub fn into_raw(self) -> i32 {
8760        self.0
8761    }
8762}
8763impl fmt::Debug for HandEXT {
8764    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8765        let name = match *self {
8766            Self::LEFT => Some("LEFT"),
8767            Self::RIGHT => Some("RIGHT"),
8768            _ => None,
8769        };
8770        fmt_enum(fmt, self.0, name)
8771    }
8772}
8773#[doc = "See [XrHandJointEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointEXT)"]
8774#[repr(transparent)]
8775#[derive(Copy, Clone, Eq, PartialEq, Default)]
8776pub struct HandJointEXT(i32);
8777impl HandJointEXT {
8778    pub const PALM: HandJointEXT = Self(0i32);
8779    pub const WRIST: HandJointEXT = Self(1i32);
8780    pub const THUMB_METACARPAL: HandJointEXT = Self(2i32);
8781    pub const THUMB_PROXIMAL: HandJointEXT = Self(3i32);
8782    pub const THUMB_DISTAL: HandJointEXT = Self(4i32);
8783    pub const THUMB_TIP: HandJointEXT = Self(5i32);
8784    pub const INDEX_METACARPAL: HandJointEXT = Self(6i32);
8785    pub const INDEX_PROXIMAL: HandJointEXT = Self(7i32);
8786    pub const INDEX_INTERMEDIATE: HandJointEXT = Self(8i32);
8787    pub const INDEX_DISTAL: HandJointEXT = Self(9i32);
8788    pub const INDEX_TIP: HandJointEXT = Self(10i32);
8789    pub const MIDDLE_METACARPAL: HandJointEXT = Self(11i32);
8790    pub const MIDDLE_PROXIMAL: HandJointEXT = Self(12i32);
8791    pub const MIDDLE_INTERMEDIATE: HandJointEXT = Self(13i32);
8792    pub const MIDDLE_DISTAL: HandJointEXT = Self(14i32);
8793    pub const MIDDLE_TIP: HandJointEXT = Self(15i32);
8794    pub const RING_METACARPAL: HandJointEXT = Self(16i32);
8795    pub const RING_PROXIMAL: HandJointEXT = Self(17i32);
8796    pub const RING_INTERMEDIATE: HandJointEXT = Self(18i32);
8797    pub const RING_DISTAL: HandJointEXT = Self(19i32);
8798    pub const RING_TIP: HandJointEXT = Self(20i32);
8799    pub const LITTLE_METACARPAL: HandJointEXT = Self(21i32);
8800    pub const LITTLE_PROXIMAL: HandJointEXT = Self(22i32);
8801    pub const LITTLE_INTERMEDIATE: HandJointEXT = Self(23i32);
8802    pub const LITTLE_DISTAL: HandJointEXT = Self(24i32);
8803    pub const LITTLE_TIP: HandJointEXT = Self(25i32);
8804    pub fn from_raw(x: i32) -> Self {
8805        Self(x)
8806    }
8807    pub fn into_raw(self) -> i32 {
8808        self.0
8809    }
8810}
8811impl fmt::Debug for HandJointEXT {
8812    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8813        let name = match *self {
8814            Self::PALM => Some("PALM"),
8815            Self::WRIST => Some("WRIST"),
8816            Self::THUMB_METACARPAL => Some("THUMB_METACARPAL"),
8817            Self::THUMB_PROXIMAL => Some("THUMB_PROXIMAL"),
8818            Self::THUMB_DISTAL => Some("THUMB_DISTAL"),
8819            Self::THUMB_TIP => Some("THUMB_TIP"),
8820            Self::INDEX_METACARPAL => Some("INDEX_METACARPAL"),
8821            Self::INDEX_PROXIMAL => Some("INDEX_PROXIMAL"),
8822            Self::INDEX_INTERMEDIATE => Some("INDEX_INTERMEDIATE"),
8823            Self::INDEX_DISTAL => Some("INDEX_DISTAL"),
8824            Self::INDEX_TIP => Some("INDEX_TIP"),
8825            Self::MIDDLE_METACARPAL => Some("MIDDLE_METACARPAL"),
8826            Self::MIDDLE_PROXIMAL => Some("MIDDLE_PROXIMAL"),
8827            Self::MIDDLE_INTERMEDIATE => Some("MIDDLE_INTERMEDIATE"),
8828            Self::MIDDLE_DISTAL => Some("MIDDLE_DISTAL"),
8829            Self::MIDDLE_TIP => Some("MIDDLE_TIP"),
8830            Self::RING_METACARPAL => Some("RING_METACARPAL"),
8831            Self::RING_PROXIMAL => Some("RING_PROXIMAL"),
8832            Self::RING_INTERMEDIATE => Some("RING_INTERMEDIATE"),
8833            Self::RING_DISTAL => Some("RING_DISTAL"),
8834            Self::RING_TIP => Some("RING_TIP"),
8835            Self::LITTLE_METACARPAL => Some("LITTLE_METACARPAL"),
8836            Self::LITTLE_PROXIMAL => Some("LITTLE_PROXIMAL"),
8837            Self::LITTLE_INTERMEDIATE => Some("LITTLE_INTERMEDIATE"),
8838            Self::LITTLE_DISTAL => Some("LITTLE_DISTAL"),
8839            Self::LITTLE_TIP => Some("LITTLE_TIP"),
8840            _ => None,
8841        };
8842        fmt_enum(fmt, self.0, name)
8843    }
8844}
8845#[doc = "See [XrHandJointSetEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointSetEXT)"]
8846#[repr(transparent)]
8847#[derive(Copy, Clone, Eq, PartialEq, Default)]
8848pub struct HandJointSetEXT(i32);
8849impl HandJointSetEXT {
8850    pub const DEFAULT: HandJointSetEXT = Self(0i32);
8851    pub const HAND_WITH_FOREARM_ULTRA: HandJointSetEXT = Self(1000149000i32);
8852    pub fn from_raw(x: i32) -> Self {
8853        Self(x)
8854    }
8855    pub fn into_raw(self) -> i32 {
8856        self.0
8857    }
8858}
8859impl fmt::Debug for HandJointSetEXT {
8860    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8861        let name = match *self {
8862            Self::DEFAULT => Some("DEFAULT"),
8863            Self::HAND_WITH_FOREARM_ULTRA => Some("HAND_WITH_FOREARM_ULTRA"),
8864            _ => None,
8865        };
8866        fmt_enum(fmt, self.0, name)
8867    }
8868}
8869#[doc = "See [XrHandJointsMotionRangeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointsMotionRangeEXT)"]
8870#[repr(transparent)]
8871#[derive(Copy, Clone, Eq, PartialEq)]
8872pub struct HandJointsMotionRangeEXT(i32);
8873impl HandJointsMotionRangeEXT {
8874    pub const UNOBSTRUCTED: HandJointsMotionRangeEXT = Self(1i32);
8875    pub const CONFORMING_TO_CONTROLLER: HandJointsMotionRangeEXT = Self(2i32);
8876    pub fn from_raw(x: i32) -> Self {
8877        Self(x)
8878    }
8879    pub fn into_raw(self) -> i32 {
8880        self.0
8881    }
8882}
8883impl fmt::Debug for HandJointsMotionRangeEXT {
8884    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8885        let name = match *self {
8886            Self::UNOBSTRUCTED => Some("UNOBSTRUCTED"),
8887            Self::CONFORMING_TO_CONTROLLER => Some("CONFORMING_TO_CONTROLLER"),
8888            _ => None,
8889        };
8890        fmt_enum(fmt, self.0, name)
8891    }
8892}
8893#[doc = "See [XrHandTrackingDataSourceEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackingDataSourceEXT)"]
8894#[repr(transparent)]
8895#[derive(Copy, Clone, Eq, PartialEq)]
8896pub struct HandTrackingDataSourceEXT(i32);
8897impl HandTrackingDataSourceEXT {
8898    #[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."]
8899    pub const UNOBSTRUCTED: HandTrackingDataSourceEXT = Self(1i32);
8900    #[doc = "This data source value indicates hand joints are inferred based on motion controller state."]
8901    pub const CONTROLLER: HandTrackingDataSourceEXT = Self(2i32);
8902    pub fn from_raw(x: i32) -> Self {
8903        Self(x)
8904    }
8905    pub fn into_raw(self) -> i32 {
8906        self.0
8907    }
8908}
8909impl fmt::Debug for HandTrackingDataSourceEXT {
8910    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8911        let name = match *self {
8912            Self::UNOBSTRUCTED => Some("UNOBSTRUCTED"),
8913            Self::CONTROLLER => Some("CONTROLLER"),
8914            _ => None,
8915        };
8916        fmt_enum(fmt, self.0, name)
8917    }
8918}
8919#[doc = "See [XrHandPoseTypeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandPoseTypeMSFT)"]
8920#[repr(transparent)]
8921#[derive(Copy, Clone, Eq, PartialEq, Default)]
8922pub struct HandPoseTypeMSFT(i32);
8923impl HandPoseTypeMSFT {
8924    pub const TRACKED: HandPoseTypeMSFT = Self(0i32);
8925    pub const REFERENCE_OPEN_PALM: HandPoseTypeMSFT = Self(1i32);
8926    pub fn from_raw(x: i32) -> Self {
8927        Self(x)
8928    }
8929    pub fn into_raw(self) -> i32 {
8930        self.0
8931    }
8932}
8933impl fmt::Debug for HandPoseTypeMSFT {
8934    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8935        let name = match *self {
8936            Self::TRACKED => Some("TRACKED"),
8937            Self::REFERENCE_OPEN_PALM => Some("REFERENCE_OPEN_PALM"),
8938            _ => None,
8939        };
8940        fmt_enum(fmt, self.0, name)
8941    }
8942}
8943#[doc = "See [XrSceneObjectTypeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneObjectTypeMSFT)"]
8944#[repr(transparent)]
8945#[derive(Copy, Clone, Eq, PartialEq)]
8946pub struct SceneObjectTypeMSFT(i32);
8947impl SceneObjectTypeMSFT {
8948    pub const UNCATEGORIZED: SceneObjectTypeMSFT = Self(-1i32);
8949    pub const BACKGROUND: SceneObjectTypeMSFT = Self(1i32);
8950    pub const WALL: SceneObjectTypeMSFT = Self(2i32);
8951    pub const FLOOR: SceneObjectTypeMSFT = Self(3i32);
8952    pub const CEILING: SceneObjectTypeMSFT = Self(4i32);
8953    pub const PLATFORM: SceneObjectTypeMSFT = Self(5i32);
8954    pub const INFERRED: SceneObjectTypeMSFT = Self(6i32);
8955    pub fn from_raw(x: i32) -> Self {
8956        Self(x)
8957    }
8958    pub fn into_raw(self) -> i32 {
8959        self.0
8960    }
8961}
8962impl fmt::Debug for SceneObjectTypeMSFT {
8963    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8964        let name = match *self {
8965            Self::UNCATEGORIZED => Some("UNCATEGORIZED"),
8966            Self::BACKGROUND => Some("BACKGROUND"),
8967            Self::WALL => Some("WALL"),
8968            Self::FLOOR => Some("FLOOR"),
8969            Self::CEILING => Some("CEILING"),
8970            Self::PLATFORM => Some("PLATFORM"),
8971            Self::INFERRED => Some("INFERRED"),
8972            _ => None,
8973        };
8974        fmt_enum(fmt, self.0, name)
8975    }
8976}
8977#[doc = "See [XrScenePlaneAlignmentTypeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrScenePlaneAlignmentTypeMSFT)"]
8978#[repr(transparent)]
8979#[derive(Copy, Clone, Eq, PartialEq, Default)]
8980pub struct ScenePlaneAlignmentTypeMSFT(i32);
8981impl ScenePlaneAlignmentTypeMSFT {
8982    pub const NON_ORTHOGONAL: ScenePlaneAlignmentTypeMSFT = Self(0i32);
8983    pub const HORIZONTAL: ScenePlaneAlignmentTypeMSFT = Self(1i32);
8984    pub const VERTICAL: ScenePlaneAlignmentTypeMSFT = Self(2i32);
8985    pub fn from_raw(x: i32) -> Self {
8986        Self(x)
8987    }
8988    pub fn into_raw(self) -> i32 {
8989        self.0
8990    }
8991}
8992impl fmt::Debug for ScenePlaneAlignmentTypeMSFT {
8993    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8994        let name = match *self {
8995            Self::NON_ORTHOGONAL => Some("NON_ORTHOGONAL"),
8996            Self::HORIZONTAL => Some("HORIZONTAL"),
8997            Self::VERTICAL => Some("VERTICAL"),
8998            _ => None,
8999        };
9000        fmt_enum(fmt, self.0, name)
9001    }
9002}
9003#[doc = "See [XrSceneComputeStateMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneComputeStateMSFT)"]
9004#[repr(transparent)]
9005#[derive(Copy, Clone, Eq, PartialEq, Default)]
9006pub struct SceneComputeStateMSFT(i32);
9007impl SceneComputeStateMSFT {
9008    pub const NONE: SceneComputeStateMSFT = Self(0i32);
9009    pub const UPDATING: SceneComputeStateMSFT = Self(1i32);
9010    pub const COMPLETED: SceneComputeStateMSFT = Self(2i32);
9011    pub const COMPLETED_WITH_ERROR: SceneComputeStateMSFT = Self(3i32);
9012    pub fn from_raw(x: i32) -> Self {
9013        Self(x)
9014    }
9015    pub fn into_raw(self) -> i32 {
9016        self.0
9017    }
9018}
9019impl fmt::Debug for SceneComputeStateMSFT {
9020    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9021        let name = match *self {
9022            Self::NONE => Some("NONE"),
9023            Self::UPDATING => Some("UPDATING"),
9024            Self::COMPLETED => Some("COMPLETED"),
9025            Self::COMPLETED_WITH_ERROR => Some("COMPLETED_WITH_ERROR"),
9026            _ => None,
9027        };
9028        fmt_enum(fmt, self.0, name)
9029    }
9030}
9031#[doc = "See [XrSceneComputeFeatureMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneComputeFeatureMSFT)"]
9032#[repr(transparent)]
9033#[derive(Copy, Clone, Eq, PartialEq)]
9034pub struct SceneComputeFeatureMSFT(i32);
9035impl SceneComputeFeatureMSFT {
9036    pub const PLANE: SceneComputeFeatureMSFT = Self(1i32);
9037    pub const PLANE_MESH: SceneComputeFeatureMSFT = Self(2i32);
9038    pub const VISUAL_MESH: SceneComputeFeatureMSFT = Self(3i32);
9039    pub const COLLIDER_MESH: SceneComputeFeatureMSFT = Self(4i32);
9040    pub const SERIALIZE_SCENE: SceneComputeFeatureMSFT = Self(1000098000i32);
9041    pub const MARKER: SceneComputeFeatureMSFT = Self(1000147000i32);
9042    pub fn from_raw(x: i32) -> Self {
9043        Self(x)
9044    }
9045    pub fn into_raw(self) -> i32 {
9046        self.0
9047    }
9048}
9049impl fmt::Debug for SceneComputeFeatureMSFT {
9050    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9051        let name = match *self {
9052            Self::PLANE => Some("PLANE"),
9053            Self::PLANE_MESH => Some("PLANE_MESH"),
9054            Self::VISUAL_MESH => Some("VISUAL_MESH"),
9055            Self::COLLIDER_MESH => Some("COLLIDER_MESH"),
9056            Self::SERIALIZE_SCENE => Some("SERIALIZE_SCENE"),
9057            Self::MARKER => Some("MARKER"),
9058            _ => None,
9059        };
9060        fmt_enum(fmt, self.0, name)
9061    }
9062}
9063#[doc = "See [XrSceneComputeConsistencyMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneComputeConsistencyMSFT)"]
9064#[repr(transparent)]
9065#[derive(Copy, Clone, Eq, PartialEq)]
9066pub struct SceneComputeConsistencyMSFT(i32);
9067impl SceneComputeConsistencyMSFT {
9068    pub const SNAPSHOT_COMPLETE: SceneComputeConsistencyMSFT = Self(1i32);
9069    pub const SNAPSHOT_INCOMPLETE_FAST: SceneComputeConsistencyMSFT = Self(2i32);
9070    pub const OCCLUSION_OPTIMIZED: SceneComputeConsistencyMSFT = Self(3i32);
9071    pub fn from_raw(x: i32) -> Self {
9072        Self(x)
9073    }
9074    pub fn into_raw(self) -> i32 {
9075        self.0
9076    }
9077}
9078impl fmt::Debug for SceneComputeConsistencyMSFT {
9079    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9080        let name = match *self {
9081            Self::SNAPSHOT_COMPLETE => Some("SNAPSHOT_COMPLETE"),
9082            Self::SNAPSHOT_INCOMPLETE_FAST => Some("SNAPSHOT_INCOMPLETE_FAST"),
9083            Self::OCCLUSION_OPTIMIZED => Some("OCCLUSION_OPTIMIZED"),
9084            _ => None,
9085        };
9086        fmt_enum(fmt, self.0, name)
9087    }
9088}
9089#[doc = "See [XrSceneComponentTypeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneComponentTypeMSFT)"]
9090#[repr(transparent)]
9091#[derive(Copy, Clone, Eq, PartialEq)]
9092pub struct SceneComponentTypeMSFT(i32);
9093impl SceneComponentTypeMSFT {
9094    pub const INVALID: SceneComponentTypeMSFT = Self(-1i32);
9095    pub const OBJECT: SceneComponentTypeMSFT = Self(1i32);
9096    pub const PLANE: SceneComponentTypeMSFT = Self(2i32);
9097    pub const VISUAL_MESH: SceneComponentTypeMSFT = Self(3i32);
9098    pub const COLLIDER_MESH: SceneComponentTypeMSFT = Self(4i32);
9099    pub const SERIALIZED_SCENE_FRAGMENT: SceneComponentTypeMSFT = Self(1000098000i32);
9100    pub const MARKER: SceneComponentTypeMSFT = Self(1000147000i32);
9101    pub fn from_raw(x: i32) -> Self {
9102        Self(x)
9103    }
9104    pub fn into_raw(self) -> i32 {
9105        self.0
9106    }
9107}
9108impl fmt::Debug for SceneComponentTypeMSFT {
9109    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9110        let name = match *self {
9111            Self::INVALID => Some("INVALID"),
9112            Self::OBJECT => Some("OBJECT"),
9113            Self::PLANE => Some("PLANE"),
9114            Self::VISUAL_MESH => Some("VISUAL_MESH"),
9115            Self::COLLIDER_MESH => Some("COLLIDER_MESH"),
9116            Self::SERIALIZED_SCENE_FRAGMENT => Some("SERIALIZED_SCENE_FRAGMENT"),
9117            Self::MARKER => Some("MARKER"),
9118            _ => None,
9119        };
9120        fmt_enum(fmt, self.0, name)
9121    }
9122}
9123#[doc = "See [XrMeshComputeLodMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMeshComputeLodMSFT)"]
9124#[repr(transparent)]
9125#[derive(Copy, Clone, Eq, PartialEq)]
9126pub struct MeshComputeLodMSFT(i32);
9127impl MeshComputeLodMSFT {
9128    pub const COARSE: MeshComputeLodMSFT = Self(1i32);
9129    pub const MEDIUM: MeshComputeLodMSFT = Self(2i32);
9130    pub const FINE: MeshComputeLodMSFT = Self(3i32);
9131    pub const UNLIMITED: MeshComputeLodMSFT = Self(4i32);
9132    pub fn from_raw(x: i32) -> Self {
9133        Self(x)
9134    }
9135    pub fn into_raw(self) -> i32 {
9136        self.0
9137    }
9138}
9139impl fmt::Debug for MeshComputeLodMSFT {
9140    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9141        let name = match *self {
9142            Self::COARSE => Some("COARSE"),
9143            Self::MEDIUM => Some("MEDIUM"),
9144            Self::FINE => Some("FINE"),
9145            Self::UNLIMITED => Some("UNLIMITED"),
9146            _ => None,
9147        };
9148        fmt_enum(fmt, self.0, name)
9149    }
9150}
9151#[doc = "See [XrSceneMarkerTypeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneMarkerTypeMSFT)"]
9152#[repr(transparent)]
9153#[derive(Copy, Clone, Eq, PartialEq)]
9154pub struct SceneMarkerTypeMSFT(i32);
9155impl SceneMarkerTypeMSFT {
9156    pub const QR_CODE: SceneMarkerTypeMSFT = Self(1i32);
9157    pub fn from_raw(x: i32) -> Self {
9158        Self(x)
9159    }
9160    pub fn into_raw(self) -> i32 {
9161        self.0
9162    }
9163}
9164impl fmt::Debug for SceneMarkerTypeMSFT {
9165    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9166        let name = match *self {
9167            Self::QR_CODE => Some("QR_CODE"),
9168            _ => None,
9169        };
9170        fmt_enum(fmt, self.0, name)
9171    }
9172}
9173#[doc = "See [XrSceneMarkerQRCodeSymbolTypeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneMarkerQRCodeSymbolTypeMSFT)"]
9174#[repr(transparent)]
9175#[derive(Copy, Clone, Eq, PartialEq)]
9176pub struct SceneMarkerQRCodeSymbolTypeMSFT(i32);
9177impl SceneMarkerQRCodeSymbolTypeMSFT {
9178    pub const QR_CODE: SceneMarkerQRCodeSymbolTypeMSFT = Self(1i32);
9179    pub const MICRO_QR_CODE: SceneMarkerQRCodeSymbolTypeMSFT = Self(2i32);
9180    pub fn from_raw(x: i32) -> Self {
9181        Self(x)
9182    }
9183    pub fn into_raw(self) -> i32 {
9184        self.0
9185    }
9186}
9187impl fmt::Debug for SceneMarkerQRCodeSymbolTypeMSFT {
9188    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9189        let name = match *self {
9190            Self::QR_CODE => Some("QR_CODE"),
9191            Self::MICRO_QR_CODE => Some("MICRO_QR_CODE"),
9192            _ => None,
9193        };
9194        fmt_enum(fmt, self.0, name)
9195    }
9196}
9197#[doc = "See [XrColorSpaceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrColorSpaceFB)"]
9198#[repr(transparent)]
9199#[derive(Copy, Clone, Eq, PartialEq, Default)]
9200pub struct ColorSpaceFB(i32);
9201impl ColorSpaceFB {
9202    pub const UNMANAGED: ColorSpaceFB = Self(0i32);
9203    pub const REC2020: ColorSpaceFB = Self(1i32);
9204    pub const REC709: ColorSpaceFB = Self(2i32);
9205    pub const RIFT_CV1: ColorSpaceFB = Self(3i32);
9206    pub const RIFT_S: ColorSpaceFB = Self(4i32);
9207    pub const QUEST: ColorSpaceFB = Self(5i32);
9208    pub const P3: ColorSpaceFB = Self(6i32);
9209    pub const ADOBE_RGB: ColorSpaceFB = Self(7i32);
9210    pub fn from_raw(x: i32) -> Self {
9211        Self(x)
9212    }
9213    pub fn into_raw(self) -> i32 {
9214        self.0
9215    }
9216}
9217impl fmt::Debug for ColorSpaceFB {
9218    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9219        let name = match *self {
9220            Self::UNMANAGED => Some("UNMANAGED"),
9221            Self::REC2020 => Some("REC2020"),
9222            Self::REC709 => Some("REC709"),
9223            Self::RIFT_CV1 => Some("RIFT_CV1"),
9224            Self::RIFT_S => Some("RIFT_S"),
9225            Self::QUEST => Some("QUEST"),
9226            Self::P3 => Some("P3"),
9227            Self::ADOBE_RGB => Some("ADOBE_RGB"),
9228            _ => None,
9229        };
9230        fmt_enum(fmt, self.0, name)
9231    }
9232}
9233#[doc = "See [XrFoveationLevelFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationLevelFB)"]
9234#[repr(transparent)]
9235#[derive(Copy, Clone, Eq, PartialEq, Default)]
9236pub struct FoveationLevelFB(i32);
9237impl FoveationLevelFB {
9238    #[doc = "No foveation"]
9239    pub const NONE: FoveationLevelFB = Self(0i32);
9240    #[doc = "Less foveation (higher periphery visual fidelity, lower performance)"]
9241    pub const LOW: FoveationLevelFB = Self(1i32);
9242    #[doc = "Medium foveation (medium periphery visual fidelity, medium performance)"]
9243    pub const MEDIUM: FoveationLevelFB = Self(2i32);
9244    #[doc = "High foveation (lower periphery visual fidelity, higher performance)"]
9245    pub const HIGH: FoveationLevelFB = Self(3i32);
9246    pub fn from_raw(x: i32) -> Self {
9247        Self(x)
9248    }
9249    pub fn into_raw(self) -> i32 {
9250        self.0
9251    }
9252}
9253impl fmt::Debug for FoveationLevelFB {
9254    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9255        let name = match *self {
9256            Self::NONE => Some("NONE"),
9257            Self::LOW => Some("LOW"),
9258            Self::MEDIUM => Some("MEDIUM"),
9259            Self::HIGH => Some("HIGH"),
9260            _ => None,
9261        };
9262        fmt_enum(fmt, self.0, name)
9263    }
9264}
9265#[doc = "See [XrFoveationDynamicFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationDynamicFB)"]
9266#[repr(transparent)]
9267#[derive(Copy, Clone, Eq, PartialEq, Default)]
9268pub struct FoveationDynamicFB(i32);
9269impl FoveationDynamicFB {
9270    #[doc = "Static foveation at the maximum desired level"]
9271    pub const DISABLED: FoveationDynamicFB = Self(0i32);
9272    #[doc = "Dynamic changing foveation based on performance headroom available up to the maximum desired level"]
9273    pub const LEVEL_ENABLED: FoveationDynamicFB = Self(1i32);
9274    pub fn from_raw(x: i32) -> Self {
9275        Self(x)
9276    }
9277    pub fn into_raw(self) -> i32 {
9278        self.0
9279    }
9280}
9281impl fmt::Debug for FoveationDynamicFB {
9282    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9283        let name = match *self {
9284            Self::DISABLED => Some("DISABLED"),
9285            Self::LEVEL_ENABLED => Some("LEVEL_ENABLED"),
9286            _ => None,
9287        };
9288        fmt_enum(fmt, self.0, name)
9289    }
9290}
9291#[doc = "See [XrReprojectionModeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrReprojectionModeMSFT)"]
9292#[repr(transparent)]
9293#[derive(Copy, Clone, Eq, PartialEq)]
9294pub struct ReprojectionModeMSFT(i32);
9295impl ReprojectionModeMSFT {
9296    pub const DEPTH: ReprojectionModeMSFT = Self(1i32);
9297    pub const PLANAR_FROM_DEPTH: ReprojectionModeMSFT = Self(2i32);
9298    pub const PLANAR_MANUAL: ReprojectionModeMSFT = Self(3i32);
9299    pub const ORIENTATION_ONLY: ReprojectionModeMSFT = Self(4i32);
9300    pub fn from_raw(x: i32) -> Self {
9301        Self(x)
9302    }
9303    pub fn into_raw(self) -> i32 {
9304        self.0
9305    }
9306}
9307impl fmt::Debug for ReprojectionModeMSFT {
9308    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9309        let name = match *self {
9310            Self::DEPTH => Some("DEPTH"),
9311            Self::PLANAR_FROM_DEPTH => Some("PLANAR_FROM_DEPTH"),
9312            Self::PLANAR_MANUAL => Some("PLANAR_MANUAL"),
9313            Self::ORIENTATION_ONLY => Some("ORIENTATION_ONLY"),
9314            _ => None,
9315        };
9316        fmt_enum(fmt, self.0, name)
9317    }
9318}
9319#[doc = "See [XrHandForearmJointULTRALEAP](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandForearmJointULTRALEAP)"]
9320#[repr(transparent)]
9321#[derive(Copy, Clone, Eq, PartialEq, Default)]
9322pub struct HandForearmJointULTRALEAP(i32);
9323impl HandForearmJointULTRALEAP {
9324    pub const PALM: HandForearmJointULTRALEAP = Self(0i32);
9325    pub const WRIST: HandForearmJointULTRALEAP = Self(1i32);
9326    pub const THUMB_METACARPAL: HandForearmJointULTRALEAP = Self(2i32);
9327    pub const THUMB_PROXIMAL: HandForearmJointULTRALEAP = Self(3i32);
9328    pub const THUMB_DISTAL: HandForearmJointULTRALEAP = Self(4i32);
9329    pub const THUMB_TIP: HandForearmJointULTRALEAP = Self(5i32);
9330    pub const INDEX_METACARPAL: HandForearmJointULTRALEAP = Self(6i32);
9331    pub const INDEX_PROXIMAL: HandForearmJointULTRALEAP = Self(7i32);
9332    pub const INDEX_INTERMEDIATE: HandForearmJointULTRALEAP = Self(8i32);
9333    pub const INDEX_DISTAL: HandForearmJointULTRALEAP = Self(9i32);
9334    pub const INDEX_TIP: HandForearmJointULTRALEAP = Self(10i32);
9335    pub const MIDDLE_METACARPAL: HandForearmJointULTRALEAP = Self(11i32);
9336    pub const MIDDLE_PROXIMAL: HandForearmJointULTRALEAP = Self(12i32);
9337    pub const MIDDLE_INTERMEDIATE: HandForearmJointULTRALEAP = Self(13i32);
9338    pub const MIDDLE_DISTAL: HandForearmJointULTRALEAP = Self(14i32);
9339    pub const MIDDLE_TIP: HandForearmJointULTRALEAP = Self(15i32);
9340    pub const RING_METACARPAL: HandForearmJointULTRALEAP = Self(16i32);
9341    pub const RING_PROXIMAL: HandForearmJointULTRALEAP = Self(17i32);
9342    pub const RING_INTERMEDIATE: HandForearmJointULTRALEAP = Self(18i32);
9343    pub const RING_DISTAL: HandForearmJointULTRALEAP = Self(19i32);
9344    pub const RING_TIP: HandForearmJointULTRALEAP = Self(20i32);
9345    pub const LITTLE_METACARPAL: HandForearmJointULTRALEAP = Self(21i32);
9346    pub const LITTLE_PROXIMAL: HandForearmJointULTRALEAP = Self(22i32);
9347    pub const LITTLE_INTERMEDIATE: HandForearmJointULTRALEAP = Self(23i32);
9348    pub const LITTLE_DISTAL: HandForearmJointULTRALEAP = Self(24i32);
9349    pub const LITTLE_TIP: HandForearmJointULTRALEAP = Self(25i32);
9350    pub const ELBOW: HandForearmJointULTRALEAP = Self(26i32);
9351    pub fn from_raw(x: i32) -> Self {
9352        Self(x)
9353    }
9354    pub fn into_raw(self) -> i32 {
9355        self.0
9356    }
9357}
9358impl fmt::Debug for HandForearmJointULTRALEAP {
9359    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9360        let name = match *self {
9361            Self::PALM => Some("PALM"),
9362            Self::WRIST => Some("WRIST"),
9363            Self::THUMB_METACARPAL => Some("THUMB_METACARPAL"),
9364            Self::THUMB_PROXIMAL => Some("THUMB_PROXIMAL"),
9365            Self::THUMB_DISTAL => Some("THUMB_DISTAL"),
9366            Self::THUMB_TIP => Some("THUMB_TIP"),
9367            Self::INDEX_METACARPAL => Some("INDEX_METACARPAL"),
9368            Self::INDEX_PROXIMAL => Some("INDEX_PROXIMAL"),
9369            Self::INDEX_INTERMEDIATE => Some("INDEX_INTERMEDIATE"),
9370            Self::INDEX_DISTAL => Some("INDEX_DISTAL"),
9371            Self::INDEX_TIP => Some("INDEX_TIP"),
9372            Self::MIDDLE_METACARPAL => Some("MIDDLE_METACARPAL"),
9373            Self::MIDDLE_PROXIMAL => Some("MIDDLE_PROXIMAL"),
9374            Self::MIDDLE_INTERMEDIATE => Some("MIDDLE_INTERMEDIATE"),
9375            Self::MIDDLE_DISTAL => Some("MIDDLE_DISTAL"),
9376            Self::MIDDLE_TIP => Some("MIDDLE_TIP"),
9377            Self::RING_METACARPAL => Some("RING_METACARPAL"),
9378            Self::RING_PROXIMAL => Some("RING_PROXIMAL"),
9379            Self::RING_INTERMEDIATE => Some("RING_INTERMEDIATE"),
9380            Self::RING_DISTAL => Some("RING_DISTAL"),
9381            Self::RING_TIP => Some("RING_TIP"),
9382            Self::LITTLE_METACARPAL => Some("LITTLE_METACARPAL"),
9383            Self::LITTLE_PROXIMAL => Some("LITTLE_PROXIMAL"),
9384            Self::LITTLE_INTERMEDIATE => Some("LITTLE_INTERMEDIATE"),
9385            Self::LITTLE_DISTAL => Some("LITTLE_DISTAL"),
9386            Self::LITTLE_TIP => Some("LITTLE_TIP"),
9387            Self::ELBOW => Some("ELBOW"),
9388            _ => None,
9389        };
9390        fmt_enum(fmt, self.0, name)
9391    }
9392}
9393#[doc = "See [XrCompareOpFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompareOpFB)"]
9394#[repr(transparent)]
9395#[derive(Copy, Clone, Eq, PartialEq, Default)]
9396pub struct CompareOpFB(i32);
9397impl CompareOpFB {
9398    #[doc = "Comparison is never true."]
9399    pub const NEVER: CompareOpFB = Self(0i32);
9400    #[doc = "Comparison is true if source less than is destination."]
9401    pub const LESS: CompareOpFB = Self(1i32);
9402    #[doc = "Comparison is true if source is equal to destination."]
9403    pub const EQUAL: CompareOpFB = Self(2i32);
9404    #[doc = "Comparison is true if source is less than or equal to destination."]
9405    pub const LESS_OR_EQUAL: CompareOpFB = Self(3i32);
9406    #[doc = "Comparison is true if source is greater than destination."]
9407    pub const GREATER: CompareOpFB = Self(4i32);
9408    #[doc = "Comparison is true if source is not equal to destination."]
9409    pub const NOT_EQUAL: CompareOpFB = Self(5i32);
9410    #[doc = "Comparison is true if source is greater than or equal to destination."]
9411    pub const GREATER_OR_EQUAL: CompareOpFB = Self(6i32);
9412    #[doc = "Comparison is always true."]
9413    pub const ALWAYS: CompareOpFB = Self(7i32);
9414    pub fn from_raw(x: i32) -> Self {
9415        Self(x)
9416    }
9417    pub fn into_raw(self) -> i32 {
9418        self.0
9419    }
9420}
9421impl fmt::Debug for CompareOpFB {
9422    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9423        let name = match *self {
9424            Self::NEVER => Some("NEVER"),
9425            Self::LESS => Some("LESS"),
9426            Self::EQUAL => Some("EQUAL"),
9427            Self::LESS_OR_EQUAL => Some("LESS_OR_EQUAL"),
9428            Self::GREATER => Some("GREATER"),
9429            Self::NOT_EQUAL => Some("NOT_EQUAL"),
9430            Self::GREATER_OR_EQUAL => Some("GREATER_OR_EQUAL"),
9431            Self::ALWAYS => Some("ALWAYS"),
9432            _ => None,
9433        };
9434        fmt_enum(fmt, self.0, name)
9435    }
9436}
9437#[doc = "See [XrTrackableImageFormatANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableImageFormatANDROID)"]
9438#[repr(transparent)]
9439#[derive(Copy, Clone, Eq, PartialEq)]
9440pub struct TrackableImageFormatANDROID(i32);
9441impl TrackableImageFormatANDROID {
9442    #[doc = "RGBA image format with 8 bits per channel color and transparency data."]
9443    pub const R8G8B8A8: TrackableImageFormatANDROID = Self(1i32);
9444    pub fn from_raw(x: i32) -> Self {
9445        Self(x)
9446    }
9447    pub fn into_raw(self) -> i32 {
9448        self.0
9449    }
9450}
9451impl fmt::Debug for TrackableImageFormatANDROID {
9452    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9453        let name = match *self {
9454            Self::R8G8B8A8 => Some("R8G8B8A8"),
9455            _ => None,
9456        };
9457        fmt_enum(fmt, self.0, name)
9458    }
9459}
9460#[doc = "See [XrTrackableImageTrackingModeANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableImageTrackingModeANDROID)"]
9461#[repr(transparent)]
9462#[derive(Copy, Clone, Eq, PartialEq)]
9463pub struct TrackableImageTrackingModeANDROID(i32);
9464impl TrackableImageTrackingModeANDROID {
9465    #[doc = "This mode has the highest accuracy and allows low latency tracking of moving images. It has also has the highest power consumption."]
9466    pub const DYNAMIC: TrackableImageTrackingModeANDROID = Self(1i32);
9467    #[doc = "This mode should be used for images that are known to be static or semi-static. This mode leads to less power consumption in comparison to the dynamic mode. If a static image is being moved, it will be updated with a much higher latency than using the dynamic mode."]
9468    pub const STATIC: TrackableImageTrackingModeANDROID = Self(2i32);
9469    pub fn from_raw(x: i32) -> Self {
9470        Self(x)
9471    }
9472    pub fn into_raw(self) -> i32 {
9473        self.0
9474    }
9475}
9476impl fmt::Debug for TrackableImageTrackingModeANDROID {
9477    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9478        let name = match *self {
9479            Self::DYNAMIC => Some("DYNAMIC"),
9480            Self::STATIC => Some("STATIC"),
9481            _ => None,
9482        };
9483        fmt_enum(fmt, self.0, name)
9484    }
9485}
9486#[doc = "See [XrInstanceCreateFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInstanceCreateFlagBits)"]
9487#[repr(transparent)]
9488#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9489pub struct InstanceCreateFlags(u64);
9490impl InstanceCreateFlags {}
9491bitmask!(InstanceCreateFlags);
9492#[doc = "See [XrSessionCreateFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSessionCreateFlagBits)"]
9493#[repr(transparent)]
9494#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9495pub struct SessionCreateFlags(u64);
9496impl SessionCreateFlags {}
9497bitmask!(SessionCreateFlags);
9498#[doc = "See [XrSwapchainCreateFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainCreateFlagBits)"]
9499#[repr(transparent)]
9500#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9501pub struct SwapchainCreateFlags(u64);
9502impl SwapchainCreateFlags {
9503    #[doc = "Content will be protected from CPU access"]
9504    pub const PROTECTED_CONTENT: SwapchainCreateFlags = Self(1 << 0u64);
9505    #[doc = "Only one image will be acquired from this swapchain over its lifetime"]
9506    pub const STATIC_IMAGE: SwapchainCreateFlags = Self(1 << 1u64);
9507}
9508bitmask!(SwapchainCreateFlags);
9509#[doc = "See [XrSwapchainUsageFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainUsageFlagBits)"]
9510#[repr(transparent)]
9511#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9512pub struct SwapchainUsageFlags(u64);
9513impl SwapchainUsageFlags {
9514    #[doc = "Specifies that the image may: be a color rendering target."]
9515    pub const COLOR_ATTACHMENT: SwapchainUsageFlags = Self(1 << 0u64);
9516    #[doc = "Specifies that the image may: be a depth/stencil rendering target."]
9517    pub const DEPTH_STENCIL_ATTACHMENT: SwapchainUsageFlags = Self(1 << 1u64);
9518    #[doc = "Specifies that the image may: be accessed out of order and that access may: be via atomic operations."]
9519    pub const UNORDERED_ACCESS: SwapchainUsageFlags = Self(1 << 2u64);
9520    #[doc = "Specifies that the image may: be used as the source of a transfer operation."]
9521    pub const TRANSFER_SRC: SwapchainUsageFlags = Self(1 << 3u64);
9522    #[doc = "Specifies that the image may: be used as the destination of a transfer operation."]
9523    pub const TRANSFER_DST: SwapchainUsageFlags = Self(1 << 4u64);
9524    #[doc = "Specifies that the image may: be sampled by a shader."]
9525    pub const SAMPLED: SwapchainUsageFlags = Self(1 << 5u64);
9526    #[doc = "Specifies that the image may: be reinterpreted as another image format."]
9527    pub const MUTABLE_FORMAT: SwapchainUsageFlags = Self(1 << 6u64);
9528    #[doc = "Specifies that the image may: be used as a input attachment."]
9529    pub const INPUT_ATTACHMENT: SwapchainUsageFlags = Self(1 << 7u64);
9530}
9531bitmask!(SwapchainUsageFlags);
9532#[doc = "See [XrViewStateFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewStateFlagBits)"]
9533#[repr(transparent)]
9534#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9535pub struct ViewStateFlags(u64);
9536impl ViewStateFlags {
9537    #[doc = "Indicates validity of all XrView orientations"]
9538    pub const ORIENTATION_VALID: ViewStateFlags = Self(1 << 0u64);
9539    #[doc = "Indicates validity of all XrView positions"]
9540    pub const POSITION_VALID: ViewStateFlags = Self(1 << 1u64);
9541    #[doc = "Indicates whether all XrView orientations are actively tracked"]
9542    pub const ORIENTATION_TRACKED: ViewStateFlags = Self(1 << 2u64);
9543    #[doc = "Indicates whether all XrView positions are actively tracked"]
9544    pub const POSITION_TRACKED: ViewStateFlags = Self(1 << 3u64);
9545}
9546bitmask!(ViewStateFlags);
9547#[doc = "See [XrCompositionLayerFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerFlagBits)"]
9548#[repr(transparent)]
9549#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9550pub struct CompositionLayerFlags(u64);
9551impl CompositionLayerFlags {
9552    #[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."]
9553    pub const CORRECT_CHROMATIC_ABERRATION: CompositionLayerFlags = Self(1 << 0u64);
9554    #[doc = "Enables the layer texture alpha channel."]
9555    pub const BLEND_TEXTURE_SOURCE_ALPHA: CompositionLayerFlags = Self(1 << 1u64);
9556    #[doc = "Indicates the texture color channels have not been premultiplied by the texture alpha channel."]
9557    pub const UNPREMULTIPLIED_ALPHA: CompositionLayerFlags = Self(1 << 2u64);
9558    #[doc = "Indicates that the texture alpha channel stores transparency instead of opacity, and is to be inverted before layer blending."]
9559    pub const INVERTED_ALPHA: CompositionLayerFlags = Self(1 << 3u64);
9560}
9561bitmask!(CompositionLayerFlags);
9562#[doc = "See [XrSpaceLocationFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceLocationFlagBits)"]
9563#[repr(transparent)]
9564#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9565pub struct SpaceLocationFlags(u64);
9566impl SpaceLocationFlags {
9567    #[doc = "Indicates that the orientation member contains valid data"]
9568    pub const ORIENTATION_VALID: SpaceLocationFlags = Self(1 << 0u64);
9569    #[doc = "Indicates that the position member contains valid data"]
9570    pub const POSITION_VALID: SpaceLocationFlags = Self(1 << 1u64);
9571    #[doc = "Indicates whether pose member contains an actively tracked orientation"]
9572    pub const ORIENTATION_TRACKED: SpaceLocationFlags = Self(1 << 2u64);
9573    #[doc = "Indicates whether pose member contains an actively tracked position"]
9574    pub const POSITION_TRACKED: SpaceLocationFlags = Self(1 << 3u64);
9575}
9576bitmask!(SpaceLocationFlags);
9577#[doc = "See [XrSpaceVelocityFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceVelocityFlagBits)"]
9578#[repr(transparent)]
9579#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9580pub struct SpaceVelocityFlags(u64);
9581impl SpaceVelocityFlags {
9582    #[doc = "Indicates that the linearVelocity member contains valid data. Applications must: not read the linearVelocity field if this flag is unset."]
9583    pub const LINEAR_VALID: SpaceVelocityFlags = Self(1 << 0u64);
9584    #[doc = "Indicates that the angularVelocity member contains valid data. Applications must: not read the angularVelocity field if this flag is unset."]
9585    pub const ANGULAR_VALID: SpaceVelocityFlags = Self(1 << 1u64);
9586}
9587bitmask!(SpaceVelocityFlags);
9588#[doc = "See [XrInputSourceLocalizedNameFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInputSourceLocalizedNameFlagBits)"]
9589#[repr(transparent)]
9590#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9591pub struct InputSourceLocalizedNameFlags(u64);
9592impl InputSourceLocalizedNameFlags {
9593    #[doc = "Asks for the part of the string which indicates the top level user path the source represents"]
9594    pub const USER_PATH: InputSourceLocalizedNameFlags = Self(1 << 0u64);
9595    #[doc = "Asks for the part of the string which represents the interaction profile of the source"]
9596    pub const INTERACTION_PROFILE: InputSourceLocalizedNameFlags = Self(1 << 1u64);
9597    #[doc = "Asks for the part of the string which represents the component on the device which needs to be interacted with"]
9598    pub const COMPONENT: InputSourceLocalizedNameFlags = Self(1 << 2u64);
9599}
9600bitmask!(InputSourceLocalizedNameFlags);
9601#[doc = "See [XrVulkanInstanceCreateFlagsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVulkanInstanceCreateFlagsKHR)"]
9602#[repr(transparent)]
9603#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9604pub struct VulkanInstanceCreateFlagsKHR(u64);
9605impl VulkanInstanceCreateFlagsKHR {}
9606bitmask!(VulkanInstanceCreateFlagsKHR);
9607#[doc = "See [XrVulkanDeviceCreateFlagsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVulkanDeviceCreateFlagsKHR)"]
9608#[repr(transparent)]
9609#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9610pub struct VulkanDeviceCreateFlagsKHR(u64);
9611impl VulkanDeviceCreateFlagsKHR {}
9612bitmask!(VulkanDeviceCreateFlagsKHR);
9613#[doc = "See [XrDebugUtilsMessageSeverityFlagsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDebugUtilsMessageSeverityFlagsEXT)"]
9614#[repr(transparent)]
9615#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9616pub struct DebugUtilsMessageSeverityFlagsEXT(u64);
9617impl DebugUtilsMessageSeverityFlagsEXT {
9618    #[doc = "Most verbose output severity, typically used for debugging."]
9619    pub const VERBOSE: DebugUtilsMessageSeverityFlagsEXT = Self(1 << 0u64);
9620    #[doc = "General info message"]
9621    pub const INFO: DebugUtilsMessageSeverityFlagsEXT = Self(1 << 4u64);
9622    #[doc = "Indicates the item may be the cause of issues."]
9623    pub const WARNING: DebugUtilsMessageSeverityFlagsEXT = Self(1 << 8u64);
9624    #[doc = "Indicates that the item is definitely related to erroneous behavior."]
9625    pub const ERROR: DebugUtilsMessageSeverityFlagsEXT = Self(1 << 12u64);
9626}
9627bitmask!(DebugUtilsMessageSeverityFlagsEXT);
9628#[doc = "See [XrDebugUtilsMessageTypeFlagsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDebugUtilsMessageTypeFlagsEXT)"]
9629#[repr(transparent)]
9630#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9631pub struct DebugUtilsMessageTypeFlagsEXT(u64);
9632impl DebugUtilsMessageTypeFlagsEXT {
9633    #[doc = "Indicates this is a general message"]
9634    pub const GENERAL: DebugUtilsMessageTypeFlagsEXT = Self(1 << 0u64);
9635    #[doc = "Indicates the message is related to a validation message"]
9636    pub const VALIDATION: DebugUtilsMessageTypeFlagsEXT = Self(1 << 1u64);
9637    #[doc = "Indicates the message is related to a potential performance situation"]
9638    pub const PERFORMANCE: DebugUtilsMessageTypeFlagsEXT = Self(1 << 2u64);
9639    #[doc = "Indicates the message is related to a non-conformant runtime result"]
9640    pub const CONFORMANCE: DebugUtilsMessageTypeFlagsEXT = Self(1 << 3u64);
9641}
9642bitmask!(DebugUtilsMessageTypeFlagsEXT);
9643#[doc = "See [XrFrameSynthesisInfoFlagsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameSynthesisInfoFlagsEXT)"]
9644#[repr(transparent)]
9645#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9646pub struct FrameSynthesisInfoFlagsEXT(u64);
9647impl FrameSynthesisInfoFlagsEXT {
9648    #[doc = "2D motion vector will be used"]
9649    pub const USE_2D_MOTION_VECTOR: FrameSynthesisInfoFlagsEXT = Self(1 << 0u64);
9650    #[doc = "Request the runtime to relax the application's frame interval to allow additional render time"]
9651    pub const REQUEST_RELAXED_FRAME_INTERVAL: FrameSynthesisInfoFlagsEXT = Self(1 << 1u64);
9652}
9653bitmask!(FrameSynthesisInfoFlagsEXT);
9654#[doc = "See [XrOverlayMainSessionFlagsEXTX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrOverlayMainSessionFlagsEXTX)"]
9655#[repr(transparent)]
9656#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9657pub struct OverlayMainSessionFlagsEXTX(u64);
9658impl OverlayMainSessionFlagsEXTX {
9659    #[doc = "Indicates the main session enabled `XR_KHR_composition_layer_depth`"]
9660    pub const ENABLED_COMPOSITION_LAYER_INFO_DEPTH: OverlayMainSessionFlagsEXTX = Self(1 << 0u64);
9661}
9662bitmask!(OverlayMainSessionFlagsEXTX);
9663#[doc = "See [XrOverlaySessionCreateFlagsEXTX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrOverlaySessionCreateFlagsEXTX)"]
9664#[repr(transparent)]
9665#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9666pub struct OverlaySessionCreateFlagsEXTX(u64);
9667impl OverlaySessionCreateFlagsEXTX {}
9668bitmask!(OverlaySessionCreateFlagsEXTX);
9669#[doc = "See [XrAndroidSurfaceSwapchainFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAndroidSurfaceSwapchainFlagsFB)"]
9670#[repr(transparent)]
9671#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9672pub struct AndroidSurfaceSwapchainFlagsFB(u64);
9673impl AndroidSurfaceSwapchainFlagsFB {
9674    #[doc = "Create the underlying BufferQueue in synchronous mode"]
9675    pub const SYNCHRONOUS: AndroidSurfaceSwapchainFlagsFB = Self(1 << 0u64);
9676    #[doc = "Acquire most recent buffer whose presentation timestamp is not greater than display time of final composited frame"]
9677    pub const USE_TIMESTAMPS: AndroidSurfaceSwapchainFlagsFB = Self(1 << 1u64);
9678}
9679bitmask!(AndroidSurfaceSwapchainFlagsFB);
9680#[doc = "See [XrCompositionLayerImageLayoutFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerImageLayoutFlagsFB)"]
9681#[repr(transparent)]
9682#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9683pub struct CompositionLayerImageLayoutFlagsFB(u64);
9684impl CompositionLayerImageLayoutFlagsFB {
9685    #[doc = "The coordinate origin of the swapchain image must be considered to be flipped vertically."]
9686    pub const VERTICAL_FLIP: CompositionLayerImageLayoutFlagsFB = Self(1 << 0u64);
9687}
9688bitmask!(CompositionLayerImageLayoutFlagsFB);
9689#[doc = "See [XrCompositionLayerSecureContentFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerSecureContentFlagsFB)"]
9690#[repr(transparent)]
9691#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9692pub struct CompositionLayerSecureContentFlagsFB(u64);
9693impl CompositionLayerSecureContentFlagsFB {
9694    #[doc = "Indicates the layer will only be visible inside the HMD, and not visible to external sources"]
9695    pub const EXCLUDE_LAYER: CompositionLayerSecureContentFlagsFB = Self(1 << 0u64);
9696    #[doc = "Indicates the layer will be displayed inside the HMD, but replaced by proxy content when written to external sources"]
9697    pub const REPLACE_LAYER: CompositionLayerSecureContentFlagsFB = Self(1 << 1u64);
9698}
9699bitmask!(CompositionLayerSecureContentFlagsFB);
9700#[doc = "See [XrSwapchainCreateFoveationFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainCreateFoveationFlagsFB)"]
9701#[repr(transparent)]
9702#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9703pub struct SwapchainCreateFoveationFlagsFB(u64);
9704impl SwapchainCreateFoveationFlagsFB {
9705    #[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."]
9706    pub const SCALED_BIN: SwapchainCreateFoveationFlagsFB = Self(1 << 0u64);
9707    #[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."]
9708    pub const FRAGMENT_DENSITY_MAP: SwapchainCreateFoveationFlagsFB = Self(1 << 1u64);
9709}
9710bitmask!(SwapchainCreateFoveationFlagsFB);
9711#[doc = "See [XrSwapchainStateFoveationFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainStateFoveationFlagsFB)"]
9712#[repr(transparent)]
9713#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9714pub struct SwapchainStateFoveationFlagsFB(u64);
9715impl SwapchainStateFoveationFlagsFB {}
9716bitmask!(SwapchainStateFoveationFlagsFB);
9717#[doc = "See [XrFoveationEyeTrackedProfileCreateFlagsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationEyeTrackedProfileCreateFlagsMETA)"]
9718#[repr(transparent)]
9719#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9720pub struct FoveationEyeTrackedProfileCreateFlagsMETA(u64);
9721impl FoveationEyeTrackedProfileCreateFlagsMETA {}
9722bitmask!(FoveationEyeTrackedProfileCreateFlagsMETA);
9723#[doc = "See [XrFoveationEyeTrackedStateFlagsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationEyeTrackedStateFlagsMETA)"]
9724#[repr(transparent)]
9725#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9726pub struct FoveationEyeTrackedStateFlagsMETA(u64);
9727impl FoveationEyeTrackedStateFlagsMETA {
9728    #[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."]
9729    pub const VALID: FoveationEyeTrackedStateFlagsMETA = Self(1 << 0u64);
9730}
9731bitmask!(FoveationEyeTrackedStateFlagsMETA);
9732#[doc = "See [XrTriangleMeshFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTriangleMeshFlagsFB)"]
9733#[repr(transparent)]
9734#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9735pub struct TriangleMeshFlagsFB(u64);
9736impl TriangleMeshFlagsFB {
9737    #[doc = "The triangle mesh is mutable (can be modified after it is created)."]
9738    pub const MUTABLE: TriangleMeshFlagsFB = Self(1 << 0u64);
9739}
9740bitmask!(TriangleMeshFlagsFB);
9741#[doc = "See [XrPassthroughFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughFlagsFB)"]
9742#[repr(transparent)]
9743#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9744pub struct PassthroughFlagsFB(u64);
9745impl PassthroughFlagsFB {
9746    #[doc = "The object (passthrough, layer) is running at creation."]
9747    pub const IS_RUNNING_AT_CREATION: PassthroughFlagsFB = Self(1 << 0u64);
9748    #[doc = "The passthrough system sends depth information to the compositor. Only applicable to layer objects."]
9749    pub const LAYER_DEPTH: PassthroughFlagsFB = Self(1 << 1u64);
9750}
9751bitmask!(PassthroughFlagsFB);
9752#[doc = "See [XrPassthroughStateChangedFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughStateChangedFlagsFB)"]
9753#[repr(transparent)]
9754#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9755pub struct PassthroughStateChangedFlagsFB(u64);
9756impl PassthroughStateChangedFlagsFB {
9757    #[doc = "Passthrough system requires reinitialization."]
9758    pub const REINIT_REQUIRED: PassthroughStateChangedFlagsFB = Self(1 << 0u64);
9759    #[doc = "Non-recoverable error has occurred. A device reboot or a firmware update may be required."]
9760    pub const NON_RECOVERABLE_ERROR: PassthroughStateChangedFlagsFB = Self(1 << 1u64);
9761    #[doc = "A recoverable error has occurred. The runtime will attempt to recover, but some functionality may be temporarily unavailable."]
9762    pub const RECOVERABLE_ERROR: PassthroughStateChangedFlagsFB = Self(1 << 2u64);
9763    #[doc = "The runtime has recovered from a previous error and is functioning normally."]
9764    pub const RESTORED_ERROR: PassthroughStateChangedFlagsFB = Self(1 << 3u64);
9765}
9766bitmask!(PassthroughStateChangedFlagsFB);
9767#[doc = "See [XrPassthroughCapabilityFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughCapabilityFlagsFB)"]
9768#[repr(transparent)]
9769#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9770pub struct PassthroughCapabilityFlagsFB(u64);
9771impl PassthroughCapabilityFlagsFB {
9772    #[doc = "The system supports passthrough."]
9773    pub const PASSTHROUGH_CAPABILITY: PassthroughCapabilityFlagsFB = Self(1 << 0u64);
9774    #[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."]
9775    pub const COLOR: PassthroughCapabilityFlagsFB = Self(1 << 1u64);
9776    #[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."]
9777    pub const LAYER_DEPTH: PassthroughCapabilityFlagsFB = Self(1 << 2u64);
9778}
9779bitmask!(PassthroughCapabilityFlagsFB);
9780#[doc = "See [XrSemanticLabelsSupportFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSemanticLabelsSupportFlagsFB)"]
9781#[repr(transparent)]
9782#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9783pub struct SemanticLabelsSupportFlagsFB(u64);
9784impl SemanticLabelsSupportFlagsFB {
9785    #[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."]
9786    pub const MULTIPLE_SEMANTIC_LABELS: SemanticLabelsSupportFlagsFB = Self(1 << 0u64);
9787    #[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."]
9788    pub const ACCEPT_DESK_TO_TABLE_MIGRATION: SemanticLabelsSupportFlagsFB = Self(1 << 1u64);
9789    #[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."]
9790    pub const ACCEPT_INVISIBLE_WALL_FACE: SemanticLabelsSupportFlagsFB = Self(1 << 2u64);
9791}
9792bitmask!(SemanticLabelsSupportFlagsFB);
9793#[doc = "See [XrHandTrackingAimFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackingAimFlagsFB)"]
9794#[repr(transparent)]
9795#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9796pub struct HandTrackingAimFlagsFB(u64);
9797impl HandTrackingAimFlagsFB {
9798    #[doc = "Aiming data is computed from additional sources beyond the hand data in the base structure"]
9799    pub const COMPUTED: HandTrackingAimFlagsFB = Self(1 << 0u64);
9800    #[doc = "Aiming data is valid"]
9801    pub const VALID: HandTrackingAimFlagsFB = Self(1 << 1u64);
9802    #[doc = "Index finger pinch discrete signal"]
9803    pub const INDEX_PINCHING: HandTrackingAimFlagsFB = Self(1 << 2u64);
9804    #[doc = "Middle finger pinch discrete signal"]
9805    pub const MIDDLE_PINCHING: HandTrackingAimFlagsFB = Self(1 << 3u64);
9806    #[doc = "Ring finger pinch discrete signal"]
9807    pub const RING_PINCHING: HandTrackingAimFlagsFB = Self(1 << 4u64);
9808    #[doc = "Little finger pinch discrete signal"]
9809    pub const LITTLE_PINCHING: HandTrackingAimFlagsFB = Self(1 << 5u64);
9810    #[doc = "System gesture is active"]
9811    pub const SYSTEM_GESTURE: HandTrackingAimFlagsFB = Self(1 << 6u64);
9812    #[doc = "Hand is currently marked as dominant for the system"]
9813    pub const DOMINANT_HAND: HandTrackingAimFlagsFB = Self(1 << 7u64);
9814    #[doc = "System menu gesture is active"]
9815    pub const MENU_PRESSED: HandTrackingAimFlagsFB = Self(1 << 8u64);
9816}
9817bitmask!(HandTrackingAimFlagsFB);
9818#[doc = "See [XrKeyboardTrackingFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrKeyboardTrackingFlagsFB)"]
9819#[repr(transparent)]
9820#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9821pub struct KeyboardTrackingFlagsFB(u64);
9822impl KeyboardTrackingFlagsFB {
9823    #[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."]
9824    pub const EXISTS: KeyboardTrackingFlagsFB = Self(1 << 0u64);
9825    #[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."]
9826    pub const LOCAL: KeyboardTrackingFlagsFB = Self(1 << 1u64);
9827    #[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."]
9828    pub const REMOTE: KeyboardTrackingFlagsFB = Self(1 << 2u64);
9829    #[doc = "indicates that the physically tracked keyboard is actively connected to the headset and capable of sending key data"]
9830    pub const CONNECTED: KeyboardTrackingFlagsFB = Self(1 << 3u64);
9831}
9832bitmask!(KeyboardTrackingFlagsFB);
9833#[doc = "See [XrKeyboardTrackingQueryFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrKeyboardTrackingQueryFlagsFB)"]
9834#[repr(transparent)]
9835#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9836pub struct KeyboardTrackingQueryFlagsFB(u64);
9837impl KeyboardTrackingQueryFlagsFB {
9838    #[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."]
9839    pub const LOCAL: KeyboardTrackingQueryFlagsFB = Self(1 << 1u64);
9840    #[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."]
9841    pub const REMOTE: KeyboardTrackingQueryFlagsFB = Self(1 << 2u64);
9842}
9843bitmask!(KeyboardTrackingQueryFlagsFB);
9844#[doc = "See [XrCompositionLayerSpaceWarpInfoFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerSpaceWarpInfoFlagsFB)"]
9845#[repr(transparent)]
9846#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9847pub struct CompositionLayerSpaceWarpInfoFlagsFB(u64);
9848impl CompositionLayerSpaceWarpInfoFlagsFB {
9849    #[doc = "Skip current frame's space warp extrapolation"]
9850    pub const FRAME_SKIP: CompositionLayerSpaceWarpInfoFlagsFB = Self(1 << 0u64);
9851}
9852bitmask!(CompositionLayerSpaceWarpInfoFlagsFB);
9853#[doc = "See [XrRenderModelFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelFlagsFB)"]
9854#[repr(transparent)]
9855#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9856pub struct RenderModelFlagsFB(u64);
9857impl RenderModelFlagsFB {
9858    #[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."]
9859    pub const SUPPORTS_GLTF_2_0_SUBSET_1: RenderModelFlagsFB = Self(1 << 0u64);
9860    #[doc = "All of XR_RENDER_MODEL_SUPPORTS_GLTF_2_0_SUBSET_1_BIT_FB support plus: Multiple meshes. Multiple Textures. Texture Transparency."]
9861    pub const SUPPORTS_GLTF_2_0_SUBSET_2: RenderModelFlagsFB = Self(1 << 1u64);
9862}
9863bitmask!(RenderModelFlagsFB);
9864#[doc = "See [XrDigitalLensControlFlagsALMALENCE](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDigitalLensControlFlagsALMALENCE)"]
9865#[repr(transparent)]
9866#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9867pub struct DigitalLensControlFlagsALMALENCE(u64);
9868impl DigitalLensControlFlagsALMALENCE {
9869    #[doc = "disables Digital Lens processing of render textures"]
9870    pub const PROCESSING_DISABLE: DigitalLensControlFlagsALMALENCE = Self(1 << 0u64);
9871}
9872bitmask!(DigitalLensControlFlagsALMALENCE);
9873#[doc = "See [XrCompositionLayerSettingsFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerSettingsFlagsFB)"]
9874#[repr(transparent)]
9875#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9876pub struct CompositionLayerSettingsFlagsFB(u64);
9877impl CompositionLayerSettingsFlagsFB {
9878    #[doc = "Indicates compositor may: use layer texture supersampling."]
9879    pub const NORMAL_SUPER_SAMPLING: CompositionLayerSettingsFlagsFB = Self(1 << 0u64);
9880    #[doc = "Indicates compositor may: use high quality layer texture supersampling."]
9881    pub const QUALITY_SUPER_SAMPLING: CompositionLayerSettingsFlagsFB = Self(1 << 1u64);
9882    #[doc = "Indicates compositor may: use layer texture sharpening."]
9883    pub const NORMAL_SHARPENING: CompositionLayerSettingsFlagsFB = Self(1 << 2u64);
9884    #[doc = "Indicates compositor may: use high quality layer texture sharpening."]
9885    pub const QUALITY_SHARPENING: CompositionLayerSettingsFlagsFB = Self(1 << 3u64);
9886    #[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)"]
9887    pub const AUTO_LAYER_FILTER: CompositionLayerSettingsFlagsFB = Self(1 << 5u64);
9888}
9889bitmask!(CompositionLayerSettingsFlagsFB);
9890#[doc = "See [XrExternalCameraStatusFlagsOCULUS](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExternalCameraStatusFlagsOCULUS)"]
9891#[repr(transparent)]
9892#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9893pub struct ExternalCameraStatusFlagsOCULUS(u64);
9894impl ExternalCameraStatusFlagsOCULUS {
9895    #[doc = "External camera is connected"]
9896    pub const CONNECTED: ExternalCameraStatusFlagsOCULUS = Self(1 << 0u64);
9897    #[doc = "External camera is undergoing calibration"]
9898    pub const CALIBRATING: ExternalCameraStatusFlagsOCULUS = Self(1 << 1u64);
9899    #[doc = "External camera has tried and failed calibration"]
9900    pub const CALIBRATION_FAILED: ExternalCameraStatusFlagsOCULUS = Self(1 << 2u64);
9901    #[doc = "External camera has tried and passed calibration"]
9902    pub const CALIBRATED: ExternalCameraStatusFlagsOCULUS = Self(1 << 3u64);
9903    #[doc = "External camera is capturing"]
9904    pub const CAPTURING: ExternalCameraStatusFlagsOCULUS = Self(1 << 4u64);
9905}
9906bitmask!(ExternalCameraStatusFlagsOCULUS);
9907#[doc = "See [XrPerformanceMetricsCounterFlagsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerformanceMetricsCounterFlagsMETA)"]
9908#[repr(transparent)]
9909#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9910pub struct PerformanceMetricsCounterFlagsMETA(u64);
9911impl PerformanceMetricsCounterFlagsMETA {
9912    #[doc = "Indicates any of the values in XrPerformanceMetricsCounterMETA is valid."]
9913    pub const ANY_VALUE_VALID: PerformanceMetricsCounterFlagsMETA = Self(1 << 0u64);
9914    #[doc = "Indicates the uintValue in XrPerformanceMetricsCounterMETA is valid."]
9915    pub const UINT_VALUE_VALID: PerformanceMetricsCounterFlagsMETA = Self(1 << 1u64);
9916    #[doc = "Indicates the floatValue in XrPerformanceMetricsCounterMETA is valid."]
9917    pub const FLOAT_VALUE_VALID: PerformanceMetricsCounterFlagsMETA = Self(1 << 2u64);
9918}
9919bitmask!(PerformanceMetricsCounterFlagsMETA);
9920#[doc = "See [XrPassthroughPreferenceFlagsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughPreferenceFlagsMETA)"]
9921#[repr(transparent)]
9922#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9923pub struct PassthroughPreferenceFlagsMETA(u64);
9924impl PassthroughPreferenceFlagsMETA {
9925    #[doc = "Indicates that the runtime recommends apps to default to a mixed reality experience with passthrough (if supported)."]
9926    pub const DEFAULT_TO_ACTIVE: PassthroughPreferenceFlagsMETA = Self(1 << 0u64);
9927}
9928bitmask!(PassthroughPreferenceFlagsMETA);
9929#[doc = "See [XrFoveationDynamicFlagsHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationDynamicFlagsHTC)"]
9930#[repr(transparent)]
9931#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9932pub struct FoveationDynamicFlagsHTC(u64);
9933impl FoveationDynamicFlagsHTC {
9934    #[doc = "Allow system to set periphery pixel density dynamically."]
9935    pub const LEVEL_ENABLED: FoveationDynamicFlagsHTC = Self(1 << 0u64);
9936    #[doc = "Allow system to set clear FOV degree dynamically."]
9937    pub const CLEAR_FOV_ENABLED: FoveationDynamicFlagsHTC = Self(1 << 1u64);
9938    #[doc = "Allow system to set focal center offset dynamically."]
9939    pub const FOCAL_CENTER_OFFSET_ENABLED: FoveationDynamicFlagsHTC = Self(1 << 2u64);
9940}
9941bitmask!(FoveationDynamicFlagsHTC);
9942#[doc = "See [XrPerformanceMetricsCounterFlagsANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerformanceMetricsCounterFlagsANDROID)"]
9943#[repr(transparent)]
9944#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9945pub struct PerformanceMetricsCounterFlagsANDROID(u64);
9946impl PerformanceMetricsCounterFlagsANDROID {
9947    #[doc = "Indicates any of the values in XrPerformanceMetricsCounterANDROID is valid."]
9948    pub const ANY_VALUE_VALID: PerformanceMetricsCounterFlagsANDROID = Self(1 << 0u64);
9949    #[doc = "Indicates the uintValue in XrPerformanceMetricsCounterANDROID is valid."]
9950    pub const UINT_VALUE_VALID: PerformanceMetricsCounterFlagsANDROID = Self(1 << 1u64);
9951    #[doc = "Indicates the floatValue in XrPerformanceMetricsCounterANDROID is valid."]
9952    pub const FLOAT_VALUE_VALID: PerformanceMetricsCounterFlagsANDROID = Self(1 << 2u64);
9953}
9954bitmask!(PerformanceMetricsCounterFlagsANDROID);
9955#[doc = "See [XrFrameEndInfoFlagsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameEndInfoFlagsML)"]
9956#[repr(transparent)]
9957#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9958pub struct FrameEndInfoFlagsML(u64);
9959impl FrameEndInfoFlagsML {
9960    #[doc = "Indicates that the content for this frame is protected and should not be recorded or captured outside the graphics system."]
9961    pub const PROTECTED: FrameEndInfoFlagsML = Self(1 << 0u64);
9962    #[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."]
9963    pub const VIGNETTE: FrameEndInfoFlagsML = Self(1 << 1u64);
9964}
9965bitmask!(FrameEndInfoFlagsML);
9966#[doc = "See [XrGlobalDimmerFrameEndInfoFlagsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGlobalDimmerFrameEndInfoFlagsML)"]
9967#[repr(transparent)]
9968#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9969pub struct GlobalDimmerFrameEndInfoFlagsML(u64);
9970impl GlobalDimmerFrameEndInfoFlagsML {
9971    #[doc = "Indicates that the global dimmer should: be enabled and controlled by dimmerValue."]
9972    pub const ENABLED: GlobalDimmerFrameEndInfoFlagsML = Self(1 << 0u64);
9973}
9974bitmask!(GlobalDimmerFrameEndInfoFlagsML);
9975#[doc = "See [XrPlaneDetectorFlagsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorFlagsEXT)"]
9976#[repr(transparent)]
9977#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9978pub struct PlaneDetectorFlagsEXT(u64);
9979impl PlaneDetectorFlagsEXT {
9980    #[doc = "populate the plane contour information"]
9981    pub const ENABLE_CONTOUR: PlaneDetectorFlagsEXT = Self(1 << 0u64);
9982}
9983bitmask!(PlaneDetectorFlagsEXT);
9984#[doc = "See [XrPlaneDetectionCapabilityFlagsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectionCapabilityFlagsEXT)"]
9985#[repr(transparent)]
9986#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9987pub struct PlaneDetectionCapabilityFlagsEXT(u64);
9988impl PlaneDetectionCapabilityFlagsEXT {
9989    #[doc = "plane detection is supported"]
9990    pub const PLANE_DETECTION: PlaneDetectionCapabilityFlagsEXT = Self(1 << 0u64);
9991    #[doc = "polygon buffers for holes in planes can be generated"]
9992    pub const PLANE_HOLES: PlaneDetectionCapabilityFlagsEXT = Self(1 << 1u64);
9993    #[doc = "plane detection supports ceiling semantic classification"]
9994    pub const SEMANTIC_CEILING: PlaneDetectionCapabilityFlagsEXT = Self(1 << 2u64);
9995    #[doc = "plane detection supports floor semantic classification"]
9996    pub const SEMANTIC_FLOOR: PlaneDetectionCapabilityFlagsEXT = Self(1 << 3u64);
9997    #[doc = "plane detection supports wall semantic classification"]
9998    pub const SEMANTIC_WALL: PlaneDetectionCapabilityFlagsEXT = Self(1 << 4u64);
9999    #[doc = "plane detection supports platform semantic classification (for example table tops)"]
10000    pub const SEMANTIC_PLATFORM: PlaneDetectionCapabilityFlagsEXT = Self(1 << 5u64);
10001    #[doc = "plane detection supports plane orientation classification. If not supported planes are always classified as ARBITRARY."]
10002    pub const ORIENTATION: PlaneDetectionCapabilityFlagsEXT = Self(1 << 6u64);
10003}
10004bitmask!(PlaneDetectionCapabilityFlagsEXT);
10005#[doc = "See [XrVirtualKeyboardInputStateFlagsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardInputStateFlagsMETA)"]
10006#[repr(transparent)]
10007#[derive(Debug, Copy, Clone, Eq, PartialEq)]
10008pub struct VirtualKeyboardInputStateFlagsMETA(u64);
10009impl VirtualKeyboardInputStateFlagsMETA {
10010    #[doc = "If the input source is considered 'pressed' at all. Pinch for hands, Primary button for controllers."]
10011    pub const PRESSED: VirtualKeyboardInputStateFlagsMETA = Self(1 << 0u64);
10012}
10013bitmask!(VirtualKeyboardInputStateFlagsMETA);
10014#[doc = "See [XrLocalizationMapErrorFlagsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalizationMapErrorFlagsML)"]
10015#[repr(transparent)]
10016#[derive(Debug, Copy, Clone, Eq, PartialEq)]
10017pub struct LocalizationMapErrorFlagsML(u64);
10018impl LocalizationMapErrorFlagsML {
10019    #[doc = "Localization failed for an unknown reason."]
10020    pub const UNKNOWN: LocalizationMapErrorFlagsML = Self(1 << 0u64);
10021    #[doc = "Localization failed because the user is outside of the mapped area."]
10022    pub const OUT_OF_MAPPED_AREA: LocalizationMapErrorFlagsML = Self(1 << 1u64);
10023    #[doc = "There are not enough features in the environment to successfully localize."]
10024    pub const LOW_FEATURE_COUNT: LocalizationMapErrorFlagsML = Self(1 << 2u64);
10025    #[doc = "Localization failed due to excessive motion."]
10026    pub const EXCESSIVE_MOTION: LocalizationMapErrorFlagsML = Self(1 << 3u64);
10027    #[doc = "Localization failed because the lighting levels are too low in the environment."]
10028    pub const LOW_LIGHT: LocalizationMapErrorFlagsML = Self(1 << 4u64);
10029    #[doc = "A headpose failure caused localization to be unsuccessful."]
10030    pub const HEADPOSE: LocalizationMapErrorFlagsML = Self(1 << 5u64);
10031}
10032bitmask!(LocalizationMapErrorFlagsML);
10033#[doc = "See [XrEnvironmentDepthProviderCreateFlagsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthProviderCreateFlagsMETA)"]
10034#[repr(transparent)]
10035#[derive(Debug, Copy, Clone, Eq, PartialEq)]
10036pub struct EnvironmentDepthProviderCreateFlagsMETA(u64);
10037impl EnvironmentDepthProviderCreateFlagsMETA {}
10038bitmask!(EnvironmentDepthProviderCreateFlagsMETA);
10039#[doc = "See [XrEnvironmentDepthSwapchainCreateFlagsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthSwapchainCreateFlagsMETA)"]
10040#[repr(transparent)]
10041#[derive(Debug, Copy, Clone, Eq, PartialEq)]
10042pub struct EnvironmentDepthSwapchainCreateFlagsMETA(u64);
10043impl EnvironmentDepthSwapchainCreateFlagsMETA {}
10044bitmask!(EnvironmentDepthSwapchainCreateFlagsMETA);
10045#[doc = "See [XrWorldMeshDetectorFlagsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshDetectorFlagsML)"]
10046#[repr(transparent)]
10047#[derive(Debug, Copy, Clone, Eq, PartialEq)]
10048pub struct WorldMeshDetectorFlagsML(u64);
10049impl WorldMeshDetectorFlagsML {
10050    #[doc = "If set, will return a point cloud instead of a triangle mesh."]
10051    pub const POINT_CLOUD: WorldMeshDetectorFlagsML = Self(1 << 0u64);
10052    #[doc = "If set, the system will compute the normals for the triangle vertices."]
10053    pub const COMPUTE_NORMALS: WorldMeshDetectorFlagsML = Self(1 << 1u64);
10054    #[doc = "If set, the system will compute the confidence values."]
10055    pub const COMPUTE_CONFIDENCE: WorldMeshDetectorFlagsML = Self(1 << 2u64);
10056    #[doc = "If set, the system will planarize the returned mesh (planar regions will be smoothed out)."]
10057    pub const PLANARIZE: WorldMeshDetectorFlagsML = Self(1 << 3u64);
10058    #[doc = "If set, the mesh skirt (overlapping area between two mesh blocks) will be removed."]
10059    pub const REMOVE_MESH_SKIRT: WorldMeshDetectorFlagsML = Self(1 << 4u64);
10060    #[doc = "If set, winding order of indices will be be changed from counter clockwise to clockwise."]
10061    pub const INDEX_ORDER_CW: WorldMeshDetectorFlagsML = Self(1 << 5u64);
10062}
10063bitmask!(WorldMeshDetectorFlagsML);
10064#[doc = "See [XrSoundObstacleFlagsBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundObstacleFlagsBD)"]
10065#[repr(transparent)]
10066#[derive(Debug, Copy, Clone, Eq, PartialEq)]
10067pub struct SoundObstacleFlagsBD(u64);
10068impl SoundObstacleFlagsBD {
10069    #[doc = "to indicate an update of enabled"]
10070    pub const ENABLED: SoundObstacleFlagsBD = Self(1 << 0u64);
10071    #[doc = "to indicate an update of pose"]
10072    pub const POSE: SoundObstacleFlagsBD = Self(1 << 1u64);
10073    #[doc = "to indicate an update of mesh"]
10074    pub const MESH: SoundObstacleFlagsBD = Self(1 << 2u64);
10075    #[doc = "to indicate an update of materials"]
10076    pub const MATERIALS: SoundObstacleFlagsBD = Self(1 << 3u64);
10077}
10078bitmask!(SoundObstacleFlagsBD);
10079#[doc = "See [XrSoundObjectFlagsBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundObjectFlagsBD)"]
10080#[repr(transparent)]
10081#[derive(Debug, Copy, Clone, Eq, PartialEq)]
10082pub struct SoundObjectFlagsBD(u64);
10083impl SoundObjectFlagsBD {
10084    #[doc = "to indicate an update of enabled"]
10085    pub const ENABLED: SoundObjectFlagsBD = Self(1 << 0u64);
10086    #[doc = "to indicate an update of pose"]
10087    pub const POSE: SoundObjectFlagsBD = Self(1 << 1u64);
10088    #[doc = "to indicate an update of the directivity using an XrSoundObjectDirectivityCardioidBD chained to next"]
10089    pub const DIRECTIVITY: SoundObjectFlagsBD = Self(1 << 2u64);
10090    #[doc = "to indicate an update of the shape using an XrSoundObjectShapeSphereBD chained to next"]
10091    pub const SHAPE: SoundObjectFlagsBD = Self(1 << 3u64);
10092    #[doc = "to indicate an update of mainVolume"]
10093    pub const MAIN_VOLUME: SoundObjectFlagsBD = Self(1 << 4u64);
10094    #[doc = "to indicate an update of reflectionGain"]
10095    pub const REFLECTION_GAIN: SoundObjectFlagsBD = Self(1 << 5u64);
10096    #[doc = "to indicate an update of enableDoppler"]
10097    pub const ENABLE_DOPPLER: SoundObjectFlagsBD = Self(1 << 6u64);
10098    #[doc = "to indicate an update of directSoundAttenuation"]
10099    pub const DIRECT_SOUND_ATTENUATION: SoundObjectFlagsBD = Self(1 << 7u64);
10100    #[doc = "to indicate an update of indirectSoundAttenuation"]
10101    pub const INDIRECT_SOUND_ATTENUATION: SoundObjectFlagsBD = Self(1 << 8u64);
10102}
10103bitmask!(SoundObjectFlagsBD);
10104#[doc = "See [XrSoundFieldFlagsBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundFieldFlagsBD)"]
10105#[repr(transparent)]
10106#[derive(Debug, Copy, Clone, Eq, PartialEq)]
10107pub struct SoundFieldFlagsBD(u64);
10108impl SoundFieldFlagsBD {
10109    #[doc = "to indicate an update of enabled"]
10110    pub const ENABLED: SoundFieldFlagsBD = Self(1 << 0u64);
10111    #[doc = "to indicate an update of pose and/or baseSpace"]
10112    pub const ORIENTATION: SoundFieldFlagsBD = Self(1 << 1u64);
10113    #[doc = "to indicate an update of mainVolume"]
10114    pub const MAIN_VOLUME: SoundFieldFlagsBD = Self(1 << 2u64);
10115    #[doc = "to indicate an update of lfeGain"]
10116    pub const LFE_GAIN: SoundFieldFlagsBD = Self(1 << 3u64);
10117}
10118bitmask!(SoundFieldFlagsBD);
10119#[doc = "See [XrFacialExpressionBlendShapePropertiesFlagsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialExpressionBlendShapePropertiesFlagsML)"]
10120#[repr(transparent)]
10121#[derive(Debug, Copy, Clone, Eq, PartialEq)]
10122pub struct FacialExpressionBlendShapePropertiesFlagsML(u64);
10123impl FacialExpressionBlendShapePropertiesFlagsML {
10124    #[doc = "Indicates whether the blend shape is valid."]
10125    pub const VALID: FacialExpressionBlendShapePropertiesFlagsML = Self(1 << 0u64);
10126    #[doc = "Indicates whether the blend shape is being tracked by the runtime."]
10127    pub const TRACKED: FacialExpressionBlendShapePropertiesFlagsML = Self(1 << 1u64);
10128}
10129bitmask!(FacialExpressionBlendShapePropertiesFlagsML);
10130#[doc = "See [XrSpatialMeshConfigFlagsBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialMeshConfigFlagsBD)"]
10131#[repr(transparent)]
10132#[derive(Debug, Copy, Clone, Eq, PartialEq)]
10133pub struct SpatialMeshConfigFlagsBD(u64);
10134impl SpatialMeshConfigFlagsBD {
10135    #[doc = "Detect and include semantic label component data in the spatial entity."]
10136    pub const SEMANTIC: SpatialMeshConfigFlagsBD = Self(1 << 0u64);
10137    #[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"]
10138    pub const ALIGN_SEMANTIC_WITH_VERTEX: SpatialMeshConfigFlagsBD = Self(1 << 1u64);
10139}
10140bitmask!(SpatialMeshConfigFlagsBD);
10141#[doc = "See [XrBatteryStateDisplayStateFlagsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBatteryStateDisplayStateFlagsEXT)"]
10142#[repr(transparent)]
10143#[derive(Debug, Copy, Clone, Eq, PartialEq)]
10144pub struct BatteryStateDisplayStateFlagsEXT(u64);
10145impl BatteryStateDisplayStateFlagsEXT {
10146    #[doc = "Indicates validity of batteryLevel"]
10147    pub const VALID: BatteryStateDisplayStateFlagsEXT = Self(1 << 0u64);
10148    #[doc = "Indicates that the device associated with the interaction profile is charging."]
10149    pub const CHARGING: BatteryStateDisplayStateFlagsEXT = Self(1 << 1u64);
10150    #[doc = "Indicates that the device associated with the interaction profile is plugged in to a power source."]
10151    pub const PLUGGED_IN: BatteryStateDisplayStateFlagsEXT = Self(1 << 2u64);
10152    #[doc = "Indicates that the device associated with the interaction profile does not have a battery power source."]
10153    pub const NO_BATTERY: BatteryStateDisplayStateFlagsEXT = Self(1 << 3u64);
10154}
10155bitmask!(BatteryStateDisplayStateFlagsEXT);
10156#[doc = "See [XrInstance](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInstance)"]
10157#[repr(transparent)]
10158#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10159pub struct Instance(u64);
10160handle!(Instance);
10161#[doc = "See [XrSession](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSession)"]
10162#[repr(transparent)]
10163#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10164pub struct Session(u64);
10165handle!(Session);
10166#[doc = "See [XrActionSet](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionSet)"]
10167#[repr(transparent)]
10168#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10169pub struct ActionSet(u64);
10170handle!(ActionSet);
10171#[doc = "See [XrAction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAction)"]
10172#[repr(transparent)]
10173#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10174pub struct Action(u64);
10175handle!(Action);
10176#[doc = "See [XrSwapchain](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchain)"]
10177#[repr(transparent)]
10178#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10179pub struct Swapchain(u64);
10180handle!(Swapchain);
10181#[doc = "See [XrSpace](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpace)"]
10182#[repr(transparent)]
10183#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10184pub struct Space(u64);
10185handle!(Space);
10186#[doc = "See [XrDebugUtilsMessengerEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDebugUtilsMessengerEXT)"]
10187#[repr(transparent)]
10188#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10189pub struct DebugUtilsMessengerEXT(u64);
10190handle!(DebugUtilsMessengerEXT);
10191#[doc = "See [XrSpatialAnchorMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorMSFT)"]
10192#[repr(transparent)]
10193#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10194pub struct SpatialAnchorMSFT(u64);
10195handle!(SpatialAnchorMSFT);
10196#[doc = "See [XrHandTrackerEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackerEXT)"]
10197#[repr(transparent)]
10198#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10199pub struct HandTrackerEXT(u64);
10200handle!(HandTrackerEXT);
10201#[doc = "See [XrFoveationProfileFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationProfileFB)"]
10202#[repr(transparent)]
10203#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10204pub struct FoveationProfileFB(u64);
10205handle!(FoveationProfileFB);
10206#[doc = "See [XrTriangleMeshFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTriangleMeshFB)"]
10207#[repr(transparent)]
10208#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10209pub struct TriangleMeshFB(u64);
10210handle!(TriangleMeshFB);
10211#[doc = "See [XrPassthroughFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughFB)"]
10212#[repr(transparent)]
10213#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10214pub struct PassthroughFB(u64);
10215handle!(PassthroughFB);
10216#[doc = "See [XrPassthroughLayerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughLayerFB)"]
10217#[repr(transparent)]
10218#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10219pub struct PassthroughLayerFB(u64);
10220handle!(PassthroughLayerFB);
10221#[doc = "See [XrGeometryInstanceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGeometryInstanceFB)"]
10222#[repr(transparent)]
10223#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10224pub struct GeometryInstanceFB(u64);
10225handle!(GeometryInstanceFB);
10226#[doc = "See [XrFacialTrackerHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialTrackerHTC)"]
10227#[repr(transparent)]
10228#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10229pub struct FacialTrackerHTC(u64);
10230handle!(FacialTrackerHTC);
10231#[doc = "See [XrPassthroughHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughHTC)"]
10232#[repr(transparent)]
10233#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10234pub struct PassthroughHTC(u64);
10235handle!(PassthroughHTC);
10236#[doc = "See [XrFaceTrackerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackerANDROID)"]
10237#[repr(transparent)]
10238#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10239pub struct FaceTrackerANDROID(u64);
10240handle!(FaceTrackerANDROID);
10241#[doc = "See [XrTrackableTrackerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableTrackerANDROID)"]
10242#[repr(transparent)]
10243#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10244pub struct TrackableTrackerANDROID(u64);
10245handle!(TrackableTrackerANDROID);
10246#[doc = "See [XrDeviceAnchorPersistenceANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDeviceAnchorPersistenceANDROID)"]
10247#[repr(transparent)]
10248#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10249pub struct DeviceAnchorPersistenceANDROID(u64);
10250handle!(DeviceAnchorPersistenceANDROID);
10251#[doc = "See [XrPassthroughLayerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughLayerANDROID)"]
10252#[repr(transparent)]
10253#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10254pub struct PassthroughLayerANDROID(u64);
10255handle!(PassthroughLayerANDROID);
10256#[doc = "See [XrSceneMeshingTrackerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneMeshingTrackerANDROID)"]
10257#[repr(transparent)]
10258#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10259pub struct SceneMeshingTrackerANDROID(u64);
10260handle!(SceneMeshingTrackerANDROID);
10261#[doc = "See [XrSceneMeshSnapshotANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneMeshSnapshotANDROID)"]
10262#[repr(transparent)]
10263#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10264pub struct SceneMeshSnapshotANDROID(u64);
10265handle!(SceneMeshSnapshotANDROID);
10266#[doc = "See [XrFaceTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackerFB)"]
10267#[repr(transparent)]
10268#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10269pub struct FaceTrackerFB(u64);
10270handle!(FaceTrackerFB);
10271#[doc = "See [XrFaceTracker2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTracker2FB)"]
10272#[repr(transparent)]
10273#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10274pub struct FaceTracker2FB(u64);
10275handle!(FaceTracker2FB);
10276#[doc = "See [XrBodyTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackerFB)"]
10277#[repr(transparent)]
10278#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10279pub struct BodyTrackerFB(u64);
10280handle!(BodyTrackerFB);
10281#[doc = "See [XrEyeTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeTrackerFB)"]
10282#[repr(transparent)]
10283#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10284pub struct EyeTrackerFB(u64);
10285handle!(EyeTrackerFB);
10286#[doc = "See [XrSpaceUserFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceUserFB)"]
10287#[repr(transparent)]
10288#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10289pub struct SpaceUserFB(u64);
10290handle!(SpaceUserFB);
10291#[doc = "See [XrPassthroughColorLutMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorLutMETA)"]
10292#[repr(transparent)]
10293#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10294pub struct PassthroughColorLutMETA(u64);
10295handle!(PassthroughColorLutMETA);
10296#[doc = "See [XrPlaneDetectorEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorEXT)"]
10297#[repr(transparent)]
10298#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10299pub struct PlaneDetectorEXT(u64);
10300handle!(PlaneDetectorEXT);
10301#[doc = "See [XrVirtualKeyboardMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardMETA)"]
10302#[repr(transparent)]
10303#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10304pub struct VirtualKeyboardMETA(u64);
10305handle!(VirtualKeyboardMETA);
10306#[doc = "See [XrSpatialAnchorsStorageML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsStorageML)"]
10307#[repr(transparent)]
10308#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10309pub struct SpatialAnchorsStorageML(u64);
10310handle!(SpatialAnchorsStorageML);
10311#[doc = "See [XrExportedLocalizationMapML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExportedLocalizationMapML)"]
10312#[repr(transparent)]
10313#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10314pub struct ExportedLocalizationMapML(u64);
10315handle!(ExportedLocalizationMapML);
10316#[doc = "See [XrMarkerDetectorML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorML)"]
10317#[repr(transparent)]
10318#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10319pub struct MarkerDetectorML(u64);
10320handle!(MarkerDetectorML);
10321#[doc = "See [XrFacialExpressionClientML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialExpressionClientML)"]
10322#[repr(transparent)]
10323#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10324pub struct FacialExpressionClientML(u64);
10325handle!(FacialExpressionClientML);
10326#[doc = "See [XrEnvironmentDepthProviderMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthProviderMETA)"]
10327#[repr(transparent)]
10328#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10329pub struct EnvironmentDepthProviderMETA(u64);
10330handle!(EnvironmentDepthProviderMETA);
10331#[doc = "See [XrEnvironmentDepthSwapchainMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthSwapchainMETA)"]
10332#[repr(transparent)]
10333#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10334pub struct EnvironmentDepthSwapchainMETA(u64);
10335handle!(EnvironmentDepthSwapchainMETA);
10336#[doc = "See [XrSpatialContextEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialContextEXT)"]
10337#[repr(transparent)]
10338#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10339pub struct SpatialContextEXT(u64);
10340handle!(SpatialContextEXT);
10341#[doc = "See [XrSpatialEntityEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityEXT)"]
10342#[repr(transparent)]
10343#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10344pub struct SpatialEntityEXT(u64);
10345handle!(SpatialEntityEXT);
10346#[doc = "See [XrSpatialSnapshotEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialSnapshotEXT)"]
10347#[repr(transparent)]
10348#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10349pub struct SpatialSnapshotEXT(u64);
10350handle!(SpatialSnapshotEXT);
10351#[doc = "See [XrSpatialPersistenceContextEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPersistenceContextEXT)"]
10352#[repr(transparent)]
10353#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10354pub struct SpatialPersistenceContextEXT(u64);
10355handle!(SpatialPersistenceContextEXT);
10356#[doc = "See [XrBodyTrackerHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackerHTC)"]
10357#[repr(transparent)]
10358#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10359pub struct BodyTrackerHTC(u64);
10360handle!(BodyTrackerHTC);
10361#[doc = "See [XrWorldMeshDetectorML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshDetectorML)"]
10362#[repr(transparent)]
10363#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10364pub struct WorldMeshDetectorML(u64);
10365handle!(WorldMeshDetectorML);
10366#[doc = "See [XrSpatialAudioRendererBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAudioRendererBD)"]
10367#[repr(transparent)]
10368#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10369pub struct SpatialAudioRendererBD(u64);
10370handle!(SpatialAudioRendererBD);
10371#[doc = "See [XrSoundFieldBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundFieldBD)"]
10372#[repr(transparent)]
10373#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10374pub struct SoundFieldBD(u64);
10375handle!(SoundFieldBD);
10376#[doc = "See [XrSoundObjectBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundObjectBD)"]
10377#[repr(transparent)]
10378#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10379pub struct SoundObjectBD(u64);
10380handle!(SoundObjectBD);
10381#[doc = "See [XrSoundObstacleBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundObstacleBD)"]
10382#[repr(transparent)]
10383#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10384pub struct SoundObstacleBD(u64);
10385handle!(SoundObstacleBD);
10386#[doc = "See [XrSoundObstacleMaterialBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundObstacleMaterialBD)"]
10387#[repr(transparent)]
10388#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10389pub struct SoundObstacleMaterialBD(u64);
10390handle!(SoundObstacleMaterialBD);
10391#[doc = "See [XrBodyTrackerBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackerBD)"]
10392#[repr(transparent)]
10393#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10394pub struct BodyTrackerBD(u64);
10395handle!(BodyTrackerBD);
10396#[doc = "See [XrRenderModelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelEXT)"]
10397#[repr(transparent)]
10398#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10399pub struct RenderModelEXT(u64);
10400handle!(RenderModelEXT);
10401#[doc = "See [XrRenderModelAssetEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelAssetEXT)"]
10402#[repr(transparent)]
10403#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10404pub struct RenderModelAssetEXT(u64);
10405handle!(RenderModelAssetEXT);
10406#[doc = "See [XrSenseDataProviderBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataProviderBD)"]
10407#[repr(transparent)]
10408#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10409pub struct SenseDataProviderBD(u64);
10410handle!(SenseDataProviderBD);
10411#[doc = "See [XrSenseDataSnapshotBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataSnapshotBD)"]
10412#[repr(transparent)]
10413#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10414pub struct SenseDataSnapshotBD(u64);
10415handle!(SenseDataSnapshotBD);
10416#[doc = "See [XrAnchorBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAnchorBD)"]
10417#[repr(transparent)]
10418#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10419pub struct AnchorBD(u64);
10420handle!(AnchorBD);
10421#[doc = "See [XrFaceTrackerBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackerBD)"]
10422#[repr(transparent)]
10423#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10424pub struct FaceTrackerBD(u64);
10425handle!(FaceTrackerBD);
10426#[doc = "See [XrEnvironmentRaycasterMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentRaycasterMETA)"]
10427#[repr(transparent)]
10428#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10429pub struct EnvironmentRaycasterMETA(u64);
10430handle!(EnvironmentRaycasterMETA);
10431#[doc = "See [XrSpatialGraphNodeBindingMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialGraphNodeBindingMSFT)"]
10432#[repr(transparent)]
10433#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10434pub struct SpatialGraphNodeBindingMSFT(u64);
10435handle!(SpatialGraphNodeBindingMSFT);
10436#[doc = "See [XrSceneObserverMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneObserverMSFT)"]
10437#[repr(transparent)]
10438#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10439pub struct SceneObserverMSFT(u64);
10440handle!(SceneObserverMSFT);
10441#[doc = "See [XrSceneMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneMSFT)"]
10442#[repr(transparent)]
10443#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10444pub struct SceneMSFT(u64);
10445handle!(SceneMSFT);
10446#[doc = "See [XrSpatialAnchorStoreConnectionMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorStoreConnectionMSFT)"]
10447#[repr(transparent)]
10448#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10449pub struct SpatialAnchorStoreConnectionMSFT(u64);
10450handle!(SpatialAnchorStoreConnectionMSFT);
10451#[doc = "See [XrTrackableImageDatabaseANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableImageDatabaseANDROID)"]
10452#[repr(transparent)]
10453#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10454pub struct TrackableImageDatabaseANDROID(u64);
10455handle!(TrackableImageDatabaseANDROID);
10456#[repr(C)]
10457#[derive(Copy, Clone, Debug, Default, PartialEq)]
10458#[doc = "See [XrVector2f](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVector2f)"]
10459pub struct Vector2f {
10460    pub x: f32,
10461    pub y: f32,
10462}
10463#[repr(C)]
10464#[derive(Copy, Clone, Debug, Default, PartialEq)]
10465#[doc = "See [XrVector3f](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVector3f)"]
10466pub struct Vector3f {
10467    pub x: f32,
10468    pub y: f32,
10469    pub z: f32,
10470}
10471#[repr(C)]
10472#[derive(Copy, Clone, Debug, Default, PartialEq)]
10473#[doc = "See [XrVector4f](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVector4f)"]
10474pub struct Vector4f {
10475    pub x: f32,
10476    pub y: f32,
10477    pub z: f32,
10478    pub w: f32,
10479}
10480#[repr(C)]
10481#[derive(Copy, Clone, Debug, Default, PartialEq)]
10482#[doc = "See [XrColor4f](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrColor4f)"]
10483pub struct Color4f {
10484    pub r: f32,
10485    pub g: f32,
10486    pub b: f32,
10487    pub a: f32,
10488}
10489#[repr(C)]
10490#[derive(Copy, Clone, Debug, Default, PartialEq)]
10491#[doc = "See [XrQuaternionf](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrQuaternionf)"]
10492pub struct Quaternionf {
10493    pub x: f32,
10494    pub y: f32,
10495    pub z: f32,
10496    pub w: f32,
10497}
10498#[repr(C)]
10499#[derive(Copy, Clone, Debug, Default, PartialEq)]
10500#[doc = "See [XrPosef](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPosef)"]
10501pub struct Posef {
10502    pub orientation: Quaternionf,
10503    pub position: Vector3f,
10504}
10505#[repr(C)]
10506#[derive(Copy, Clone, Debug, Default, PartialEq)]
10507#[doc = "See [XrOffset2Df](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrOffset2Df)"]
10508pub struct Offset2Df {
10509    pub x: f32,
10510    pub y: f32,
10511}
10512#[repr(C)]
10513#[derive(Copy, Clone, Debug, Default, PartialEq)]
10514#[doc = "See [XrExtent2Df](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExtent2Df)"]
10515pub struct Extent2Df {
10516    pub width: f32,
10517    pub height: f32,
10518}
10519#[repr(C)]
10520#[derive(Copy, Clone, Debug, Default, PartialEq)]
10521#[doc = "See [XrRect2Df](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRect2Df)"]
10522pub struct Rect2Df {
10523    pub offset: Offset2Df,
10524    pub extent: Extent2Df,
10525}
10526#[repr(C)]
10527#[derive(Copy, Clone, Debug, Default, PartialEq)]
10528#[doc = "See [XrOffset2Di](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrOffset2Di)"]
10529pub struct Offset2Di {
10530    pub x: i32,
10531    pub y: i32,
10532}
10533#[repr(C)]
10534#[derive(Copy, Clone, Debug, Default, PartialEq)]
10535#[doc = "See [XrExtent2Di](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExtent2Di)"]
10536pub struct Extent2Di {
10537    pub width: i32,
10538    pub height: i32,
10539}
10540#[repr(C)]
10541#[derive(Copy, Clone, Debug, Default, PartialEq)]
10542#[doc = "See [XrRect2Di](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRect2Di)"]
10543pub struct Rect2Di {
10544    pub offset: Offset2Di,
10545    pub extent: Extent2Di,
10546}
10547#[repr(C)]
10548#[derive(Copy, Clone, Debug, Default, PartialEq)]
10549#[doc = "See [XrNegotiateLoaderInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrNegotiateLoaderInfo)"]
10550pub struct NegotiateLoaderInfo {
10551    pub struct_type: LoaderInterfaceStructs,
10552    pub struct_version: u32,
10553    pub struct_size: usize,
10554    pub min_interface_version: u32,
10555    pub max_interface_version: u32,
10556    pub min_api_version: Version,
10557    pub max_api_version: Version,
10558}
10559#[repr(C)]
10560#[derive(Copy, Clone)]
10561#[doc = "See [XrNegotiateApiLayerRequest](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrNegotiateApiLayerRequest)"]
10562pub struct NegotiateApiLayerRequest {
10563    pub struct_type: LoaderInterfaceStructs,
10564    pub struct_version: u32,
10565    pub struct_size: usize,
10566    pub layer_interface_version: u32,
10567    pub layer_api_version: Version,
10568    pub get_instance_proc_addr: Option<pfn::GetInstanceProcAddr>,
10569    pub create_api_layer_instance: Option<pfn::CreateApiLayerInstance>,
10570}
10571#[repr(C)]
10572#[derive(Copy, Clone)]
10573#[doc = "See [XrNegotiateRuntimeRequest](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrNegotiateRuntimeRequest)"]
10574pub struct NegotiateRuntimeRequest {
10575    pub struct_type: LoaderInterfaceStructs,
10576    pub struct_version: u32,
10577    pub struct_size: usize,
10578    pub runtime_interface_version: u32,
10579    pub runtime_api_version: Version,
10580    pub get_instance_proc_addr: Option<pfn::GetInstanceProcAddr>,
10581}
10582#[repr(C)]
10583#[derive(Copy, Clone)]
10584#[doc = "See [XrApiLayerNextInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrApiLayerNextInfo)"]
10585pub struct ApiLayerNextInfo {
10586    pub struct_type: LoaderInterfaceStructs,
10587    pub struct_version: u32,
10588    pub struct_size: usize,
10589    pub layer_name: [c_char; MAX_API_LAYER_NAME_SIZE],
10590    pub next_get_instance_proc_addr: Option<pfn::GetInstanceProcAddr>,
10591    pub next_create_api_layer_instance: Option<pfn::CreateApiLayerInstance>,
10592    pub next: *mut ApiLayerNextInfo,
10593}
10594#[repr(C)]
10595#[derive(Copy, Clone)]
10596#[doc = "See [XrApiLayerCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrApiLayerCreateInfo)"]
10597pub struct ApiLayerCreateInfo {
10598    pub struct_type: LoaderInterfaceStructs,
10599    pub struct_version: u32,
10600    pub struct_size: usize,
10601    pub loader_instance: *mut c_void,
10602    pub settings_file_location: [c_char; API_LAYER_MAX_SETTINGS_PATH_SIZE],
10603    pub next_info: *mut ApiLayerNextInfo,
10604}
10605#[repr(C)]
10606#[derive(Copy, Clone, Debug)]
10607#[doc = "See [XrBaseInStructure](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBaseInStructure)"]
10608pub struct BaseInStructure {
10609    pub ty: StructureType,
10610    pub next: *const BaseInStructure,
10611}
10612#[repr(C)]
10613#[derive(Copy, Clone, Debug)]
10614#[doc = "See [XrBaseOutStructure](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBaseOutStructure)"]
10615pub struct BaseOutStructure {
10616    pub ty: StructureType,
10617    pub next: *mut BaseOutStructure,
10618}
10619#[repr(C)]
10620#[derive(Copy, Clone, Debug)]
10621#[doc = "See [XrApiLayerProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrApiLayerProperties)"]
10622pub struct ApiLayerProperties {
10623    pub ty: StructureType,
10624    pub next: *mut c_void,
10625    pub layer_name: [c_char; MAX_API_LAYER_NAME_SIZE],
10626    pub spec_version: Version,
10627    pub layer_version: u32,
10628    pub description: [c_char; MAX_API_LAYER_DESCRIPTION_SIZE],
10629}
10630impl ApiLayerProperties {
10631    pub const TYPE: StructureType = StructureType::API_LAYER_PROPERTIES;
10632    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10633    #[inline]
10634    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10635        let mut x = MaybeUninit::<Self>::uninit();
10636        unsafe {
10637            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10638                ty: Self::TYPE,
10639                next,
10640            });
10641        }
10642        x
10643    }
10644}
10645#[repr(C)]
10646#[derive(Copy, Clone, Debug)]
10647#[doc = "See [XrExtensionProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExtensionProperties)"]
10648pub struct ExtensionProperties {
10649    pub ty: StructureType,
10650    pub next: *mut c_void,
10651    pub extension_name: [c_char; MAX_EXTENSION_NAME_SIZE],
10652    pub extension_version: u32,
10653}
10654impl ExtensionProperties {
10655    pub const TYPE: StructureType = StructureType::EXTENSION_PROPERTIES;
10656    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10657    #[inline]
10658    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10659        let mut x = MaybeUninit::<Self>::uninit();
10660        unsafe {
10661            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10662                ty: Self::TYPE,
10663                next,
10664            });
10665        }
10666        x
10667    }
10668}
10669#[repr(C)]
10670#[derive(Copy, Clone, Debug)]
10671#[doc = "See [XrApplicationInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrApplicationInfo)"]
10672pub struct ApplicationInfo {
10673    pub application_name: [c_char; MAX_APPLICATION_NAME_SIZE],
10674    pub application_version: u32,
10675    pub engine_name: [c_char; MAX_ENGINE_NAME_SIZE],
10676    pub engine_version: u32,
10677    pub api_version: Version,
10678}
10679#[repr(C)]
10680#[derive(Copy, Clone, Debug)]
10681#[doc = "See [XrInstanceCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInstanceCreateInfo)"]
10682pub struct InstanceCreateInfo {
10683    pub ty: StructureType,
10684    pub next: *const c_void,
10685    pub create_flags: InstanceCreateFlags,
10686    pub application_info: ApplicationInfo,
10687    pub enabled_api_layer_count: u32,
10688    pub enabled_api_layer_names: *const *const c_char,
10689    pub enabled_extension_count: u32,
10690    pub enabled_extension_names: *const *const c_char,
10691}
10692impl InstanceCreateInfo {
10693    pub const TYPE: StructureType = StructureType::INSTANCE_CREATE_INFO;
10694}
10695#[repr(C)]
10696#[derive(Copy, Clone, Debug)]
10697#[doc = "See [XrInstanceProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInstanceProperties)"]
10698pub struct InstanceProperties {
10699    pub ty: StructureType,
10700    pub next: *mut c_void,
10701    pub runtime_version: Version,
10702    pub runtime_name: [c_char; MAX_RUNTIME_NAME_SIZE],
10703}
10704impl InstanceProperties {
10705    pub const TYPE: StructureType = StructureType::INSTANCE_PROPERTIES;
10706    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10707    #[inline]
10708    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10709        let mut x = MaybeUninit::<Self>::uninit();
10710        unsafe {
10711            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10712                ty: Self::TYPE,
10713                next,
10714            });
10715        }
10716        x
10717    }
10718}
10719#[repr(C)]
10720#[derive(Copy, Clone, Debug)]
10721#[doc = "See [XrSystemGetInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemGetInfo)"]
10722pub struct SystemGetInfo {
10723    pub ty: StructureType,
10724    pub next: *const c_void,
10725    pub form_factor: FormFactor,
10726}
10727impl SystemGetInfo {
10728    pub const TYPE: StructureType = StructureType::SYSTEM_GET_INFO;
10729}
10730#[repr(C)]
10731#[derive(Copy, Clone, Debug)]
10732#[doc = "See [XrSystemProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemProperties)"]
10733pub struct SystemProperties {
10734    pub ty: StructureType,
10735    pub next: *mut c_void,
10736    pub system_id: SystemId,
10737    pub vendor_id: u32,
10738    pub system_name: [c_char; MAX_SYSTEM_NAME_SIZE],
10739    pub graphics_properties: SystemGraphicsProperties,
10740    pub tracking_properties: SystemTrackingProperties,
10741}
10742impl SystemProperties {
10743    pub const TYPE: StructureType = StructureType::SYSTEM_PROPERTIES;
10744    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10745    #[inline]
10746    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10747        let mut x = MaybeUninit::<Self>::uninit();
10748        unsafe {
10749            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10750                ty: Self::TYPE,
10751                next,
10752            });
10753        }
10754        x
10755    }
10756}
10757#[repr(C)]
10758#[derive(Copy, Clone, Debug, Default, PartialEq)]
10759#[doc = "See [XrSystemGraphicsProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemGraphicsProperties)"]
10760pub struct SystemGraphicsProperties {
10761    pub max_swapchain_image_height: u32,
10762    pub max_swapchain_image_width: u32,
10763    pub max_layer_count: u32,
10764}
10765#[repr(C)]
10766#[derive(Copy, Clone, Debug, Default, PartialEq)]
10767#[doc = "See [XrSystemTrackingProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemTrackingProperties)"]
10768pub struct SystemTrackingProperties {
10769    pub orientation_tracking: Bool32,
10770    pub position_tracking: Bool32,
10771}
10772#[repr(C)]
10773#[derive(Copy, Clone, Debug)]
10774#[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)"]
10775#[cfg(windows)]
10776pub struct GraphicsBindingOpenGLWin32KHR {
10777    pub ty: StructureType,
10778    pub next: *const c_void,
10779    pub h_dc: HDC,
10780    pub h_glrc: HGLRC,
10781}
10782#[cfg(windows)]
10783impl GraphicsBindingOpenGLWin32KHR {
10784    pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_OPENGL_WIN32_KHR;
10785}
10786#[repr(C)]
10787#[derive(Copy, Clone, Debug)]
10788#[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)"]
10789pub struct GraphicsBindingOpenGLXlibKHR {
10790    pub ty: StructureType,
10791    pub next: *const c_void,
10792    pub x_display: *mut Display,
10793    pub visualid: u32,
10794    pub glx_fb_config: GLXFBConfig,
10795    pub glx_drawable: GLXDrawable,
10796    pub glx_context: GLXContext,
10797}
10798impl GraphicsBindingOpenGLXlibKHR {
10799    pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_OPENGL_XLIB_KHR;
10800}
10801#[repr(C)]
10802#[derive(Copy, Clone, Debug)]
10803#[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)"]
10804pub struct GraphicsBindingOpenGLXcbKHR {
10805    pub ty: StructureType,
10806    pub next: *const c_void,
10807    pub connection: *mut xcb_connection_t,
10808    pub screen_number: u32,
10809    pub fbconfigid: xcb_glx_fbconfig_t,
10810    pub visualid: xcb_visualid_t,
10811    pub glx_drawable: xcb_glx_drawable_t,
10812    pub glx_context: xcb_glx_context_t,
10813}
10814impl GraphicsBindingOpenGLXcbKHR {
10815    pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_OPENGL_XCB_KHR;
10816}
10817#[repr(C)]
10818#[derive(Copy, Clone, Debug)]
10819#[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)"]
10820pub struct GraphicsBindingOpenGLWaylandKHR {
10821    pub ty: StructureType,
10822    pub next: *const c_void,
10823    pub display: *mut wl_display,
10824}
10825impl GraphicsBindingOpenGLWaylandKHR {
10826    pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_OPENGL_WAYLAND_KHR;
10827}
10828#[repr(C)]
10829#[derive(Copy, Clone, Debug)]
10830#[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)"]
10831#[cfg(windows)]
10832pub struct GraphicsBindingD3D11KHR {
10833    pub ty: StructureType,
10834    pub next: *const c_void,
10835    pub device: *mut ID3D11Device,
10836}
10837#[cfg(windows)]
10838impl GraphicsBindingD3D11KHR {
10839    pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_D3D11_KHR;
10840}
10841#[repr(C)]
10842#[derive(Copy, Clone, Debug)]
10843#[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)"]
10844#[cfg(windows)]
10845pub struct GraphicsBindingD3D12KHR {
10846    pub ty: StructureType,
10847    pub next: *const c_void,
10848    pub device: *mut ID3D12Device,
10849    pub queue: *mut ID3D12CommandQueue,
10850}
10851#[cfg(windows)]
10852impl GraphicsBindingD3D12KHR {
10853    pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_D3D12_KHR;
10854}
10855#[repr(C)]
10856#[derive(Copy, Clone, Debug)]
10857#[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)"]
10858#[cfg(target_os = "android")]
10859pub struct GraphicsBindingOpenGLESAndroidKHR {
10860    pub ty: StructureType,
10861    pub next: *const c_void,
10862    pub display: EGLDisplay,
10863    pub config: EGLConfig,
10864    pub context: EGLContext,
10865}
10866#[cfg(target_os = "android")]
10867impl GraphicsBindingOpenGLESAndroidKHR {
10868    pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_OPENGL_ES_ANDROID_KHR;
10869}
10870#[repr(C)]
10871#[derive(Copy, Clone, Debug)]
10872#[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)"]
10873pub struct GraphicsBindingVulkanKHR {
10874    pub ty: StructureType,
10875    pub next: *const c_void,
10876    pub instance: VkInstance,
10877    pub physical_device: VkPhysicalDevice,
10878    pub device: VkDevice,
10879    pub queue_family_index: u32,
10880    pub queue_index: u32,
10881}
10882impl GraphicsBindingVulkanKHR {
10883    pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_VULKAN_KHR;
10884}
10885pub type GraphicsBindingVulkan2KHR = GraphicsBindingVulkanKHR;
10886#[repr(C)]
10887#[derive(Copy, Clone, Debug)]
10888#[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)"]
10889#[cfg(target_vendor = "apple")]
10890pub struct GraphicsBindingMetalKHR {
10891    pub ty: StructureType,
10892    pub next: *const c_void,
10893    pub command_queue: *mut c_void,
10894}
10895#[cfg(target_vendor = "apple")]
10896impl GraphicsBindingMetalKHR {
10897    pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_METAL_KHR;
10898}
10899#[repr(C)]
10900#[derive(Copy, Clone, Debug)]
10901#[doc = "See [XrSessionCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSessionCreateInfo)"]
10902pub struct SessionCreateInfo {
10903    pub ty: StructureType,
10904    pub next: *const c_void,
10905    pub create_flags: SessionCreateFlags,
10906    pub system_id: SystemId,
10907}
10908impl SessionCreateInfo {
10909    pub const TYPE: StructureType = StructureType::SESSION_CREATE_INFO;
10910}
10911#[repr(C)]
10912#[derive(Copy, Clone, Debug)]
10913#[doc = "See [XrSessionBeginInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSessionBeginInfo)"]
10914pub struct SessionBeginInfo {
10915    pub ty: StructureType,
10916    pub next: *const c_void,
10917    pub primary_view_configuration_type: ViewConfigurationType,
10918}
10919impl SessionBeginInfo {
10920    pub const TYPE: StructureType = StructureType::SESSION_BEGIN_INFO;
10921}
10922#[repr(C)]
10923#[derive(Copy, Clone, Debug)]
10924#[doc = "See [XrSwapchainCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainCreateInfo)"]
10925pub struct SwapchainCreateInfo {
10926    pub ty: StructureType,
10927    pub next: *const c_void,
10928    pub create_flags: SwapchainCreateFlags,
10929    pub usage_flags: SwapchainUsageFlags,
10930    pub format: i64,
10931    pub sample_count: u32,
10932    pub width: u32,
10933    pub height: u32,
10934    pub face_count: u32,
10935    pub array_size: u32,
10936    pub mip_count: u32,
10937}
10938impl SwapchainCreateInfo {
10939    pub const TYPE: StructureType = StructureType::SWAPCHAIN_CREATE_INFO;
10940}
10941#[repr(C)]
10942#[derive(Copy, Clone, Debug)]
10943#[doc = "See [XrSwapchainImageBaseHeader](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageBaseHeader)"]
10944pub struct SwapchainImageBaseHeader {
10945    pub ty: StructureType,
10946    pub next: *mut c_void,
10947}
10948#[repr(C)]
10949#[derive(Copy, Clone, Debug)]
10950#[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)"]
10951pub struct SwapchainImageOpenGLKHR {
10952    pub ty: StructureType,
10953    pub next: *mut c_void,
10954    pub image: u32,
10955}
10956impl SwapchainImageOpenGLKHR {
10957    pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_OPENGL_KHR;
10958    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10959    #[inline]
10960    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10961        let mut x = MaybeUninit::<Self>::uninit();
10962        unsafe {
10963            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10964                ty: Self::TYPE,
10965                next,
10966            });
10967        }
10968        x
10969    }
10970}
10971#[repr(C)]
10972#[derive(Copy, Clone, Debug)]
10973#[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)"]
10974pub struct SwapchainImageOpenGLESKHR {
10975    pub ty: StructureType,
10976    pub next: *mut c_void,
10977    pub image: u32,
10978}
10979impl SwapchainImageOpenGLESKHR {
10980    pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_OPENGL_ES_KHR;
10981    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10982    #[inline]
10983    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10984        let mut x = MaybeUninit::<Self>::uninit();
10985        unsafe {
10986            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10987                ty: Self::TYPE,
10988                next,
10989            });
10990        }
10991        x
10992    }
10993}
10994#[repr(C)]
10995#[derive(Copy, Clone, Debug)]
10996#[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)"]
10997pub struct SwapchainImageVulkanKHR {
10998    pub ty: StructureType,
10999    pub next: *mut c_void,
11000    pub image: VkImage,
11001}
11002impl SwapchainImageVulkanKHR {
11003    pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_VULKAN_KHR;
11004    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11005    #[inline]
11006    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11007        let mut x = MaybeUninit::<Self>::uninit();
11008        unsafe {
11009            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11010                ty: Self::TYPE,
11011                next,
11012            });
11013        }
11014        x
11015    }
11016}
11017pub type SwapchainImageVulkan2KHR = SwapchainImageVulkanKHR;
11018#[repr(C)]
11019#[derive(Copy, Clone, Debug)]
11020#[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)"]
11021#[cfg(windows)]
11022pub struct SwapchainImageD3D11KHR {
11023    pub ty: StructureType,
11024    pub next: *mut c_void,
11025    pub texture: *mut ID3D11Texture2D,
11026}
11027#[cfg(windows)]
11028impl SwapchainImageD3D11KHR {
11029    pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_D3D11_KHR;
11030    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11031    #[inline]
11032    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11033        let mut x = MaybeUninit::<Self>::uninit();
11034        unsafe {
11035            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11036                ty: Self::TYPE,
11037                next,
11038            });
11039        }
11040        x
11041    }
11042}
11043#[repr(C)]
11044#[derive(Copy, Clone, Debug)]
11045#[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)"]
11046#[cfg(windows)]
11047pub struct SwapchainImageD3D12KHR {
11048    pub ty: StructureType,
11049    pub next: *mut c_void,
11050    pub texture: *mut ID3D12Resource,
11051}
11052#[cfg(windows)]
11053impl SwapchainImageD3D12KHR {
11054    pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_D3D12_KHR;
11055    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11056    #[inline]
11057    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11058        let mut x = MaybeUninit::<Self>::uninit();
11059        unsafe {
11060            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11061                ty: Self::TYPE,
11062                next,
11063            });
11064        }
11065        x
11066    }
11067}
11068#[repr(C)]
11069#[derive(Copy, Clone, Debug)]
11070#[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)"]
11071#[cfg(target_vendor = "apple")]
11072pub struct SwapchainImageMetalKHR {
11073    pub ty: StructureType,
11074    pub next: *mut c_void,
11075    pub texture: *mut c_void,
11076}
11077#[cfg(target_vendor = "apple")]
11078impl SwapchainImageMetalKHR {
11079    pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_METAL_KHR;
11080    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11081    #[inline]
11082    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11083        let mut x = MaybeUninit::<Self>::uninit();
11084        unsafe {
11085            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11086                ty: Self::TYPE,
11087                next,
11088            });
11089        }
11090        x
11091    }
11092}
11093#[repr(C)]
11094#[derive(Copy, Clone, Debug)]
11095#[doc = "See [XrSwapchainImageAcquireInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageAcquireInfo)"]
11096pub struct SwapchainImageAcquireInfo {
11097    pub ty: StructureType,
11098    pub next: *const c_void,
11099}
11100impl SwapchainImageAcquireInfo {
11101    pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_ACQUIRE_INFO;
11102}
11103#[repr(C)]
11104#[derive(Copy, Clone, Debug)]
11105#[doc = "See [XrSwapchainImageWaitInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageWaitInfo)"]
11106pub struct SwapchainImageWaitInfo {
11107    pub ty: StructureType,
11108    pub next: *const c_void,
11109    pub timeout: Duration,
11110}
11111impl SwapchainImageWaitInfo {
11112    pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_WAIT_INFO;
11113}
11114#[repr(C)]
11115#[derive(Copy, Clone, Debug)]
11116#[doc = "See [XrSwapchainImageReleaseInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageReleaseInfo)"]
11117pub struct SwapchainImageReleaseInfo {
11118    pub ty: StructureType,
11119    pub next: *const c_void,
11120}
11121impl SwapchainImageReleaseInfo {
11122    pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_RELEASE_INFO;
11123}
11124#[repr(C)]
11125#[derive(Copy, Clone, Debug)]
11126#[doc = "See [XrReferenceSpaceCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrReferenceSpaceCreateInfo)"]
11127pub struct ReferenceSpaceCreateInfo {
11128    pub ty: StructureType,
11129    pub next: *const c_void,
11130    pub reference_space_type: ReferenceSpaceType,
11131    pub pose_in_reference_space: Posef,
11132}
11133impl ReferenceSpaceCreateInfo {
11134    pub const TYPE: StructureType = StructureType::REFERENCE_SPACE_CREATE_INFO;
11135}
11136#[repr(C)]
11137#[derive(Copy, Clone, Debug)]
11138#[doc = "See [XrActionSpaceCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionSpaceCreateInfo)"]
11139pub struct ActionSpaceCreateInfo {
11140    pub ty: StructureType,
11141    pub next: *const c_void,
11142    pub action: Action,
11143    pub subaction_path: Path,
11144    pub pose_in_action_space: Posef,
11145}
11146impl ActionSpaceCreateInfo {
11147    pub const TYPE: StructureType = StructureType::ACTION_SPACE_CREATE_INFO;
11148}
11149#[repr(C)]
11150#[derive(Copy, Clone, Debug)]
11151#[doc = "See [XrSpaceLocation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceLocation)"]
11152pub struct SpaceLocation {
11153    pub ty: StructureType,
11154    pub next: *mut c_void,
11155    pub location_flags: SpaceLocationFlags,
11156    pub pose: Posef,
11157}
11158impl SpaceLocation {
11159    pub const TYPE: StructureType = StructureType::SPACE_LOCATION;
11160    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11161    #[inline]
11162    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11163        let mut x = MaybeUninit::<Self>::uninit();
11164        unsafe {
11165            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11166                ty: Self::TYPE,
11167                next,
11168            });
11169        }
11170        x
11171    }
11172}
11173#[repr(C)]
11174#[derive(Copy, Clone, Debug)]
11175#[doc = "See [XrSpaceVelocity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceVelocity)"]
11176pub struct SpaceVelocity {
11177    pub ty: StructureType,
11178    pub next: *mut c_void,
11179    pub velocity_flags: SpaceVelocityFlags,
11180    pub linear_velocity: Vector3f,
11181    pub angular_velocity: Vector3f,
11182}
11183impl SpaceVelocity {
11184    pub const TYPE: StructureType = StructureType::SPACE_VELOCITY;
11185    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11186    #[inline]
11187    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11188        let mut x = MaybeUninit::<Self>::uninit();
11189        unsafe {
11190            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11191                ty: Self::TYPE,
11192                next,
11193            });
11194        }
11195        x
11196    }
11197}
11198#[repr(C)]
11199#[derive(Copy, Clone, Debug, Default, PartialEq)]
11200#[doc = "See [XrFovf](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFovf)"]
11201pub struct Fovf {
11202    pub angle_left: f32,
11203    pub angle_right: f32,
11204    pub angle_up: f32,
11205    pub angle_down: f32,
11206}
11207#[repr(C)]
11208#[derive(Copy, Clone, Debug)]
11209#[doc = "See [XrView](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrView)"]
11210pub struct View {
11211    pub ty: StructureType,
11212    pub next: *mut c_void,
11213    pub pose: Posef,
11214    pub fov: Fovf,
11215}
11216impl View {
11217    pub const TYPE: StructureType = StructureType::VIEW;
11218    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11219    #[inline]
11220    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11221        let mut x = MaybeUninit::<Self>::uninit();
11222        unsafe {
11223            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11224                ty: Self::TYPE,
11225                next,
11226            });
11227        }
11228        x
11229    }
11230}
11231#[repr(C)]
11232#[derive(Copy, Clone, Debug)]
11233#[doc = "See [XrViewLocateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewLocateInfo)"]
11234pub struct ViewLocateInfo {
11235    pub ty: StructureType,
11236    pub next: *const c_void,
11237    pub view_configuration_type: ViewConfigurationType,
11238    pub display_time: Time,
11239    pub space: Space,
11240}
11241impl ViewLocateInfo {
11242    pub const TYPE: StructureType = StructureType::VIEW_LOCATE_INFO;
11243}
11244#[repr(C)]
11245#[derive(Copy, Clone, Debug)]
11246#[doc = "See [XrViewState](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewState)"]
11247pub struct ViewState {
11248    pub ty: StructureType,
11249    pub next: *mut c_void,
11250    pub view_state_flags: ViewStateFlags,
11251}
11252impl ViewState {
11253    pub const TYPE: StructureType = StructureType::VIEW_STATE;
11254    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11255    #[inline]
11256    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11257        let mut x = MaybeUninit::<Self>::uninit();
11258        unsafe {
11259            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11260                ty: Self::TYPE,
11261                next,
11262            });
11263        }
11264        x
11265    }
11266}
11267#[repr(C)]
11268#[derive(Copy, Clone, Debug)]
11269#[doc = "See [XrViewConfigurationView](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewConfigurationView)"]
11270pub struct ViewConfigurationView {
11271    pub ty: StructureType,
11272    pub next: *mut c_void,
11273    pub recommended_image_rect_width: u32,
11274    pub max_image_rect_width: u32,
11275    pub recommended_image_rect_height: u32,
11276    pub max_image_rect_height: u32,
11277    pub recommended_swapchain_sample_count: u32,
11278    pub max_swapchain_sample_count: u32,
11279}
11280impl ViewConfigurationView {
11281    pub const TYPE: StructureType = StructureType::VIEW_CONFIGURATION_VIEW;
11282    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11283    #[inline]
11284    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11285        let mut x = MaybeUninit::<Self>::uninit();
11286        unsafe {
11287            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11288                ty: Self::TYPE,
11289                next,
11290            });
11291        }
11292        x
11293    }
11294}
11295#[repr(C)]
11296#[derive(Copy, Clone, Debug)]
11297#[doc = "See [XrSwapchainSubImage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainSubImage)"]
11298pub struct SwapchainSubImage {
11299    pub swapchain: Swapchain,
11300    pub image_rect: Rect2Di,
11301    pub image_array_index: u32,
11302}
11303#[repr(C)]
11304#[derive(Copy, Clone, Debug)]
11305#[doc = "See [XrCompositionLayerBaseHeader](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerBaseHeader)"]
11306pub struct CompositionLayerBaseHeader {
11307    pub ty: StructureType,
11308    pub next: *const c_void,
11309    pub layer_flags: CompositionLayerFlags,
11310    pub space: Space,
11311}
11312#[repr(C)]
11313#[derive(Copy, Clone, Debug)]
11314#[doc = "See [XrCompositionLayerProjectionView](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerProjectionView)"]
11315pub struct CompositionLayerProjectionView {
11316    pub ty: StructureType,
11317    pub next: *const c_void,
11318    pub pose: Posef,
11319    pub fov: Fovf,
11320    pub sub_image: SwapchainSubImage,
11321}
11322impl CompositionLayerProjectionView {
11323    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_PROJECTION_VIEW;
11324}
11325#[repr(C)]
11326#[derive(Copy, Clone, Debug)]
11327#[doc = "See [XrCompositionLayerProjection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerProjection)"]
11328pub struct CompositionLayerProjection {
11329    pub ty: StructureType,
11330    pub next: *const c_void,
11331    pub layer_flags: CompositionLayerFlags,
11332    pub space: Space,
11333    pub view_count: u32,
11334    pub views: *const CompositionLayerProjectionView,
11335}
11336impl CompositionLayerProjection {
11337    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_PROJECTION;
11338}
11339#[repr(C)]
11340#[derive(Copy, Clone, Debug)]
11341#[doc = "See [XrCompositionLayerQuad](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerQuad)"]
11342pub struct CompositionLayerQuad {
11343    pub ty: StructureType,
11344    pub next: *const c_void,
11345    pub layer_flags: CompositionLayerFlags,
11346    pub space: Space,
11347    pub eye_visibility: EyeVisibility,
11348    pub sub_image: SwapchainSubImage,
11349    pub pose: Posef,
11350    pub size: Extent2Df,
11351}
11352impl CompositionLayerQuad {
11353    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_QUAD;
11354}
11355#[repr(C)]
11356#[derive(Copy, Clone, Debug)]
11357#[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)"]
11358pub struct CompositionLayerCylinderKHR {
11359    pub ty: StructureType,
11360    pub next: *const c_void,
11361    pub layer_flags: CompositionLayerFlags,
11362    pub space: Space,
11363    pub eye_visibility: EyeVisibility,
11364    pub sub_image: SwapchainSubImage,
11365    pub pose: Posef,
11366    pub radius: f32,
11367    pub central_angle: f32,
11368    pub aspect_ratio: f32,
11369}
11370impl CompositionLayerCylinderKHR {
11371    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_CYLINDER_KHR;
11372}
11373#[repr(C)]
11374#[derive(Copy, Clone, Debug)]
11375#[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)"]
11376pub struct CompositionLayerCubeKHR {
11377    pub ty: StructureType,
11378    pub next: *const c_void,
11379    pub layer_flags: CompositionLayerFlags,
11380    pub space: Space,
11381    pub eye_visibility: EyeVisibility,
11382    pub swapchain: Swapchain,
11383    pub image_array_index: u32,
11384    pub orientation: Quaternionf,
11385}
11386impl CompositionLayerCubeKHR {
11387    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_CUBE_KHR;
11388}
11389#[repr(C)]
11390#[derive(Copy, Clone, Debug)]
11391#[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)"]
11392pub struct CompositionLayerEquirectKHR {
11393    pub ty: StructureType,
11394    pub next: *const c_void,
11395    pub layer_flags: CompositionLayerFlags,
11396    pub space: Space,
11397    pub eye_visibility: EyeVisibility,
11398    pub sub_image: SwapchainSubImage,
11399    pub pose: Posef,
11400    pub radius: f32,
11401    pub scale: Vector2f,
11402    pub bias: Vector2f,
11403}
11404impl CompositionLayerEquirectKHR {
11405    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_EQUIRECT_KHR;
11406}
11407#[repr(C)]
11408#[derive(Copy, Clone, Debug)]
11409#[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)"]
11410pub struct CompositionLayerDepthInfoKHR {
11411    pub ty: StructureType,
11412    pub next: *const c_void,
11413    pub sub_image: SwapchainSubImage,
11414    pub min_depth: f32,
11415    pub max_depth: f32,
11416    pub near_z: f32,
11417    pub far_z: f32,
11418}
11419impl CompositionLayerDepthInfoKHR {
11420    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_DEPTH_INFO_KHR;
11421}
11422#[repr(C)]
11423#[derive(Copy, Clone, Debug)]
11424#[doc = "See [XrFrameBeginInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameBeginInfo)"]
11425pub struct FrameBeginInfo {
11426    pub ty: StructureType,
11427    pub next: *const c_void,
11428}
11429impl FrameBeginInfo {
11430    pub const TYPE: StructureType = StructureType::FRAME_BEGIN_INFO;
11431}
11432#[repr(C)]
11433#[derive(Copy, Clone, Debug)]
11434#[doc = "See [XrFrameEndInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameEndInfo)"]
11435pub struct FrameEndInfo {
11436    pub ty: StructureType,
11437    pub next: *const c_void,
11438    pub display_time: Time,
11439    pub environment_blend_mode: EnvironmentBlendMode,
11440    pub layer_count: u32,
11441    pub layers: *const *const CompositionLayerBaseHeader,
11442}
11443impl FrameEndInfo {
11444    pub const TYPE: StructureType = StructureType::FRAME_END_INFO;
11445}
11446#[repr(C)]
11447#[derive(Copy, Clone, Debug)]
11448#[doc = "See [XrFrameWaitInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameWaitInfo)"]
11449pub struct FrameWaitInfo {
11450    pub ty: StructureType,
11451    pub next: *const c_void,
11452}
11453impl FrameWaitInfo {
11454    pub const TYPE: StructureType = StructureType::FRAME_WAIT_INFO;
11455}
11456#[repr(C)]
11457#[derive(Copy, Clone, Debug)]
11458#[doc = "See [XrFrameState](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameState)"]
11459pub struct FrameState {
11460    pub ty: StructureType,
11461    pub next: *mut c_void,
11462    pub predicted_display_time: Time,
11463    pub predicted_display_period: Duration,
11464    pub should_render: Bool32,
11465}
11466impl FrameState {
11467    pub const TYPE: StructureType = StructureType::FRAME_STATE;
11468    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11469    #[inline]
11470    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11471        let mut x = MaybeUninit::<Self>::uninit();
11472        unsafe {
11473            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11474                ty: Self::TYPE,
11475                next,
11476            });
11477        }
11478        x
11479    }
11480}
11481#[repr(C)]
11482#[derive(Copy, Clone, Debug)]
11483#[doc = "See [XrHapticBaseHeader](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHapticBaseHeader)"]
11484pub struct HapticBaseHeader {
11485    pub ty: StructureType,
11486    pub next: *const c_void,
11487}
11488#[repr(C)]
11489#[derive(Copy, Clone, Debug)]
11490#[doc = "See [XrHapticVibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHapticVibration)"]
11491pub struct HapticVibration {
11492    pub ty: StructureType,
11493    pub next: *const c_void,
11494    pub duration: Duration,
11495    pub frequency: f32,
11496    pub amplitude: f32,
11497}
11498impl HapticVibration {
11499    pub const TYPE: StructureType = StructureType::HAPTIC_VIBRATION;
11500}
11501#[repr(C)]
11502#[derive(Copy, Clone, Debug)]
11503#[doc = "See [XrEventDataBaseHeader](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataBaseHeader)"]
11504pub struct EventDataBaseHeader {
11505    pub ty: StructureType,
11506    pub next: *const c_void,
11507}
11508#[repr(C)]
11509#[derive(Copy, Clone, Debug)]
11510#[doc = "See [XrEventDataBuffer](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataBuffer)"]
11511pub struct EventDataBuffer {
11512    pub ty: StructureType,
11513    pub next: *const c_void,
11514    pub varying: [u8; 4000usize],
11515}
11516impl EventDataBuffer {
11517    pub const TYPE: StructureType = StructureType::EVENT_DATA_BUFFER;
11518}
11519#[repr(C)]
11520#[derive(Copy, Clone, Debug)]
11521#[doc = "See [XrEventDataEventsLost](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataEventsLost)"]
11522pub struct EventDataEventsLost {
11523    pub ty: StructureType,
11524    pub next: *const c_void,
11525    pub lost_event_count: u32,
11526}
11527impl EventDataEventsLost {
11528    pub const TYPE: StructureType = StructureType::EVENT_DATA_EVENTS_LOST;
11529}
11530#[repr(C)]
11531#[derive(Copy, Clone, Debug)]
11532#[doc = "See [XrEventDataInstanceLossPending](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataInstanceLossPending)"]
11533pub struct EventDataInstanceLossPending {
11534    pub ty: StructureType,
11535    pub next: *const c_void,
11536    pub loss_time: Time,
11537}
11538impl EventDataInstanceLossPending {
11539    pub const TYPE: StructureType = StructureType::EVENT_DATA_INSTANCE_LOSS_PENDING;
11540}
11541#[repr(C)]
11542#[derive(Copy, Clone, Debug)]
11543#[doc = "See [XrEventDataSessionStateChanged](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSessionStateChanged)"]
11544pub struct EventDataSessionStateChanged {
11545    pub ty: StructureType,
11546    pub next: *const c_void,
11547    pub session: Session,
11548    pub state: SessionState,
11549    pub time: Time,
11550}
11551impl EventDataSessionStateChanged {
11552    pub const TYPE: StructureType = StructureType::EVENT_DATA_SESSION_STATE_CHANGED;
11553}
11554#[repr(C)]
11555#[derive(Copy, Clone, Debug)]
11556#[doc = "See [XrEventDataReferenceSpaceChangePending](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataReferenceSpaceChangePending)"]
11557pub struct EventDataReferenceSpaceChangePending {
11558    pub ty: StructureType,
11559    pub next: *const c_void,
11560    pub session: Session,
11561    pub reference_space_type: ReferenceSpaceType,
11562    pub change_time: Time,
11563    pub pose_valid: Bool32,
11564    pub pose_in_previous_space: Posef,
11565}
11566impl EventDataReferenceSpaceChangePending {
11567    pub const TYPE: StructureType = StructureType::EVENT_DATA_REFERENCE_SPACE_CHANGE_PENDING;
11568}
11569#[repr(C)]
11570#[derive(Copy, Clone, Debug)]
11571#[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)"]
11572pub struct EventDataPerfSettingsEXT {
11573    pub ty: StructureType,
11574    pub next: *const c_void,
11575    pub domain: PerfSettingsDomainEXT,
11576    pub sub_domain: PerfSettingsSubDomainEXT,
11577    pub from_level: PerfSettingsNotificationLevelEXT,
11578    pub to_level: PerfSettingsNotificationLevelEXT,
11579}
11580impl EventDataPerfSettingsEXT {
11581    pub const TYPE: StructureType = StructureType::EVENT_DATA_PERF_SETTINGS_EXT;
11582}
11583#[repr(C)]
11584#[derive(Copy, Clone, Debug)]
11585#[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)"]
11586pub struct EventDataVisibilityMaskChangedKHR {
11587    pub ty: StructureType,
11588    pub next: *const c_void,
11589    pub session: Session,
11590    pub view_configuration_type: ViewConfigurationType,
11591    pub view_index: u32,
11592}
11593impl EventDataVisibilityMaskChangedKHR {
11594    pub const TYPE: StructureType = StructureType::EVENT_DATA_VISIBILITY_MASK_CHANGED_KHR;
11595}
11596#[repr(C)]
11597#[derive(Copy, Clone, Debug)]
11598#[doc = "See [XrViewConfigurationProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewConfigurationProperties)"]
11599pub struct ViewConfigurationProperties {
11600    pub ty: StructureType,
11601    pub next: *mut c_void,
11602    pub view_configuration_type: ViewConfigurationType,
11603    pub fov_mutable: Bool32,
11604}
11605impl ViewConfigurationProperties {
11606    pub const TYPE: StructureType = StructureType::VIEW_CONFIGURATION_PROPERTIES;
11607    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11608    #[inline]
11609    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11610        let mut x = MaybeUninit::<Self>::uninit();
11611        unsafe {
11612            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11613                ty: Self::TYPE,
11614                next,
11615            });
11616        }
11617        x
11618    }
11619}
11620#[repr(C)]
11621#[derive(Copy, Clone, Debug)]
11622#[doc = "See [XrActionStateBoolean](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionStateBoolean)"]
11623pub struct ActionStateBoolean {
11624    pub ty: StructureType,
11625    pub next: *mut c_void,
11626    pub current_state: Bool32,
11627    pub changed_since_last_sync: Bool32,
11628    pub last_change_time: Time,
11629    pub is_active: Bool32,
11630}
11631impl ActionStateBoolean {
11632    pub const TYPE: StructureType = StructureType::ACTION_STATE_BOOLEAN;
11633    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11634    #[inline]
11635    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11636        let mut x = MaybeUninit::<Self>::uninit();
11637        unsafe {
11638            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11639                ty: Self::TYPE,
11640                next,
11641            });
11642        }
11643        x
11644    }
11645}
11646#[repr(C)]
11647#[derive(Copy, Clone, Debug)]
11648#[doc = "See [XrActionStateFloat](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionStateFloat)"]
11649pub struct ActionStateFloat {
11650    pub ty: StructureType,
11651    pub next: *mut c_void,
11652    pub current_state: f32,
11653    pub changed_since_last_sync: Bool32,
11654    pub last_change_time: Time,
11655    pub is_active: Bool32,
11656}
11657impl ActionStateFloat {
11658    pub const TYPE: StructureType = StructureType::ACTION_STATE_FLOAT;
11659    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11660    #[inline]
11661    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11662        let mut x = MaybeUninit::<Self>::uninit();
11663        unsafe {
11664            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11665                ty: Self::TYPE,
11666                next,
11667            });
11668        }
11669        x
11670    }
11671}
11672#[repr(C)]
11673#[derive(Copy, Clone, Debug)]
11674#[doc = "See [XrActionStateVector2f](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionStateVector2f)"]
11675pub struct ActionStateVector2f {
11676    pub ty: StructureType,
11677    pub next: *mut c_void,
11678    pub current_state: Vector2f,
11679    pub changed_since_last_sync: Bool32,
11680    pub last_change_time: Time,
11681    pub is_active: Bool32,
11682}
11683impl ActionStateVector2f {
11684    pub const TYPE: StructureType = StructureType::ACTION_STATE_VECTOR2F;
11685    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11686    #[inline]
11687    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11688        let mut x = MaybeUninit::<Self>::uninit();
11689        unsafe {
11690            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11691                ty: Self::TYPE,
11692                next,
11693            });
11694        }
11695        x
11696    }
11697}
11698#[repr(C)]
11699#[derive(Copy, Clone, Debug)]
11700#[doc = "See [XrActionStatePose](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionStatePose)"]
11701pub struct ActionStatePose {
11702    pub ty: StructureType,
11703    pub next: *mut c_void,
11704    pub is_active: Bool32,
11705}
11706impl ActionStatePose {
11707    pub const TYPE: StructureType = StructureType::ACTION_STATE_POSE;
11708    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11709    #[inline]
11710    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11711        let mut x = MaybeUninit::<Self>::uninit();
11712        unsafe {
11713            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11714                ty: Self::TYPE,
11715                next,
11716            });
11717        }
11718        x
11719    }
11720}
11721#[repr(C)]
11722#[derive(Copy, Clone, Debug)]
11723#[doc = "See [XrActionStateGetInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionStateGetInfo)"]
11724pub struct ActionStateGetInfo {
11725    pub ty: StructureType,
11726    pub next: *const c_void,
11727    pub action: Action,
11728    pub subaction_path: Path,
11729}
11730impl ActionStateGetInfo {
11731    pub const TYPE: StructureType = StructureType::ACTION_STATE_GET_INFO;
11732}
11733#[repr(C)]
11734#[derive(Copy, Clone, Debug)]
11735#[doc = "See [XrHapticActionInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHapticActionInfo)"]
11736pub struct HapticActionInfo {
11737    pub ty: StructureType,
11738    pub next: *const c_void,
11739    pub action: Action,
11740    pub subaction_path: Path,
11741}
11742impl HapticActionInfo {
11743    pub const TYPE: StructureType = StructureType::HAPTIC_ACTION_INFO;
11744}
11745#[repr(C)]
11746#[derive(Copy, Clone, Debug)]
11747#[doc = "See [XrActionSetCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionSetCreateInfo)"]
11748pub struct ActionSetCreateInfo {
11749    pub ty: StructureType,
11750    pub next: *const c_void,
11751    pub action_set_name: [c_char; MAX_ACTION_SET_NAME_SIZE],
11752    pub localized_action_set_name: [c_char; MAX_LOCALIZED_ACTION_SET_NAME_SIZE],
11753    pub priority: u32,
11754}
11755impl ActionSetCreateInfo {
11756    pub const TYPE: StructureType = StructureType::ACTION_SET_CREATE_INFO;
11757}
11758#[repr(C)]
11759#[derive(Copy, Clone, Debug)]
11760#[doc = "See [XrActionSuggestedBinding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionSuggestedBinding)"]
11761pub struct ActionSuggestedBinding {
11762    pub action: Action,
11763    pub binding: Path,
11764}
11765#[repr(C)]
11766#[derive(Copy, Clone, Debug)]
11767#[doc = "See [XrInteractionProfileSuggestedBinding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInteractionProfileSuggestedBinding)"]
11768pub struct InteractionProfileSuggestedBinding {
11769    pub ty: StructureType,
11770    pub next: *const c_void,
11771    pub interaction_profile: Path,
11772    pub count_suggested_bindings: u32,
11773    pub suggested_bindings: *const ActionSuggestedBinding,
11774}
11775impl InteractionProfileSuggestedBinding {
11776    pub const TYPE: StructureType = StructureType::INTERACTION_PROFILE_SUGGESTED_BINDING;
11777}
11778#[repr(C)]
11779#[derive(Copy, Clone, Debug)]
11780#[doc = "See [XrActiveActionSet](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActiveActionSet)"]
11781pub struct ActiveActionSet {
11782    pub action_set: ActionSet,
11783    pub subaction_path: Path,
11784}
11785#[repr(C)]
11786#[derive(Copy, Clone, Debug)]
11787#[doc = "See [XrSessionActionSetsAttachInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSessionActionSetsAttachInfo)"]
11788pub struct SessionActionSetsAttachInfo {
11789    pub ty: StructureType,
11790    pub next: *const c_void,
11791    pub count_action_sets: u32,
11792    pub action_sets: *const ActionSet,
11793}
11794impl SessionActionSetsAttachInfo {
11795    pub const TYPE: StructureType = StructureType::SESSION_ACTION_SETS_ATTACH_INFO;
11796}
11797#[repr(C)]
11798#[derive(Copy, Clone, Debug)]
11799#[doc = "See [XrActionsSyncInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionsSyncInfo)"]
11800pub struct ActionsSyncInfo {
11801    pub ty: StructureType,
11802    pub next: *const c_void,
11803    pub count_active_action_sets: u32,
11804    pub active_action_sets: *const ActiveActionSet,
11805}
11806impl ActionsSyncInfo {
11807    pub const TYPE: StructureType = StructureType::ACTIONS_SYNC_INFO;
11808}
11809#[repr(C)]
11810#[derive(Copy, Clone, Debug)]
11811#[doc = "See [XrBoundSourcesForActionEnumerateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBoundSourcesForActionEnumerateInfo)"]
11812pub struct BoundSourcesForActionEnumerateInfo {
11813    pub ty: StructureType,
11814    pub next: *const c_void,
11815    pub action: Action,
11816}
11817impl BoundSourcesForActionEnumerateInfo {
11818    pub const TYPE: StructureType = StructureType::BOUND_SOURCES_FOR_ACTION_ENUMERATE_INFO;
11819}
11820#[repr(C)]
11821#[derive(Copy, Clone, Debug)]
11822#[doc = "See [XrInputSourceLocalizedNameGetInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInputSourceLocalizedNameGetInfo)"]
11823pub struct InputSourceLocalizedNameGetInfo {
11824    pub ty: StructureType,
11825    pub next: *const c_void,
11826    pub source_path: Path,
11827    pub which_components: InputSourceLocalizedNameFlags,
11828}
11829impl InputSourceLocalizedNameGetInfo {
11830    pub const TYPE: StructureType = StructureType::INPUT_SOURCE_LOCALIZED_NAME_GET_INFO;
11831}
11832#[repr(C)]
11833#[derive(Copy, Clone, Debug)]
11834#[doc = "See [XrEventDataInteractionProfileChanged](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataInteractionProfileChanged)"]
11835pub struct EventDataInteractionProfileChanged {
11836    pub ty: StructureType,
11837    pub next: *const c_void,
11838    pub session: Session,
11839}
11840impl EventDataInteractionProfileChanged {
11841    pub const TYPE: StructureType = StructureType::EVENT_DATA_INTERACTION_PROFILE_CHANGED;
11842}
11843#[repr(C)]
11844#[derive(Copy, Clone, Debug)]
11845#[doc = "See [XrInteractionProfileState](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInteractionProfileState)"]
11846pub struct InteractionProfileState {
11847    pub ty: StructureType,
11848    pub next: *mut c_void,
11849    pub interaction_profile: Path,
11850}
11851impl InteractionProfileState {
11852    pub const TYPE: StructureType = StructureType::INTERACTION_PROFILE_STATE;
11853    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11854    #[inline]
11855    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11856        let mut x = MaybeUninit::<Self>::uninit();
11857        unsafe {
11858            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11859                ty: Self::TYPE,
11860                next,
11861            });
11862        }
11863        x
11864    }
11865}
11866#[repr(C)]
11867#[derive(Copy, Clone, Debug)]
11868#[doc = "See [XrActionCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionCreateInfo)"]
11869pub struct ActionCreateInfo {
11870    pub ty: StructureType,
11871    pub next: *const c_void,
11872    pub action_name: [c_char; MAX_ACTION_NAME_SIZE],
11873    pub action_type: ActionType,
11874    pub count_subaction_paths: u32,
11875    pub subaction_paths: *const Path,
11876    pub localized_action_name: [c_char; MAX_LOCALIZED_ACTION_NAME_SIZE],
11877}
11878impl ActionCreateInfo {
11879    pub const TYPE: StructureType = StructureType::ACTION_CREATE_INFO;
11880}
11881#[repr(C)]
11882#[derive(Copy, Clone, Debug)]
11883#[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)"]
11884#[cfg(target_os = "android")]
11885pub struct InstanceCreateInfoAndroidKHR {
11886    pub ty: StructureType,
11887    pub next: *const c_void,
11888    pub application_vm: *mut c_void,
11889    pub application_activity: *mut c_void,
11890}
11891#[cfg(target_os = "android")]
11892impl InstanceCreateInfoAndroidKHR {
11893    pub const TYPE: StructureType = StructureType::INSTANCE_CREATE_INFO_ANDROID_KHR;
11894}
11895#[repr(C)]
11896#[derive(Copy, Clone, Debug)]
11897#[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)"]
11898pub struct VulkanSwapchainFormatListCreateInfoKHR {
11899    pub ty: StructureType,
11900    pub next: *const c_void,
11901    pub view_format_count: u32,
11902    pub view_formats: *const VkFormat,
11903}
11904impl VulkanSwapchainFormatListCreateInfoKHR {
11905    pub const TYPE: StructureType = StructureType::VULKAN_SWAPCHAIN_FORMAT_LIST_CREATE_INFO_KHR;
11906}
11907#[repr(C)]
11908#[derive(Copy, Clone, Debug)]
11909#[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)"]
11910pub struct DebugUtilsObjectNameInfoEXT {
11911    pub ty: StructureType,
11912    pub next: *const c_void,
11913    pub object_type: ObjectType,
11914    pub object_handle: u64,
11915    pub object_name: *const c_char,
11916}
11917impl DebugUtilsObjectNameInfoEXT {
11918    pub const TYPE: StructureType = StructureType::DEBUG_UTILS_OBJECT_NAME_INFO_EXT;
11919}
11920#[repr(C)]
11921#[derive(Copy, Clone, Debug)]
11922#[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)"]
11923pub struct DebugUtilsLabelEXT {
11924    pub ty: StructureType,
11925    pub next: *const c_void,
11926    pub label_name: *const c_char,
11927}
11928impl DebugUtilsLabelEXT {
11929    pub const TYPE: StructureType = StructureType::DEBUG_UTILS_LABEL_EXT;
11930}
11931#[repr(C)]
11932#[derive(Copy, Clone, Debug)]
11933#[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)"]
11934pub struct DebugUtilsMessengerCallbackDataEXT {
11935    pub ty: StructureType,
11936    pub next: *const c_void,
11937    pub message_id: *const c_char,
11938    pub function_name: *const c_char,
11939    pub message: *const c_char,
11940    pub object_count: u32,
11941    pub objects: *mut DebugUtilsObjectNameInfoEXT,
11942    pub session_label_count: u32,
11943    pub session_labels: *mut DebugUtilsLabelEXT,
11944}
11945impl DebugUtilsMessengerCallbackDataEXT {
11946    pub const TYPE: StructureType = StructureType::DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT;
11947}
11948#[repr(C)]
11949#[derive(Copy, Clone)]
11950#[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)"]
11951pub struct DebugUtilsMessengerCreateInfoEXT {
11952    pub ty: StructureType,
11953    pub next: *const c_void,
11954    pub message_severities: DebugUtilsMessageSeverityFlagsEXT,
11955    pub message_types: DebugUtilsMessageTypeFlagsEXT,
11956    pub user_callback: Option<pfn::DebugUtilsMessengerCallbackEXT>,
11957    pub user_data: *mut c_void,
11958}
11959impl DebugUtilsMessengerCreateInfoEXT {
11960    pub const TYPE: StructureType = StructureType::DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT;
11961}
11962#[repr(C)]
11963#[derive(Copy, Clone, Debug)]
11964#[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)"]
11965pub struct VisibilityMaskKHR {
11966    pub ty: StructureType,
11967    pub next: *mut c_void,
11968    pub vertex_capacity_input: u32,
11969    pub vertex_count_output: u32,
11970    pub vertices: *mut Vector2f,
11971    pub index_capacity_input: u32,
11972    pub index_count_output: u32,
11973    pub indices: *mut u32,
11974}
11975impl VisibilityMaskKHR {
11976    pub const TYPE: StructureType = StructureType::VISIBILITY_MASK_KHR;
11977    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11978    #[inline]
11979    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11980        let mut x = MaybeUninit::<Self>::uninit();
11981        unsafe {
11982            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11983                ty: Self::TYPE,
11984                next,
11985            });
11986        }
11987        x
11988    }
11989}
11990#[repr(C)]
11991#[derive(Copy, Clone, Debug)]
11992#[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)"]
11993pub struct GraphicsRequirementsOpenGLKHR {
11994    pub ty: StructureType,
11995    pub next: *mut c_void,
11996    pub min_api_version_supported: Version,
11997    pub max_api_version_supported: Version,
11998}
11999impl GraphicsRequirementsOpenGLKHR {
12000    pub const TYPE: StructureType = StructureType::GRAPHICS_REQUIREMENTS_OPENGL_KHR;
12001    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12002    #[inline]
12003    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12004        let mut x = MaybeUninit::<Self>::uninit();
12005        unsafe {
12006            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12007                ty: Self::TYPE,
12008                next,
12009            });
12010        }
12011        x
12012    }
12013}
12014#[repr(C)]
12015#[derive(Copy, Clone, Debug)]
12016#[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)"]
12017pub struct GraphicsRequirementsOpenGLESKHR {
12018    pub ty: StructureType,
12019    pub next: *mut c_void,
12020    pub min_api_version_supported: Version,
12021    pub max_api_version_supported: Version,
12022}
12023impl GraphicsRequirementsOpenGLESKHR {
12024    pub const TYPE: StructureType = StructureType::GRAPHICS_REQUIREMENTS_OPENGL_ES_KHR;
12025    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12026    #[inline]
12027    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12028        let mut x = MaybeUninit::<Self>::uninit();
12029        unsafe {
12030            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12031                ty: Self::TYPE,
12032                next,
12033            });
12034        }
12035        x
12036    }
12037}
12038#[repr(C)]
12039#[derive(Copy, Clone, Debug)]
12040#[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)"]
12041pub struct GraphicsRequirementsVulkanKHR {
12042    pub ty: StructureType,
12043    pub next: *mut c_void,
12044    pub min_api_version_supported: Version,
12045    pub max_api_version_supported: Version,
12046}
12047impl GraphicsRequirementsVulkanKHR {
12048    pub const TYPE: StructureType = StructureType::GRAPHICS_REQUIREMENTS_VULKAN_KHR;
12049    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12050    #[inline]
12051    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12052        let mut x = MaybeUninit::<Self>::uninit();
12053        unsafe {
12054            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12055                ty: Self::TYPE,
12056                next,
12057            });
12058        }
12059        x
12060    }
12061}
12062pub type GraphicsRequirementsVulkan2KHR = GraphicsRequirementsVulkanKHR;
12063#[repr(C)]
12064#[derive(Copy, Clone)]
12065#[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)"]
12066#[cfg(windows)]
12067pub struct GraphicsRequirementsD3D11KHR {
12068    pub ty: StructureType,
12069    pub next: *mut c_void,
12070    pub adapter_luid: LUID,
12071    pub min_feature_level: D3D_FEATURE_LEVEL,
12072}
12073#[cfg(windows)]
12074impl GraphicsRequirementsD3D11KHR {
12075    pub const TYPE: StructureType = StructureType::GRAPHICS_REQUIREMENTS_D3D11_KHR;
12076    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12077    #[inline]
12078    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12079        let mut x = MaybeUninit::<Self>::uninit();
12080        unsafe {
12081            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12082                ty: Self::TYPE,
12083                next,
12084            });
12085        }
12086        x
12087    }
12088}
12089#[repr(C)]
12090#[derive(Copy, Clone)]
12091#[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)"]
12092#[cfg(windows)]
12093pub struct GraphicsRequirementsD3D12KHR {
12094    pub ty: StructureType,
12095    pub next: *mut c_void,
12096    pub adapter_luid: LUID,
12097    pub min_feature_level: D3D_FEATURE_LEVEL,
12098}
12099#[cfg(windows)]
12100impl GraphicsRequirementsD3D12KHR {
12101    pub const TYPE: StructureType = StructureType::GRAPHICS_REQUIREMENTS_D3D12_KHR;
12102    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12103    #[inline]
12104    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12105        let mut x = MaybeUninit::<Self>::uninit();
12106        unsafe {
12107            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12108                ty: Self::TYPE,
12109                next,
12110            });
12111        }
12112        x
12113    }
12114}
12115#[repr(C)]
12116#[derive(Copy, Clone, Debug)]
12117#[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)"]
12118#[cfg(target_vendor = "apple")]
12119pub struct GraphicsRequirementsMetalKHR {
12120    pub ty: StructureType,
12121    pub next: *mut c_void,
12122    pub metal_device: *mut c_void,
12123}
12124#[cfg(target_vendor = "apple")]
12125impl GraphicsRequirementsMetalKHR {
12126    pub const TYPE: StructureType = StructureType::GRAPHICS_REQUIREMENTS_METAL_KHR;
12127    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12128    #[inline]
12129    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12130        let mut x = MaybeUninit::<Self>::uninit();
12131        unsafe {
12132            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12133                ty: Self::TYPE,
12134                next,
12135            });
12136        }
12137        x
12138    }
12139}
12140#[repr(C)]
12141#[derive(Copy, Clone)]
12142#[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)"]
12143pub struct VulkanInstanceCreateInfoKHR {
12144    pub ty: StructureType,
12145    pub next: *const c_void,
12146    pub system_id: SystemId,
12147    pub create_flags: VulkanInstanceCreateFlagsKHR,
12148    pub pfn_get_instance_proc_addr: Option<VkGetInstanceProcAddr>,
12149    pub vulkan_create_info: *const VkInstanceCreateInfo,
12150    pub vulkan_allocator: *const VkAllocationCallbacks,
12151}
12152impl VulkanInstanceCreateInfoKHR {
12153    pub const TYPE: StructureType = StructureType::VULKAN_INSTANCE_CREATE_INFO_KHR;
12154}
12155#[repr(C)]
12156#[derive(Copy, Clone)]
12157#[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)"]
12158pub struct VulkanDeviceCreateInfoKHR {
12159    pub ty: StructureType,
12160    pub next: *const c_void,
12161    pub system_id: SystemId,
12162    pub create_flags: VulkanDeviceCreateFlagsKHR,
12163    pub pfn_get_instance_proc_addr: Option<VkGetInstanceProcAddr>,
12164    pub vulkan_physical_device: VkPhysicalDevice,
12165    pub vulkan_create_info: *const VkDeviceCreateInfo,
12166    pub vulkan_allocator: *const VkAllocationCallbacks,
12167}
12168impl VulkanDeviceCreateInfoKHR {
12169    pub const TYPE: StructureType = StructureType::VULKAN_DEVICE_CREATE_INFO_KHR;
12170}
12171#[repr(C)]
12172#[derive(Copy, Clone, Debug)]
12173#[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)"]
12174pub struct VulkanGraphicsDeviceGetInfoKHR {
12175    pub ty: StructureType,
12176    pub next: *const c_void,
12177    pub system_id: SystemId,
12178    pub vulkan_instance: VkInstance,
12179}
12180impl VulkanGraphicsDeviceGetInfoKHR {
12181    pub const TYPE: StructureType = StructureType::VULKAN_GRAPHICS_DEVICE_GET_INFO_KHR;
12182}
12183#[repr(C)]
12184#[derive(Copy, Clone, Debug)]
12185#[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)"]
12186pub struct VulkanSwapchainCreateInfoMETA {
12187    pub ty: StructureType,
12188    pub next: *const c_void,
12189    pub additional_create_flags: VkImageCreateFlags,
12190    pub additional_usage_flags: VkImageUsageFlags,
12191}
12192impl VulkanSwapchainCreateInfoMETA {
12193    pub const TYPE: StructureType = StructureType::VULKAN_SWAPCHAIN_CREATE_INFO_META;
12194}
12195#[repr(C)]
12196#[derive(Copy, Clone, Debug)]
12197#[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)"]
12198pub struct SessionCreateInfoOverlayEXTX {
12199    pub ty: StructureType,
12200    pub next: *const c_void,
12201    pub create_flags: OverlaySessionCreateFlagsEXTX,
12202    pub session_layers_placement: u32,
12203}
12204impl SessionCreateInfoOverlayEXTX {
12205    pub const TYPE: StructureType = StructureType::SESSION_CREATE_INFO_OVERLAY_EXTX;
12206}
12207#[repr(C)]
12208#[derive(Copy, Clone, Debug)]
12209#[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)"]
12210pub struct EventDataMainSessionVisibilityChangedEXTX {
12211    pub ty: StructureType,
12212    pub next: *const c_void,
12213    pub visible: Bool32,
12214    pub flags: OverlayMainSessionFlagsEXTX,
12215}
12216impl EventDataMainSessionVisibilityChangedEXTX {
12217    pub const TYPE: StructureType = StructureType::EVENT_DATA_MAIN_SESSION_VISIBILITY_CHANGED_EXTX;
12218}
12219#[repr(C)]
12220#[derive(Copy, Clone, Debug)]
12221#[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)"]
12222pub struct EventDataDisplayRefreshRateChangedFB {
12223    pub ty: StructureType,
12224    pub next: *const c_void,
12225    pub from_display_refresh_rate: f32,
12226    pub to_display_refresh_rate: f32,
12227}
12228impl EventDataDisplayRefreshRateChangedFB {
12229    pub const TYPE: StructureType = StructureType::EVENT_DATA_DISPLAY_REFRESH_RATE_CHANGED_FB;
12230}
12231#[repr(C)]
12232#[derive(Copy, Clone, Debug)]
12233#[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)"]
12234pub struct ViewConfigurationDepthRangeEXT {
12235    pub ty: StructureType,
12236    pub next: *mut c_void,
12237    pub recommended_near_z: f32,
12238    pub min_near_z: f32,
12239    pub recommended_far_z: f32,
12240    pub max_far_z: f32,
12241}
12242impl ViewConfigurationDepthRangeEXT {
12243    pub const TYPE: StructureType = StructureType::VIEW_CONFIGURATION_DEPTH_RANGE_EXT;
12244    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12245    #[inline]
12246    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12247        let mut x = MaybeUninit::<Self>::uninit();
12248        unsafe {
12249            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12250                ty: Self::TYPE,
12251                next,
12252            });
12253        }
12254        x
12255    }
12256}
12257#[repr(C)]
12258#[derive(Copy, Clone, Debug)]
12259#[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)"]
12260pub struct ViewConfigurationViewFovEPIC {
12261    pub ty: StructureType,
12262    pub next: *const c_void,
12263    pub recommended_fov: Fovf,
12264    pub max_mutable_fov: Fovf,
12265}
12266impl ViewConfigurationViewFovEPIC {
12267    pub const TYPE: StructureType = StructureType::VIEW_CONFIGURATION_VIEW_FOV_EPIC;
12268}
12269#[repr(C)]
12270#[derive(Copy, Clone, Debug)]
12271#[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)"]
12272pub struct InteractionProfileDpadBindingEXT {
12273    pub ty: StructureType,
12274    pub next: *const c_void,
12275    pub binding: Path,
12276    pub action_set: ActionSet,
12277    pub force_threshold: f32,
12278    pub force_threshold_released: f32,
12279    pub center_region: f32,
12280    pub wedge_angle: f32,
12281    pub is_sticky: Bool32,
12282    pub on_haptic: *const HapticBaseHeader,
12283    pub off_haptic: *const HapticBaseHeader,
12284}
12285impl InteractionProfileDpadBindingEXT {
12286    pub const TYPE: StructureType = StructureType::INTERACTION_PROFILE_DPAD_BINDING_EXT;
12287}
12288#[repr(C)]
12289#[derive(Copy, Clone, Debug)]
12290#[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)"]
12291pub struct InteractionProfileAnalogThresholdVALVE {
12292    pub ty: StructureType,
12293    pub next: *const c_void,
12294    pub action: Action,
12295    pub binding: Path,
12296    pub on_threshold: f32,
12297    pub off_threshold: f32,
12298    pub on_haptic: *const HapticBaseHeader,
12299    pub off_haptic: *const HapticBaseHeader,
12300}
12301impl InteractionProfileAnalogThresholdVALVE {
12302    pub const TYPE: StructureType = StructureType::INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVE;
12303}
12304#[repr(C)]
12305#[derive(Copy, Clone, Debug)]
12306#[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)"]
12307pub struct BindingModificationsKHR {
12308    pub ty: StructureType,
12309    pub next: *const c_void,
12310    pub binding_modification_count: u32,
12311    pub binding_modifications: *const *const BindingModificationBaseHeaderKHR,
12312}
12313impl BindingModificationsKHR {
12314    pub const TYPE: StructureType = StructureType::BINDING_MODIFICATIONS_KHR;
12315}
12316#[repr(C)]
12317#[derive(Copy, Clone, Debug)]
12318#[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)"]
12319pub struct BindingModificationBaseHeaderKHR {
12320    pub ty: StructureType,
12321    pub next: *const c_void,
12322}
12323#[repr(C)]
12324#[derive(Copy, Clone, Debug)]
12325#[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)"]
12326pub struct SystemEyeGazeInteractionPropertiesEXT {
12327    pub ty: StructureType,
12328    pub next: *mut c_void,
12329    pub supports_eye_gaze_interaction: Bool32,
12330}
12331impl SystemEyeGazeInteractionPropertiesEXT {
12332    pub const TYPE: StructureType = StructureType::SYSTEM_EYE_GAZE_INTERACTION_PROPERTIES_EXT;
12333    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12334    #[inline]
12335    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12336        let mut x = MaybeUninit::<Self>::uninit();
12337        unsafe {
12338            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12339                ty: Self::TYPE,
12340                next,
12341            });
12342        }
12343        x
12344    }
12345}
12346#[repr(C)]
12347#[derive(Copy, Clone, Debug)]
12348#[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)"]
12349pub struct EyeGazeSampleTimeEXT {
12350    pub ty: StructureType,
12351    pub next: *mut c_void,
12352    pub time: Time,
12353}
12354impl EyeGazeSampleTimeEXT {
12355    pub const TYPE: StructureType = StructureType::EYE_GAZE_SAMPLE_TIME_EXT;
12356    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12357    #[inline]
12358    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12359        let mut x = MaybeUninit::<Self>::uninit();
12360        unsafe {
12361            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12362                ty: Self::TYPE,
12363                next,
12364            });
12365        }
12366        x
12367    }
12368}
12369#[repr(C)]
12370#[derive(Copy, Clone, Debug)]
12371#[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)"]
12372pub struct FrameSynthesisInfoEXT {
12373    pub ty: StructureType,
12374    pub next: *const c_void,
12375    pub layer_flags: FrameSynthesisInfoFlagsEXT,
12376    pub motion_vector_sub_image: SwapchainSubImage,
12377    pub motion_vector_scale: Vector4f,
12378    pub motion_vector_offset: Vector4f,
12379    pub app_space_delta_pose: Posef,
12380    pub depth_sub_image: SwapchainSubImage,
12381    pub min_depth: f32,
12382    pub max_depth: f32,
12383    pub near_z: f32,
12384    pub far_z: f32,
12385}
12386impl FrameSynthesisInfoEXT {
12387    pub const TYPE: StructureType = StructureType::FRAME_SYNTHESIS_INFO_EXT;
12388}
12389#[repr(C)]
12390#[derive(Copy, Clone, Debug)]
12391#[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)"]
12392pub struct FrameSynthesisConfigViewEXT {
12393    pub ty: StructureType,
12394    pub next: *mut c_void,
12395    pub recommended_motion_vector_image_rect_width: u32,
12396    pub recommended_motion_vector_image_rect_height: u32,
12397}
12398impl FrameSynthesisConfigViewEXT {
12399    pub const TYPE: StructureType = StructureType::FRAME_SYNTHESIS_CONFIG_VIEW_EXT;
12400    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12401    #[inline]
12402    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12403        let mut x = MaybeUninit::<Self>::uninit();
12404        unsafe {
12405            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12406                ty: Self::TYPE,
12407                next,
12408            });
12409        }
12410        x
12411    }
12412}
12413#[repr(C)]
12414#[derive(Copy, Clone, Debug)]
12415#[doc = "See [XrSpatialAnchorCreateInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorCreateInfoMSFT)"]
12416pub struct SpatialAnchorCreateInfoMSFT {
12417    pub ty: StructureType,
12418    pub next: *const c_void,
12419    pub space: Space,
12420    pub pose: Posef,
12421    pub time: Time,
12422}
12423impl SpatialAnchorCreateInfoMSFT {
12424    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_CREATE_INFO_MSFT;
12425}
12426#[repr(C)]
12427#[derive(Copy, Clone, Debug)]
12428#[doc = "See [XrSpatialAnchorSpaceCreateInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorSpaceCreateInfoMSFT)"]
12429pub struct SpatialAnchorSpaceCreateInfoMSFT {
12430    pub ty: StructureType,
12431    pub next: *const c_void,
12432    pub anchor: SpatialAnchorMSFT,
12433    pub pose_in_anchor_space: Posef,
12434}
12435impl SpatialAnchorSpaceCreateInfoMSFT {
12436    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_SPACE_CREATE_INFO_MSFT;
12437}
12438#[repr(C)]
12439#[derive(Copy, Clone, Debug)]
12440#[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)"]
12441pub struct CompositionLayerImageLayoutFB {
12442    pub ty: StructureType,
12443    pub next: *mut c_void,
12444    pub flags: CompositionLayerImageLayoutFlagsFB,
12445}
12446impl CompositionLayerImageLayoutFB {
12447    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_IMAGE_LAYOUT_FB;
12448    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12449    #[inline]
12450    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12451        let mut x = MaybeUninit::<Self>::uninit();
12452        unsafe {
12453            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12454                ty: Self::TYPE,
12455                next,
12456            });
12457        }
12458        x
12459    }
12460}
12461#[repr(C)]
12462#[derive(Copy, Clone, Debug)]
12463#[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)"]
12464pub struct CompositionLayerAlphaBlendFB {
12465    pub ty: StructureType,
12466    pub next: *mut c_void,
12467    pub src_factor_color: BlendFactorFB,
12468    pub dst_factor_color: BlendFactorFB,
12469    pub src_factor_alpha: BlendFactorFB,
12470    pub dst_factor_alpha: BlendFactorFB,
12471}
12472impl CompositionLayerAlphaBlendFB {
12473    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_ALPHA_BLEND_FB;
12474    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12475    #[inline]
12476    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12477        let mut x = MaybeUninit::<Self>::uninit();
12478        unsafe {
12479            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12480                ty: Self::TYPE,
12481                next,
12482            });
12483        }
12484        x
12485    }
12486}
12487#[repr(C)]
12488#[derive(Copy, Clone)]
12489#[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)"]
12490pub struct GraphicsBindingEGLMNDX {
12491    pub ty: StructureType,
12492    pub next: *const c_void,
12493    pub get_proc_address: Option<pfn::EglGetProcAddressMNDX>,
12494    pub display: EGLDisplay,
12495    pub config: EGLConfig,
12496    pub context: EGLContext,
12497}
12498impl GraphicsBindingEGLMNDX {
12499    pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_EGL_MNDX;
12500}
12501#[repr(C)]
12502#[derive(Copy, Clone, Debug)]
12503#[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)"]
12504pub struct SpatialGraphNodeSpaceCreateInfoMSFT {
12505    pub ty: StructureType,
12506    pub next: *const c_void,
12507    pub node_type: SpatialGraphNodeTypeMSFT,
12508    pub node_id: [u8; GUID_SIZE_MSFT],
12509    pub pose: Posef,
12510}
12511impl SpatialGraphNodeSpaceCreateInfoMSFT {
12512    pub const TYPE: StructureType = StructureType::SPATIAL_GRAPH_NODE_SPACE_CREATE_INFO_MSFT;
12513}
12514#[repr(C)]
12515#[derive(Copy, Clone, Debug)]
12516#[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)"]
12517pub struct SpatialGraphStaticNodeBindingCreateInfoMSFT {
12518    pub ty: StructureType,
12519    pub next: *const c_void,
12520    pub space: Space,
12521    pub pose_in_space: Posef,
12522    pub time: Time,
12523}
12524impl SpatialGraphStaticNodeBindingCreateInfoMSFT {
12525    pub const TYPE: StructureType =
12526        StructureType::SPATIAL_GRAPH_STATIC_NODE_BINDING_CREATE_INFO_MSFT;
12527}
12528#[repr(C)]
12529#[derive(Copy, Clone, Debug)]
12530#[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)"]
12531pub struct SpatialGraphNodeBindingPropertiesGetInfoMSFT {
12532    pub ty: StructureType,
12533    pub next: *const c_void,
12534}
12535impl SpatialGraphNodeBindingPropertiesGetInfoMSFT {
12536    pub const TYPE: StructureType =
12537        StructureType::SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_GET_INFO_MSFT;
12538}
12539#[repr(C)]
12540#[derive(Copy, Clone, Debug)]
12541#[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)"]
12542pub struct SpatialGraphNodeBindingPropertiesMSFT {
12543    pub ty: StructureType,
12544    pub next: *mut c_void,
12545    pub node_id: [u8; GUID_SIZE_MSFT],
12546    pub pose_in_node_space: Posef,
12547}
12548impl SpatialGraphNodeBindingPropertiesMSFT {
12549    pub const TYPE: StructureType = StructureType::SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_MSFT;
12550    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12551    #[inline]
12552    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12553        let mut x = MaybeUninit::<Self>::uninit();
12554        unsafe {
12555            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12556                ty: Self::TYPE,
12557                next,
12558            });
12559        }
12560        x
12561    }
12562}
12563#[repr(C)]
12564#[derive(Copy, Clone, Debug)]
12565#[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)"]
12566pub struct SystemHandTrackingPropertiesEXT {
12567    pub ty: StructureType,
12568    pub next: *mut c_void,
12569    pub supports_hand_tracking: Bool32,
12570}
12571impl SystemHandTrackingPropertiesEXT {
12572    pub const TYPE: StructureType = StructureType::SYSTEM_HAND_TRACKING_PROPERTIES_EXT;
12573    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12574    #[inline]
12575    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12576        let mut x = MaybeUninit::<Self>::uninit();
12577        unsafe {
12578            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12579                ty: Self::TYPE,
12580                next,
12581            });
12582        }
12583        x
12584    }
12585}
12586#[repr(C)]
12587#[derive(Copy, Clone, Debug)]
12588#[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)"]
12589pub struct HandTrackerCreateInfoEXT {
12590    pub ty: StructureType,
12591    pub next: *const c_void,
12592    pub hand: HandEXT,
12593    pub hand_joint_set: HandJointSetEXT,
12594}
12595impl HandTrackerCreateInfoEXT {
12596    pub const TYPE: StructureType = StructureType::HAND_TRACKER_CREATE_INFO_EXT;
12597}
12598#[repr(C)]
12599#[derive(Copy, Clone, Debug)]
12600#[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)"]
12601pub struct HandJointsLocateInfoEXT {
12602    pub ty: StructureType,
12603    pub next: *const c_void,
12604    pub base_space: Space,
12605    pub time: Time,
12606}
12607impl HandJointsLocateInfoEXT {
12608    pub const TYPE: StructureType = StructureType::HAND_JOINTS_LOCATE_INFO_EXT;
12609}
12610#[repr(C)]
12611#[derive(Copy, Clone, Debug, Default, PartialEq)]
12612#[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)"]
12613pub struct HandJointLocationEXT {
12614    pub location_flags: SpaceLocationFlags,
12615    pub pose: Posef,
12616    pub radius: f32,
12617}
12618#[repr(C)]
12619#[derive(Copy, Clone, Debug, Default, PartialEq)]
12620#[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)"]
12621pub struct HandJointVelocityEXT {
12622    pub velocity_flags: SpaceVelocityFlags,
12623    pub linear_velocity: Vector3f,
12624    pub angular_velocity: Vector3f,
12625}
12626#[repr(C)]
12627#[derive(Copy, Clone, Debug)]
12628#[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)"]
12629pub struct HandJointLocationsEXT {
12630    pub ty: StructureType,
12631    pub next: *mut c_void,
12632    pub is_active: Bool32,
12633    pub joint_count: u32,
12634    pub joint_locations: *mut HandJointLocationEXT,
12635}
12636impl HandJointLocationsEXT {
12637    pub const TYPE: StructureType = StructureType::HAND_JOINT_LOCATIONS_EXT;
12638    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12639    #[inline]
12640    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12641        let mut x = MaybeUninit::<Self>::uninit();
12642        unsafe {
12643            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12644                ty: Self::TYPE,
12645                next,
12646            });
12647        }
12648        x
12649    }
12650}
12651#[repr(C)]
12652#[derive(Copy, Clone, Debug)]
12653#[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)"]
12654pub struct HandJointVelocitiesEXT {
12655    pub ty: StructureType,
12656    pub next: *mut c_void,
12657    pub joint_count: u32,
12658    pub joint_velocities: *mut HandJointVelocityEXT,
12659}
12660impl HandJointVelocitiesEXT {
12661    pub const TYPE: StructureType = StructureType::HAND_JOINT_VELOCITIES_EXT;
12662    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12663    #[inline]
12664    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12665        let mut x = MaybeUninit::<Self>::uninit();
12666        unsafe {
12667            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12668                ty: Self::TYPE,
12669                next,
12670            });
12671        }
12672        x
12673    }
12674}
12675#[repr(C)]
12676#[derive(Copy, Clone, Debug)]
12677#[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)"]
12678pub struct SystemFaceTrackingPropertiesFB {
12679    pub ty: StructureType,
12680    pub next: *mut c_void,
12681    pub supports_face_tracking: Bool32,
12682}
12683impl SystemFaceTrackingPropertiesFB {
12684    pub const TYPE: StructureType = StructureType::SYSTEM_FACE_TRACKING_PROPERTIES_FB;
12685    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12686    #[inline]
12687    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12688        let mut x = MaybeUninit::<Self>::uninit();
12689        unsafe {
12690            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12691                ty: Self::TYPE,
12692                next,
12693            });
12694        }
12695        x
12696    }
12697}
12698#[repr(C)]
12699#[derive(Copy, Clone, Debug)]
12700#[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)"]
12701pub struct FaceTrackerCreateInfoFB {
12702    pub ty: StructureType,
12703    pub next: *const c_void,
12704    pub face_expression_set: FaceExpressionSetFB,
12705}
12706impl FaceTrackerCreateInfoFB {
12707    pub const TYPE: StructureType = StructureType::FACE_TRACKER_CREATE_INFO_FB;
12708}
12709#[repr(C)]
12710#[derive(Copy, Clone, Debug)]
12711#[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)"]
12712pub struct FaceExpressionInfoFB {
12713    pub ty: StructureType,
12714    pub next: *const c_void,
12715    pub time: Time,
12716}
12717impl FaceExpressionInfoFB {
12718    pub const TYPE: StructureType = StructureType::FACE_EXPRESSION_INFO_FB;
12719}
12720#[repr(C)]
12721#[derive(Copy, Clone, Debug, Default, PartialEq)]
12722#[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)"]
12723pub struct FaceExpressionStatusFB {
12724    pub is_valid: Bool32,
12725    pub is_eye_following_blendshapes_valid: Bool32,
12726}
12727#[repr(C)]
12728#[derive(Copy, Clone, Debug)]
12729#[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)"]
12730pub struct FaceExpressionWeightsFB {
12731    pub ty: StructureType,
12732    pub next: *mut c_void,
12733    pub weight_count: u32,
12734    pub weights: *mut f32,
12735    pub confidence_count: u32,
12736    pub confidences: *mut f32,
12737    pub status: FaceExpressionStatusFB,
12738    pub time: Time,
12739}
12740impl FaceExpressionWeightsFB {
12741    pub const TYPE: StructureType = StructureType::FACE_EXPRESSION_WEIGHTS_FB;
12742    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12743    #[inline]
12744    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12745        let mut x = MaybeUninit::<Self>::uninit();
12746        unsafe {
12747            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12748                ty: Self::TYPE,
12749                next,
12750            });
12751        }
12752        x
12753    }
12754}
12755#[repr(C)]
12756#[derive(Copy, Clone, Debug)]
12757#[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)"]
12758pub struct SystemFaceTrackingProperties2FB {
12759    pub ty: StructureType,
12760    pub next: *mut c_void,
12761    pub supports_visual_face_tracking: Bool32,
12762    pub supports_audio_face_tracking: Bool32,
12763}
12764impl SystemFaceTrackingProperties2FB {
12765    pub const TYPE: StructureType = StructureType::SYSTEM_FACE_TRACKING_PROPERTIES2_FB;
12766    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12767    #[inline]
12768    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12769        let mut x = MaybeUninit::<Self>::uninit();
12770        unsafe {
12771            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12772                ty: Self::TYPE,
12773                next,
12774            });
12775        }
12776        x
12777    }
12778}
12779#[repr(C)]
12780#[derive(Copy, Clone, Debug)]
12781#[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)"]
12782pub struct FaceTrackerCreateInfo2FB {
12783    pub ty: StructureType,
12784    pub next: *const c_void,
12785    pub face_expression_set: FaceExpressionSet2FB,
12786    pub requested_data_source_count: u32,
12787    pub requested_data_sources: *mut FaceTrackingDataSource2FB,
12788}
12789impl FaceTrackerCreateInfo2FB {
12790    pub const TYPE: StructureType = StructureType::FACE_TRACKER_CREATE_INFO2_FB;
12791}
12792#[repr(C)]
12793#[derive(Copy, Clone, Debug)]
12794#[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)"]
12795pub struct FaceExpressionInfo2FB {
12796    pub ty: StructureType,
12797    pub next: *const c_void,
12798    pub time: Time,
12799}
12800impl FaceExpressionInfo2FB {
12801    pub const TYPE: StructureType = StructureType::FACE_EXPRESSION_INFO2_FB;
12802}
12803#[repr(C)]
12804#[derive(Copy, Clone, Debug)]
12805#[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)"]
12806pub struct FaceExpressionWeights2FB {
12807    pub ty: StructureType,
12808    pub next: *mut c_void,
12809    pub weight_count: u32,
12810    pub weights: *mut f32,
12811    pub confidence_count: u32,
12812    pub confidences: *mut f32,
12813    pub is_valid: Bool32,
12814    pub is_eye_following_blendshapes_valid: Bool32,
12815    pub data_source: FaceTrackingDataSource2FB,
12816    pub time: Time,
12817}
12818impl FaceExpressionWeights2FB {
12819    pub const TYPE: StructureType = StructureType::FACE_EXPRESSION_WEIGHTS2_FB;
12820    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12821    #[inline]
12822    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12823        let mut x = MaybeUninit::<Self>::uninit();
12824        unsafe {
12825            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12826                ty: Self::TYPE,
12827                next,
12828            });
12829        }
12830        x
12831    }
12832}
12833#[repr(C)]
12834#[derive(Copy, Clone, Debug)]
12835#[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)"]
12836pub struct SystemBodyTrackingPropertiesFB {
12837    pub ty: StructureType,
12838    pub next: *mut c_void,
12839    pub supports_body_tracking: Bool32,
12840}
12841impl SystemBodyTrackingPropertiesFB {
12842    pub const TYPE: StructureType = StructureType::SYSTEM_BODY_TRACKING_PROPERTIES_FB;
12843    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12844    #[inline]
12845    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12846        let mut x = MaybeUninit::<Self>::uninit();
12847        unsafe {
12848            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12849                ty: Self::TYPE,
12850                next,
12851            });
12852        }
12853        x
12854    }
12855}
12856#[repr(C)]
12857#[derive(Copy, Clone, Debug)]
12858#[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)"]
12859pub struct BodyTrackerCreateInfoFB {
12860    pub ty: StructureType,
12861    pub next: *const c_void,
12862    pub body_joint_set: BodyJointSetFB,
12863}
12864impl BodyTrackerCreateInfoFB {
12865    pub const TYPE: StructureType = StructureType::BODY_TRACKER_CREATE_INFO_FB;
12866}
12867#[repr(C)]
12868#[derive(Copy, Clone, Debug, Default, PartialEq)]
12869#[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)"]
12870pub struct BodySkeletonJointFB {
12871    pub joint: i32,
12872    pub parent_joint: i32,
12873    pub pose: Posef,
12874}
12875#[repr(C)]
12876#[derive(Copy, Clone, Debug)]
12877#[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)"]
12878pub struct BodySkeletonFB {
12879    pub ty: StructureType,
12880    pub next: *mut c_void,
12881    pub joint_count: u32,
12882    pub joints: *mut BodySkeletonJointFB,
12883}
12884impl BodySkeletonFB {
12885    pub const TYPE: StructureType = StructureType::BODY_SKELETON_FB;
12886    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12887    #[inline]
12888    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12889        let mut x = MaybeUninit::<Self>::uninit();
12890        unsafe {
12891            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12892                ty: Self::TYPE,
12893                next,
12894            });
12895        }
12896        x
12897    }
12898}
12899#[repr(C)]
12900#[derive(Copy, Clone, Debug)]
12901#[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)"]
12902pub struct BodyJointsLocateInfoFB {
12903    pub ty: StructureType,
12904    pub next: *const c_void,
12905    pub base_space: Space,
12906    pub time: Time,
12907}
12908impl BodyJointsLocateInfoFB {
12909    pub const TYPE: StructureType = StructureType::BODY_JOINTS_LOCATE_INFO_FB;
12910}
12911#[repr(C)]
12912#[derive(Copy, Clone, Debug, Default, PartialEq)]
12913#[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)"]
12914pub struct BodyJointLocationFB {
12915    pub location_flags: SpaceLocationFlags,
12916    pub pose: Posef,
12917}
12918#[repr(C)]
12919#[derive(Copy, Clone, Debug)]
12920#[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)"]
12921pub struct BodyJointLocationsFB {
12922    pub ty: StructureType,
12923    pub next: *mut c_void,
12924    pub is_active: Bool32,
12925    pub confidence: f32,
12926    pub joint_count: u32,
12927    pub joint_locations: *mut BodyJointLocationFB,
12928    pub skeleton_changed_count: u32,
12929    pub time: Time,
12930}
12931impl BodyJointLocationsFB {
12932    pub const TYPE: StructureType = StructureType::BODY_JOINT_LOCATIONS_FB;
12933    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12934    #[inline]
12935    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12936        let mut x = MaybeUninit::<Self>::uninit();
12937        unsafe {
12938            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12939                ty: Self::TYPE,
12940                next,
12941            });
12942        }
12943        x
12944    }
12945}
12946#[repr(C)]
12947#[derive(Copy, Clone, Debug)]
12948#[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)"]
12949pub struct SystemPropertiesBodyTrackingFullBodyMETA {
12950    pub ty: StructureType,
12951    pub next: *mut c_void,
12952    pub supports_full_body_tracking: Bool32,
12953}
12954impl SystemPropertiesBodyTrackingFullBodyMETA {
12955    pub const TYPE: StructureType = StructureType::SYSTEM_PROPERTIES_BODY_TRACKING_FULL_BODY_META;
12956    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12957    #[inline]
12958    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12959        let mut x = MaybeUninit::<Self>::uninit();
12960        unsafe {
12961            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12962                ty: Self::TYPE,
12963                next,
12964            });
12965        }
12966        x
12967    }
12968}
12969#[repr(C)]
12970#[derive(Copy, Clone, Debug)]
12971#[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)"]
12972pub struct BodyTrackingCalibrationInfoMETA {
12973    pub ty: StructureType,
12974    pub next: *const c_void,
12975    pub body_height: f32,
12976}
12977impl BodyTrackingCalibrationInfoMETA {
12978    pub const TYPE: StructureType = StructureType::BODY_TRACKING_CALIBRATION_INFO_META;
12979}
12980#[repr(C)]
12981#[derive(Copy, Clone, Debug)]
12982#[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)"]
12983pub struct BodyTrackingCalibrationStatusMETA {
12984    pub ty: StructureType,
12985    pub next: *mut c_void,
12986    pub status: BodyTrackingCalibrationStateMETA,
12987}
12988impl BodyTrackingCalibrationStatusMETA {
12989    pub const TYPE: StructureType = StructureType::BODY_TRACKING_CALIBRATION_STATUS_META;
12990    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12991    #[inline]
12992    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12993        let mut x = MaybeUninit::<Self>::uninit();
12994        unsafe {
12995            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12996                ty: Self::TYPE,
12997                next,
12998            });
12999        }
13000        x
13001    }
13002}
13003#[repr(C)]
13004#[derive(Copy, Clone, Debug)]
13005#[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)"]
13006pub struct SystemPropertiesBodyTrackingCalibrationMETA {
13007    pub ty: StructureType,
13008    pub next: *mut c_void,
13009    pub supports_height_override: Bool32,
13010}
13011impl SystemPropertiesBodyTrackingCalibrationMETA {
13012    pub const TYPE: StructureType = StructureType::SYSTEM_PROPERTIES_BODY_TRACKING_CALIBRATION_META;
13013    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13014    #[inline]
13015    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13016        let mut x = MaybeUninit::<Self>::uninit();
13017        unsafe {
13018            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13019                ty: Self::TYPE,
13020                next,
13021            });
13022        }
13023        x
13024    }
13025}
13026#[repr(C)]
13027#[derive(Copy, Clone, Debug)]
13028#[doc = "See [XrBodyTrackingFidelityStatusMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackingFidelityStatusMETA) - defined by [XR_META_body_tracking_fidelity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_body_tracking_fidelity)"]
13029pub struct BodyTrackingFidelityStatusMETA {
13030    pub ty: StructureType,
13031    pub next: *mut c_void,
13032    pub fidelity: BodyTrackingFidelityMETA,
13033}
13034impl BodyTrackingFidelityStatusMETA {
13035    pub const TYPE: StructureType = StructureType::BODY_TRACKING_FIDELITY_STATUS_META;
13036    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13037    #[inline]
13038    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13039        let mut x = MaybeUninit::<Self>::uninit();
13040        unsafe {
13041            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13042                ty: Self::TYPE,
13043                next,
13044            });
13045        }
13046        x
13047    }
13048}
13049#[repr(C)]
13050#[derive(Copy, Clone, Debug)]
13051#[doc = "See [XrSystemPropertiesBodyTrackingFidelityMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemPropertiesBodyTrackingFidelityMETA) - defined by [XR_META_body_tracking_fidelity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_body_tracking_fidelity)"]
13052pub struct SystemPropertiesBodyTrackingFidelityMETA {
13053    pub ty: StructureType,
13054    pub next: *mut c_void,
13055    pub supports_body_tracking_fidelity: Bool32,
13056}
13057impl SystemPropertiesBodyTrackingFidelityMETA {
13058    pub const TYPE: StructureType = StructureType::SYSTEM_PROPERTIES_BODY_TRACKING_FIDELITY_META;
13059    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13060    #[inline]
13061    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13062        let mut x = MaybeUninit::<Self>::uninit();
13063        unsafe {
13064            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13065                ty: Self::TYPE,
13066                next,
13067            });
13068        }
13069        x
13070    }
13071}
13072#[repr(C)]
13073#[derive(Copy, Clone, Debug)]
13074#[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)"]
13075pub struct SystemEyeTrackingPropertiesFB {
13076    pub ty: StructureType,
13077    pub next: *mut c_void,
13078    pub supports_eye_tracking: Bool32,
13079}
13080impl SystemEyeTrackingPropertiesFB {
13081    pub const TYPE: StructureType = StructureType::SYSTEM_EYE_TRACKING_PROPERTIES_FB;
13082    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13083    #[inline]
13084    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13085        let mut x = MaybeUninit::<Self>::uninit();
13086        unsafe {
13087            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13088                ty: Self::TYPE,
13089                next,
13090            });
13091        }
13092        x
13093    }
13094}
13095#[repr(C)]
13096#[derive(Copy, Clone, Debug)]
13097#[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)"]
13098pub struct EyeTrackerCreateInfoFB {
13099    pub ty: StructureType,
13100    pub next: *const c_void,
13101}
13102impl EyeTrackerCreateInfoFB {
13103    pub const TYPE: StructureType = StructureType::EYE_TRACKER_CREATE_INFO_FB;
13104}
13105#[repr(C)]
13106#[derive(Copy, Clone, Debug)]
13107#[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)"]
13108pub struct EyeGazesInfoFB {
13109    pub ty: StructureType,
13110    pub next: *const c_void,
13111    pub base_space: Space,
13112    pub time: Time,
13113}
13114impl EyeGazesInfoFB {
13115    pub const TYPE: StructureType = StructureType::EYE_GAZES_INFO_FB;
13116}
13117#[repr(C)]
13118#[derive(Copy, Clone, Debug, Default, PartialEq)]
13119#[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)"]
13120pub struct EyeGazeFB {
13121    pub is_valid: Bool32,
13122    pub gaze_pose: Posef,
13123    pub gaze_confidence: f32,
13124}
13125#[repr(C)]
13126#[derive(Copy, Clone, Debug)]
13127#[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)"]
13128pub struct EyeGazesFB {
13129    pub ty: StructureType,
13130    pub next: *mut c_void,
13131    pub gaze: [EyeGazeFB; EYE_POSITION_COUNT_FB],
13132    pub time: Time,
13133}
13134impl EyeGazesFB {
13135    pub const TYPE: StructureType = StructureType::EYE_GAZES_FB;
13136    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13137    #[inline]
13138    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13139        let mut x = MaybeUninit::<Self>::uninit();
13140        unsafe {
13141            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13142                ty: Self::TYPE,
13143                next,
13144            });
13145        }
13146        x
13147    }
13148}
13149#[repr(C)]
13150#[derive(Copy, Clone, Debug)]
13151#[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)"]
13152pub struct HandJointsMotionRangeInfoEXT {
13153    pub ty: StructureType,
13154    pub next: *const c_void,
13155    pub hand_joints_motion_range: HandJointsMotionRangeEXT,
13156}
13157impl HandJointsMotionRangeInfoEXT {
13158    pub const TYPE: StructureType = StructureType::HAND_JOINTS_MOTION_RANGE_INFO_EXT;
13159}
13160#[repr(C)]
13161#[derive(Copy, Clone, Debug)]
13162#[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)"]
13163pub struct HandTrackingDataSourceInfoEXT {
13164    pub ty: StructureType,
13165    pub next: *const c_void,
13166    pub requested_data_source_count: u32,
13167    pub requested_data_sources: *mut HandTrackingDataSourceEXT,
13168}
13169impl HandTrackingDataSourceInfoEXT {
13170    pub const TYPE: StructureType = StructureType::HAND_TRACKING_DATA_SOURCE_INFO_EXT;
13171}
13172#[repr(C)]
13173#[derive(Copy, Clone, Debug)]
13174#[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)"]
13175pub struct HandTrackingDataSourceStateEXT {
13176    pub ty: StructureType,
13177    pub next: *mut c_void,
13178    pub is_active: Bool32,
13179    pub data_source: HandTrackingDataSourceEXT,
13180}
13181impl HandTrackingDataSourceStateEXT {
13182    pub const TYPE: StructureType = StructureType::HAND_TRACKING_DATA_SOURCE_STATE_EXT;
13183    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13184    #[inline]
13185    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13186        let mut x = MaybeUninit::<Self>::uninit();
13187        unsafe {
13188            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13189                ty: Self::TYPE,
13190                next,
13191            });
13192        }
13193        x
13194    }
13195}
13196#[repr(C)]
13197#[derive(Copy, Clone, Debug)]
13198#[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)"]
13199pub struct HandMeshSpaceCreateInfoMSFT {
13200    pub ty: StructureType,
13201    pub next: *const c_void,
13202    pub hand_pose_type: HandPoseTypeMSFT,
13203    pub pose_in_hand_mesh_space: Posef,
13204}
13205impl HandMeshSpaceCreateInfoMSFT {
13206    pub const TYPE: StructureType = StructureType::HAND_MESH_SPACE_CREATE_INFO_MSFT;
13207}
13208#[repr(C)]
13209#[derive(Copy, Clone, Debug)]
13210#[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)"]
13211pub struct HandMeshUpdateInfoMSFT {
13212    pub ty: StructureType,
13213    pub next: *const c_void,
13214    pub time: Time,
13215    pub hand_pose_type: HandPoseTypeMSFT,
13216}
13217impl HandMeshUpdateInfoMSFT {
13218    pub const TYPE: StructureType = StructureType::HAND_MESH_UPDATE_INFO_MSFT;
13219}
13220#[repr(C)]
13221#[derive(Copy, Clone, Debug)]
13222#[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)"]
13223pub struct HandMeshMSFT {
13224    pub ty: StructureType,
13225    pub next: *mut c_void,
13226    pub is_active: Bool32,
13227    pub index_buffer_changed: Bool32,
13228    pub vertex_buffer_changed: Bool32,
13229    pub index_buffer: HandMeshIndexBufferMSFT,
13230    pub vertex_buffer: HandMeshVertexBufferMSFT,
13231}
13232impl HandMeshMSFT {
13233    pub const TYPE: StructureType = StructureType::HAND_MESH_MSFT;
13234    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13235    #[inline]
13236    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13237        let mut x = MaybeUninit::<Self>::uninit();
13238        unsafe {
13239            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13240                ty: Self::TYPE,
13241                next,
13242            });
13243        }
13244        x
13245    }
13246}
13247#[repr(C)]
13248#[derive(Copy, Clone, Debug)]
13249#[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)"]
13250pub struct HandMeshIndexBufferMSFT {
13251    pub index_buffer_key: u32,
13252    pub index_capacity_input: u32,
13253    pub index_count_output: u32,
13254    pub indices: *mut u32,
13255}
13256#[repr(C)]
13257#[derive(Copy, Clone, Debug)]
13258#[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)"]
13259pub struct HandMeshVertexBufferMSFT {
13260    pub vertex_update_time: Time,
13261    pub vertex_capacity_input: u32,
13262    pub vertex_count_output: u32,
13263    pub vertices: *mut HandMeshVertexMSFT,
13264}
13265#[repr(C)]
13266#[derive(Copy, Clone, Debug, Default, PartialEq)]
13267#[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)"]
13268pub struct HandMeshVertexMSFT {
13269    pub position: Vector3f,
13270    pub normal: Vector3f,
13271}
13272#[repr(C)]
13273#[derive(Copy, Clone, Debug)]
13274#[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)"]
13275pub struct SystemHandTrackingMeshPropertiesMSFT {
13276    pub ty: StructureType,
13277    pub next: *mut c_void,
13278    pub supports_hand_tracking_mesh: Bool32,
13279    pub max_hand_mesh_index_count: u32,
13280    pub max_hand_mesh_vertex_count: u32,
13281}
13282impl SystemHandTrackingMeshPropertiesMSFT {
13283    pub const TYPE: StructureType = StructureType::SYSTEM_HAND_TRACKING_MESH_PROPERTIES_MSFT;
13284    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13285    #[inline]
13286    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13287        let mut x = MaybeUninit::<Self>::uninit();
13288        unsafe {
13289            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13290                ty: Self::TYPE,
13291                next,
13292            });
13293        }
13294        x
13295    }
13296}
13297#[repr(C)]
13298#[derive(Copy, Clone, Debug)]
13299#[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)"]
13300pub struct HandPoseTypeInfoMSFT {
13301    pub ty: StructureType,
13302    pub next: *const c_void,
13303    pub hand_pose_type: HandPoseTypeMSFT,
13304}
13305impl HandPoseTypeInfoMSFT {
13306    pub const TYPE: StructureType = StructureType::HAND_POSE_TYPE_INFO_MSFT;
13307}
13308#[repr(C)]
13309#[derive(Copy, Clone, Debug)]
13310#[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)"]
13311pub struct SecondaryViewConfigurationSessionBeginInfoMSFT {
13312    pub ty: StructureType,
13313    pub next: *const c_void,
13314    pub view_configuration_count: u32,
13315    pub enabled_view_configuration_types: *const ViewConfigurationType,
13316}
13317impl SecondaryViewConfigurationSessionBeginInfoMSFT {
13318    pub const TYPE: StructureType =
13319        StructureType::SECONDARY_VIEW_CONFIGURATION_SESSION_BEGIN_INFO_MSFT;
13320}
13321#[repr(C)]
13322#[derive(Copy, Clone, Debug)]
13323#[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)"]
13324pub struct SecondaryViewConfigurationStateMSFT {
13325    pub ty: StructureType,
13326    pub next: *mut c_void,
13327    pub view_configuration_type: ViewConfigurationType,
13328    pub active: Bool32,
13329}
13330impl SecondaryViewConfigurationStateMSFT {
13331    pub const TYPE: StructureType = StructureType::SECONDARY_VIEW_CONFIGURATION_STATE_MSFT;
13332    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13333    #[inline]
13334    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13335        let mut x = MaybeUninit::<Self>::uninit();
13336        unsafe {
13337            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13338                ty: Self::TYPE,
13339                next,
13340            });
13341        }
13342        x
13343    }
13344}
13345#[repr(C)]
13346#[derive(Copy, Clone, Debug)]
13347#[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)"]
13348pub struct SecondaryViewConfigurationFrameStateMSFT {
13349    pub ty: StructureType,
13350    pub next: *mut c_void,
13351    pub view_configuration_count: u32,
13352    pub view_configuration_states: *mut SecondaryViewConfigurationStateMSFT,
13353}
13354impl SecondaryViewConfigurationFrameStateMSFT {
13355    pub const TYPE: StructureType = StructureType::SECONDARY_VIEW_CONFIGURATION_FRAME_STATE_MSFT;
13356    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13357    #[inline]
13358    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13359        let mut x = MaybeUninit::<Self>::uninit();
13360        unsafe {
13361            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13362                ty: Self::TYPE,
13363                next,
13364            });
13365        }
13366        x
13367    }
13368}
13369#[repr(C)]
13370#[derive(Copy, Clone, Debug)]
13371#[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)"]
13372pub struct SecondaryViewConfigurationFrameEndInfoMSFT {
13373    pub ty: StructureType,
13374    pub next: *const c_void,
13375    pub view_configuration_count: u32,
13376    pub view_configuration_layers_info: *const SecondaryViewConfigurationLayerInfoMSFT,
13377}
13378impl SecondaryViewConfigurationFrameEndInfoMSFT {
13379    pub const TYPE: StructureType = StructureType::SECONDARY_VIEW_CONFIGURATION_FRAME_END_INFO_MSFT;
13380}
13381#[repr(C)]
13382#[derive(Copy, Clone, Debug)]
13383#[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)"]
13384pub struct SecondaryViewConfigurationLayerInfoMSFT {
13385    pub ty: StructureType,
13386    pub next: *const c_void,
13387    pub view_configuration_type: ViewConfigurationType,
13388    pub environment_blend_mode: EnvironmentBlendMode,
13389    pub layer_count: u32,
13390    pub layers: *const *const CompositionLayerBaseHeader,
13391}
13392impl SecondaryViewConfigurationLayerInfoMSFT {
13393    pub const TYPE: StructureType = StructureType::SECONDARY_VIEW_CONFIGURATION_LAYER_INFO_MSFT;
13394}
13395#[repr(C)]
13396#[derive(Copy, Clone, Debug)]
13397#[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)"]
13398pub struct SecondaryViewConfigurationSwapchainCreateInfoMSFT {
13399    pub ty: StructureType,
13400    pub next: *const c_void,
13401    pub view_configuration_type: ViewConfigurationType,
13402}
13403impl SecondaryViewConfigurationSwapchainCreateInfoMSFT {
13404    pub const TYPE: StructureType =
13405        StructureType::SECONDARY_VIEW_CONFIGURATION_SWAPCHAIN_CREATE_INFO_MSFT;
13406}
13407#[repr(C)]
13408#[derive(Copy, Clone, Debug)]
13409#[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)"]
13410#[cfg(windows)]
13411pub struct HolographicWindowAttachmentMSFT {
13412    pub ty: StructureType,
13413    pub next: *const c_void,
13414    pub holographic_space: *mut IUnknown,
13415    pub core_window: *mut IUnknown,
13416}
13417#[cfg(windows)]
13418impl HolographicWindowAttachmentMSFT {
13419    pub const TYPE: StructureType = StructureType::HOLOGRAPHIC_WINDOW_ATTACHMENT_MSFT;
13420}
13421#[repr(C)]
13422#[derive(Copy, Clone, Debug)]
13423#[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)"]
13424#[cfg(target_os = "android")]
13425pub struct AndroidSurfaceSwapchainCreateInfoFB {
13426    pub ty: StructureType,
13427    pub next: *const c_void,
13428    pub create_flags: AndroidSurfaceSwapchainFlagsFB,
13429}
13430#[cfg(target_os = "android")]
13431impl AndroidSurfaceSwapchainCreateInfoFB {
13432    pub const TYPE: StructureType = StructureType::ANDROID_SURFACE_SWAPCHAIN_CREATE_INFO_FB;
13433}
13434#[repr(C)]
13435#[derive(Copy, Clone, Debug)]
13436#[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)"]
13437pub struct SwapchainStateBaseHeaderFB {
13438    pub ty: StructureType,
13439    pub next: *mut c_void,
13440}
13441#[repr(C)]
13442#[derive(Copy, Clone, Debug)]
13443#[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)"]
13444#[cfg(target_os = "android")]
13445pub struct SwapchainStateAndroidSurfaceDimensionsFB {
13446    pub ty: StructureType,
13447    pub next: *mut c_void,
13448    pub width: u32,
13449    pub height: u32,
13450}
13451#[cfg(target_os = "android")]
13452impl SwapchainStateAndroidSurfaceDimensionsFB {
13453    pub const TYPE: StructureType = StructureType::SWAPCHAIN_STATE_ANDROID_SURFACE_DIMENSIONS_FB;
13454    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13455    #[inline]
13456    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13457        let mut x = MaybeUninit::<Self>::uninit();
13458        unsafe {
13459            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13460                ty: Self::TYPE,
13461                next,
13462            });
13463        }
13464        x
13465    }
13466}
13467#[repr(C)]
13468#[derive(Copy, Clone, Debug)]
13469#[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)"]
13470pub struct SwapchainStateSamplerOpenGLESFB {
13471    pub ty: StructureType,
13472    pub next: *mut c_void,
13473    pub min_filter: EGLenum,
13474    pub mag_filter: EGLenum,
13475    pub wrap_mode_s: EGLenum,
13476    pub wrap_mode_t: EGLenum,
13477    pub swizzle_red: EGLenum,
13478    pub swizzle_green: EGLenum,
13479    pub swizzle_blue: EGLenum,
13480    pub swizzle_alpha: EGLenum,
13481    pub max_anisotropy: f32,
13482    pub border_color: Color4f,
13483}
13484impl SwapchainStateSamplerOpenGLESFB {
13485    pub const TYPE: StructureType = StructureType::SWAPCHAIN_STATE_SAMPLER_OPENGL_ES_FB;
13486    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13487    #[inline]
13488    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13489        let mut x = MaybeUninit::<Self>::uninit();
13490        unsafe {
13491            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13492                ty: Self::TYPE,
13493                next,
13494            });
13495        }
13496        x
13497    }
13498}
13499#[repr(C)]
13500#[derive(Copy, Clone, Debug)]
13501#[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)"]
13502pub struct SwapchainStateSamplerVulkanFB {
13503    pub ty: StructureType,
13504    pub next: *mut c_void,
13505    pub min_filter: VkFilter,
13506    pub mag_filter: VkFilter,
13507    pub mipmap_mode: VkSamplerMipmapMode,
13508    pub wrap_mode_s: VkSamplerAddressMode,
13509    pub wrap_mode_t: VkSamplerAddressMode,
13510    pub swizzle_red: VkComponentSwizzle,
13511    pub swizzle_green: VkComponentSwizzle,
13512    pub swizzle_blue: VkComponentSwizzle,
13513    pub swizzle_alpha: VkComponentSwizzle,
13514    pub max_anisotropy: f32,
13515    pub border_color: Color4f,
13516}
13517impl SwapchainStateSamplerVulkanFB {
13518    pub const TYPE: StructureType = StructureType::SWAPCHAIN_STATE_SAMPLER_VULKAN_FB;
13519    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13520    #[inline]
13521    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13522        let mut x = MaybeUninit::<Self>::uninit();
13523        unsafe {
13524            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13525                ty: Self::TYPE,
13526                next,
13527            });
13528        }
13529        x
13530    }
13531}
13532#[repr(C)]
13533#[derive(Copy, Clone, Debug)]
13534#[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)"]
13535pub struct CompositionLayerSecureContentFB {
13536    pub ty: StructureType,
13537    pub next: *const c_void,
13538    pub flags: CompositionLayerSecureContentFlagsFB,
13539}
13540impl CompositionLayerSecureContentFB {
13541    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_SECURE_CONTENT_FB;
13542}
13543#[repr(C)]
13544#[derive(Copy, Clone, Debug)]
13545#[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)"]
13546pub struct LoaderInitInfoBaseHeaderKHR {
13547    pub ty: StructureType,
13548    pub next: *const c_void,
13549}
13550#[repr(C)]
13551#[derive(Copy, Clone, Debug)]
13552#[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)"]
13553#[cfg(target_os = "android")]
13554pub struct LoaderInitInfoAndroidKHR {
13555    pub ty: StructureType,
13556    pub next: *const c_void,
13557    pub application_vm: *mut c_void,
13558    pub application_context: *mut c_void,
13559}
13560#[cfg(target_os = "android")]
13561impl LoaderInitInfoAndroidKHR {
13562    pub const TYPE: StructureType = StructureType::LOADER_INIT_INFO_ANDROID_KHR;
13563}
13564#[repr(C)]
13565#[derive(Copy, Clone, Debug)]
13566#[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)"]
13567pub struct CompositionLayerEquirect2KHR {
13568    pub ty: StructureType,
13569    pub next: *const c_void,
13570    pub layer_flags: CompositionLayerFlags,
13571    pub space: Space,
13572    pub eye_visibility: EyeVisibility,
13573    pub sub_image: SwapchainSubImage,
13574    pub pose: Posef,
13575    pub radius: f32,
13576    pub central_horizontal_angle: f32,
13577    pub upper_vertical_angle: f32,
13578    pub lower_vertical_angle: f32,
13579}
13580impl CompositionLayerEquirect2KHR {
13581    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_EQUIRECT2_KHR;
13582}
13583#[repr(C)]
13584#[derive(Copy, Clone, Debug)]
13585#[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)"]
13586pub struct CompositionLayerColorScaleBiasKHR {
13587    pub ty: StructureType,
13588    pub next: *const c_void,
13589    pub color_scale: Color4f,
13590    pub color_bias: Color4f,
13591}
13592impl CompositionLayerColorScaleBiasKHR {
13593    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_COLOR_SCALE_BIAS_KHR;
13594}
13595#[repr(C)]
13596#[derive(Copy, Clone, Debug)]
13597#[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)"]
13598pub struct ControllerModelKeyStateMSFT {
13599    pub ty: StructureType,
13600    pub next: *mut c_void,
13601    pub model_key: ControllerModelKeyMSFT,
13602}
13603impl ControllerModelKeyStateMSFT {
13604    pub const TYPE: StructureType = StructureType::CONTROLLER_MODEL_KEY_STATE_MSFT;
13605    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13606    #[inline]
13607    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13608        let mut x = MaybeUninit::<Self>::uninit();
13609        unsafe {
13610            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13611                ty: Self::TYPE,
13612                next,
13613            });
13614        }
13615        x
13616    }
13617}
13618#[repr(C)]
13619#[derive(Copy, Clone, Debug)]
13620#[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)"]
13621pub struct ControllerModelNodePropertiesMSFT {
13622    pub ty: StructureType,
13623    pub next: *mut c_void,
13624    pub parent_node_name: [c_char; MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT],
13625    pub node_name: [c_char; MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT],
13626}
13627impl ControllerModelNodePropertiesMSFT {
13628    pub const TYPE: StructureType = StructureType::CONTROLLER_MODEL_NODE_PROPERTIES_MSFT;
13629    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13630    #[inline]
13631    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13632        let mut x = MaybeUninit::<Self>::uninit();
13633        unsafe {
13634            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13635                ty: Self::TYPE,
13636                next,
13637            });
13638        }
13639        x
13640    }
13641}
13642#[repr(C)]
13643#[derive(Copy, Clone, Debug)]
13644#[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)"]
13645pub struct ControllerModelPropertiesMSFT {
13646    pub ty: StructureType,
13647    pub next: *mut c_void,
13648    pub node_capacity_input: u32,
13649    pub node_count_output: u32,
13650    pub node_properties: *mut ControllerModelNodePropertiesMSFT,
13651}
13652impl ControllerModelPropertiesMSFT {
13653    pub const TYPE: StructureType = StructureType::CONTROLLER_MODEL_PROPERTIES_MSFT;
13654    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13655    #[inline]
13656    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13657        let mut x = MaybeUninit::<Self>::uninit();
13658        unsafe {
13659            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13660                ty: Self::TYPE,
13661                next,
13662            });
13663        }
13664        x
13665    }
13666}
13667#[repr(C)]
13668#[derive(Copy, Clone, Debug)]
13669#[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)"]
13670pub struct ControllerModelNodeStateMSFT {
13671    pub ty: StructureType,
13672    pub next: *mut c_void,
13673    pub node_pose: Posef,
13674}
13675impl ControllerModelNodeStateMSFT {
13676    pub const TYPE: StructureType = StructureType::CONTROLLER_MODEL_NODE_STATE_MSFT;
13677    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13678    #[inline]
13679    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13680        let mut x = MaybeUninit::<Self>::uninit();
13681        unsafe {
13682            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13683                ty: Self::TYPE,
13684                next,
13685            });
13686        }
13687        x
13688    }
13689}
13690#[repr(C)]
13691#[derive(Copy, Clone, Debug)]
13692#[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)"]
13693pub struct ControllerModelStateMSFT {
13694    pub ty: StructureType,
13695    pub next: *mut c_void,
13696    pub node_capacity_input: u32,
13697    pub node_count_output: u32,
13698    pub node_states: *mut ControllerModelNodeStateMSFT,
13699}
13700impl ControllerModelStateMSFT {
13701    pub const TYPE: StructureType = StructureType::CONTROLLER_MODEL_STATE_MSFT;
13702    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13703    #[inline]
13704    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13705        let mut x = MaybeUninit::<Self>::uninit();
13706        unsafe {
13707            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13708                ty: Self::TYPE,
13709                next,
13710            });
13711        }
13712        x
13713    }
13714}
13715#[repr(C)]
13716#[derive(Copy, Clone, Debug)]
13717#[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)"]
13718pub struct SystemColorSpacePropertiesFB {
13719    pub ty: StructureType,
13720    pub next: *mut c_void,
13721    pub color_space: ColorSpaceFB,
13722}
13723impl SystemColorSpacePropertiesFB {
13724    pub const TYPE: StructureType = StructureType::SYSTEM_COLOR_SPACE_PROPERTIES_FB;
13725    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13726    #[inline]
13727    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13728        let mut x = MaybeUninit::<Self>::uninit();
13729        unsafe {
13730            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13731                ty: Self::TYPE,
13732                next,
13733            });
13734        }
13735        x
13736    }
13737}
13738#[repr(C)]
13739#[derive(Copy, Clone, Debug)]
13740#[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)"]
13741pub struct SystemSpatialEntityPropertiesFB {
13742    pub ty: StructureType,
13743    pub next: *const c_void,
13744    pub supports_spatial_entity: Bool32,
13745}
13746impl SystemSpatialEntityPropertiesFB {
13747    pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_ENTITY_PROPERTIES_FB;
13748}
13749#[repr(C)]
13750#[derive(Copy, Clone, Debug)]
13751#[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)"]
13752pub struct SpatialAnchorCreateInfoFB {
13753    pub ty: StructureType,
13754    pub next: *const c_void,
13755    pub space: Space,
13756    pub pose_in_space: Posef,
13757    pub time: Time,
13758}
13759impl SpatialAnchorCreateInfoFB {
13760    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_CREATE_INFO_FB;
13761}
13762#[repr(C)]
13763#[derive(Copy, Clone, Debug)]
13764#[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)"]
13765pub struct SpaceComponentStatusSetInfoFB {
13766    pub ty: StructureType,
13767    pub next: *const c_void,
13768    pub component_type: SpaceComponentTypeFB,
13769    pub enabled: Bool32,
13770    pub timeout: Duration,
13771}
13772impl SpaceComponentStatusSetInfoFB {
13773    pub const TYPE: StructureType = StructureType::SPACE_COMPONENT_STATUS_SET_INFO_FB;
13774}
13775#[repr(C)]
13776#[derive(Copy, Clone, Debug)]
13777#[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)"]
13778pub struct SpaceComponentStatusFB {
13779    pub ty: StructureType,
13780    pub next: *mut c_void,
13781    pub enabled: Bool32,
13782    pub change_pending: Bool32,
13783}
13784impl SpaceComponentStatusFB {
13785    pub const TYPE: StructureType = StructureType::SPACE_COMPONENT_STATUS_FB;
13786    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13787    #[inline]
13788    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13789        let mut x = MaybeUninit::<Self>::uninit();
13790        unsafe {
13791            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13792                ty: Self::TYPE,
13793                next,
13794            });
13795        }
13796        x
13797    }
13798}
13799#[repr(C)]
13800#[derive(Copy, Clone, Debug)]
13801#[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)"]
13802pub struct EventDataSpatialAnchorCreateCompleteFB {
13803    pub ty: StructureType,
13804    pub next: *const c_void,
13805    pub request_id: AsyncRequestIdFB,
13806    pub result: Result,
13807    pub space: Space,
13808    pub uuid: UuidEXT,
13809}
13810impl EventDataSpatialAnchorCreateCompleteFB {
13811    pub const TYPE: StructureType = StructureType::EVENT_DATA_SPATIAL_ANCHOR_CREATE_COMPLETE_FB;
13812}
13813#[repr(C)]
13814#[derive(Copy, Clone, Debug)]
13815#[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)"]
13816pub struct EventDataSpaceSetStatusCompleteFB {
13817    pub ty: StructureType,
13818    pub next: *const c_void,
13819    pub request_id: AsyncRequestIdFB,
13820    pub result: Result,
13821    pub space: Space,
13822    pub uuid: UuidEXT,
13823    pub component_type: SpaceComponentTypeFB,
13824    pub enabled: Bool32,
13825}
13826impl EventDataSpaceSetStatusCompleteFB {
13827    pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_SET_STATUS_COMPLETE_FB;
13828}
13829#[repr(C)]
13830#[derive(Copy, Clone, Debug)]
13831#[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)"]
13832pub struct FoveationProfileCreateInfoFB {
13833    pub ty: StructureType,
13834    pub next: *mut c_void,
13835}
13836impl FoveationProfileCreateInfoFB {
13837    pub const TYPE: StructureType = StructureType::FOVEATION_PROFILE_CREATE_INFO_FB;
13838    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13839    #[inline]
13840    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13841        let mut x = MaybeUninit::<Self>::uninit();
13842        unsafe {
13843            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13844                ty: Self::TYPE,
13845                next,
13846            });
13847        }
13848        x
13849    }
13850}
13851#[repr(C)]
13852#[derive(Copy, Clone, Debug)]
13853#[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)"]
13854pub struct SwapchainCreateInfoFoveationFB {
13855    pub ty: StructureType,
13856    pub next: *mut c_void,
13857    pub flags: SwapchainCreateFoveationFlagsFB,
13858}
13859impl SwapchainCreateInfoFoveationFB {
13860    pub const TYPE: StructureType = StructureType::SWAPCHAIN_CREATE_INFO_FOVEATION_FB;
13861    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13862    #[inline]
13863    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13864        let mut x = MaybeUninit::<Self>::uninit();
13865        unsafe {
13866            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13867                ty: Self::TYPE,
13868                next,
13869            });
13870        }
13871        x
13872    }
13873}
13874#[repr(C)]
13875#[derive(Copy, Clone, Debug)]
13876#[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)"]
13877pub struct SwapchainStateFoveationFB {
13878    pub ty: StructureType,
13879    pub next: *mut c_void,
13880    pub flags: SwapchainStateFoveationFlagsFB,
13881    pub profile: FoveationProfileFB,
13882}
13883impl SwapchainStateFoveationFB {
13884    pub const TYPE: StructureType = StructureType::SWAPCHAIN_STATE_FOVEATION_FB;
13885    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13886    #[inline]
13887    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13888        let mut x = MaybeUninit::<Self>::uninit();
13889        unsafe {
13890            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13891                ty: Self::TYPE,
13892                next,
13893            });
13894        }
13895        x
13896    }
13897}
13898#[repr(C)]
13899#[derive(Copy, Clone, Debug)]
13900#[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)"]
13901pub struct SwapchainImageFoveationVulkanFB {
13902    pub ty: StructureType,
13903    pub next: *mut c_void,
13904    pub image: VkImage,
13905    pub width: u32,
13906    pub height: u32,
13907}
13908impl SwapchainImageFoveationVulkanFB {
13909    pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_FOVEATION_VULKAN_FB;
13910    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13911    #[inline]
13912    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13913        let mut x = MaybeUninit::<Self>::uninit();
13914        unsafe {
13915            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13916                ty: Self::TYPE,
13917                next,
13918            });
13919        }
13920        x
13921    }
13922}
13923#[repr(C)]
13924#[derive(Copy, Clone, Debug)]
13925#[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)"]
13926pub struct FoveationLevelProfileCreateInfoFB {
13927    pub ty: StructureType,
13928    pub next: *mut c_void,
13929    pub level: FoveationLevelFB,
13930    pub vertical_offset: f32,
13931    pub dynamic: FoveationDynamicFB,
13932}
13933impl FoveationLevelProfileCreateInfoFB {
13934    pub const TYPE: StructureType = StructureType::FOVEATION_LEVEL_PROFILE_CREATE_INFO_FB;
13935    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13936    #[inline]
13937    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13938        let mut x = MaybeUninit::<Self>::uninit();
13939        unsafe {
13940            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13941                ty: Self::TYPE,
13942                next,
13943            });
13944        }
13945        x
13946    }
13947}
13948#[repr(C)]
13949#[derive(Copy, Clone, Debug)]
13950#[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)"]
13951pub struct FoveationEyeTrackedProfileCreateInfoMETA {
13952    pub ty: StructureType,
13953    pub next: *const c_void,
13954    pub flags: FoveationEyeTrackedProfileCreateFlagsMETA,
13955}
13956impl FoveationEyeTrackedProfileCreateInfoMETA {
13957    pub const TYPE: StructureType = StructureType::FOVEATION_EYE_TRACKED_PROFILE_CREATE_INFO_META;
13958}
13959#[repr(C)]
13960#[derive(Copy, Clone, Debug)]
13961#[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)"]
13962pub struct FoveationEyeTrackedStateMETA {
13963    pub ty: StructureType,
13964    pub next: *mut c_void,
13965    pub foveation_center: [Vector2f; FOVEATION_CENTER_SIZE_META],
13966    pub flags: FoveationEyeTrackedStateFlagsMETA,
13967}
13968impl FoveationEyeTrackedStateMETA {
13969    pub const TYPE: StructureType = StructureType::FOVEATION_EYE_TRACKED_STATE_META;
13970    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13971    #[inline]
13972    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13973        let mut x = MaybeUninit::<Self>::uninit();
13974        unsafe {
13975            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13976                ty: Self::TYPE,
13977                next,
13978            });
13979        }
13980        x
13981    }
13982}
13983#[repr(C)]
13984#[derive(Copy, Clone, Debug)]
13985#[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)"]
13986pub struct SystemFoveationEyeTrackedPropertiesMETA {
13987    pub ty: StructureType,
13988    pub next: *mut c_void,
13989    pub supports_foveation_eye_tracked: Bool32,
13990}
13991impl SystemFoveationEyeTrackedPropertiesMETA {
13992    pub const TYPE: StructureType = StructureType::SYSTEM_FOVEATION_EYE_TRACKED_PROPERTIES_META;
13993    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13994    #[inline]
13995    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13996        let mut x = MaybeUninit::<Self>::uninit();
13997        unsafe {
13998            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13999                ty: Self::TYPE,
14000                next,
14001            });
14002        }
14003        x
14004    }
14005}
14006#[repr(C)]
14007#[derive(Copy, Clone, Debug, Default, PartialEq)]
14008#[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)"]
14009pub struct Vector4sFB {
14010    pub x: i16,
14011    pub y: i16,
14012    pub z: i16,
14013    pub w: i16,
14014}
14015#[repr(C)]
14016#[derive(Copy, Clone, Debug)]
14017#[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)"]
14018pub struct HandTrackingMeshFB {
14019    pub ty: StructureType,
14020    pub next: *mut c_void,
14021    pub joint_capacity_input: u32,
14022    pub joint_count_output: u32,
14023    pub joint_bind_poses: *mut Posef,
14024    pub joint_radii: *mut f32,
14025    pub joint_parents: *mut HandJointEXT,
14026    pub vertex_capacity_input: u32,
14027    pub vertex_count_output: u32,
14028    pub vertex_positions: *mut Vector3f,
14029    pub vertex_normals: *mut Vector3f,
14030    pub vertex_u_vs: *mut Vector2f,
14031    pub vertex_blend_indices: *mut Vector4sFB,
14032    pub vertex_blend_weights: *mut Vector4f,
14033    pub index_capacity_input: u32,
14034    pub index_count_output: u32,
14035    pub indices: *mut i16,
14036}
14037impl HandTrackingMeshFB {
14038    pub const TYPE: StructureType = StructureType::HAND_TRACKING_MESH_FB;
14039    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14040    #[inline]
14041    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14042        let mut x = MaybeUninit::<Self>::uninit();
14043        unsafe {
14044            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14045                ty: Self::TYPE,
14046                next,
14047            });
14048        }
14049        x
14050    }
14051}
14052#[repr(C)]
14053#[derive(Copy, Clone, Debug)]
14054#[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)"]
14055pub struct HandTrackingScaleFB {
14056    pub ty: StructureType,
14057    pub next: *mut c_void,
14058    pub sensor_output: f32,
14059    pub current_output: f32,
14060    pub override_hand_scale: Bool32,
14061    pub override_value_input: f32,
14062}
14063impl HandTrackingScaleFB {
14064    pub const TYPE: StructureType = StructureType::HAND_TRACKING_SCALE_FB;
14065    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14066    #[inline]
14067    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14068        let mut x = MaybeUninit::<Self>::uninit();
14069        unsafe {
14070            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14071                ty: Self::TYPE,
14072                next,
14073            });
14074        }
14075        x
14076    }
14077}
14078#[repr(C)]
14079#[derive(Copy, Clone, Debug)]
14080#[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)"]
14081pub struct HandTrackingAimStateFB {
14082    pub ty: StructureType,
14083    pub next: *mut c_void,
14084    pub status: HandTrackingAimFlagsFB,
14085    pub aim_pose: Posef,
14086    pub pinch_strength_index: f32,
14087    pub pinch_strength_middle: f32,
14088    pub pinch_strength_ring: f32,
14089    pub pinch_strength_little: f32,
14090}
14091impl HandTrackingAimStateFB {
14092    pub const TYPE: StructureType = StructureType::HAND_TRACKING_AIM_STATE_FB;
14093    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14094    #[inline]
14095    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14096        let mut x = MaybeUninit::<Self>::uninit();
14097        unsafe {
14098            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14099                ty: Self::TYPE,
14100                next,
14101            });
14102        }
14103        x
14104    }
14105}
14106#[repr(C)]
14107#[derive(Copy, Clone, Debug)]
14108#[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)"]
14109pub struct HandCapsuleFB {
14110    pub points: [Vector3f; HAND_TRACKING_CAPSULE_POINT_COUNT_FB],
14111    pub radius: f32,
14112    pub joint: HandJointEXT,
14113}
14114#[repr(C)]
14115#[derive(Copy, Clone, Debug)]
14116#[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)"]
14117pub struct HandTrackingCapsulesStateFB {
14118    pub ty: StructureType,
14119    pub next: *mut c_void,
14120    pub capsules: [HandCapsuleFB; HAND_TRACKING_CAPSULE_COUNT_FB],
14121}
14122impl HandTrackingCapsulesStateFB {
14123    pub const TYPE: StructureType = StructureType::HAND_TRACKING_CAPSULES_STATE_FB;
14124    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14125    #[inline]
14126    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14127        let mut x = MaybeUninit::<Self>::uninit();
14128        unsafe {
14129            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14130                ty: Self::TYPE,
14131                next,
14132            });
14133        }
14134        x
14135    }
14136}
14137#[repr(C)]
14138#[derive(Copy, Clone, Debug)]
14139#[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)"]
14140pub struct RenderModelPathInfoFB {
14141    pub ty: StructureType,
14142    pub next: *mut c_void,
14143    pub path: Path,
14144}
14145impl RenderModelPathInfoFB {
14146    pub const TYPE: StructureType = StructureType::RENDER_MODEL_PATH_INFO_FB;
14147    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14148    #[inline]
14149    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14150        let mut x = MaybeUninit::<Self>::uninit();
14151        unsafe {
14152            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14153                ty: Self::TYPE,
14154                next,
14155            });
14156        }
14157        x
14158    }
14159}
14160#[repr(C)]
14161#[derive(Copy, Clone, Debug)]
14162#[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)"]
14163pub struct RenderModelPropertiesFB {
14164    pub ty: StructureType,
14165    pub next: *mut c_void,
14166    pub vendor_id: u32,
14167    pub model_name: [c_char; MAX_RENDER_MODEL_NAME_SIZE_FB],
14168    pub model_key: RenderModelKeyFB,
14169    pub model_version: u32,
14170    pub flags: RenderModelFlagsFB,
14171}
14172impl RenderModelPropertiesFB {
14173    pub const TYPE: StructureType = StructureType::RENDER_MODEL_PROPERTIES_FB;
14174    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14175    #[inline]
14176    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14177        let mut x = MaybeUninit::<Self>::uninit();
14178        unsafe {
14179            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14180                ty: Self::TYPE,
14181                next,
14182            });
14183        }
14184        x
14185    }
14186}
14187#[repr(C)]
14188#[derive(Copy, Clone, Debug)]
14189#[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)"]
14190pub struct RenderModelCapabilitiesRequestFB {
14191    pub ty: StructureType,
14192    pub next: *mut c_void,
14193    pub flags: RenderModelFlagsFB,
14194}
14195impl RenderModelCapabilitiesRequestFB {
14196    pub const TYPE: StructureType = StructureType::RENDER_MODEL_CAPABILITIES_REQUEST_FB;
14197    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14198    #[inline]
14199    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14200        let mut x = MaybeUninit::<Self>::uninit();
14201        unsafe {
14202            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14203                ty: Self::TYPE,
14204                next,
14205            });
14206        }
14207        x
14208    }
14209}
14210#[repr(C)]
14211#[derive(Copy, Clone, Debug)]
14212#[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)"]
14213pub struct RenderModelBufferFB {
14214    pub ty: StructureType,
14215    pub next: *mut c_void,
14216    pub buffer_capacity_input: u32,
14217    pub buffer_count_output: u32,
14218    pub buffer: *mut u8,
14219}
14220impl RenderModelBufferFB {
14221    pub const TYPE: StructureType = StructureType::RENDER_MODEL_BUFFER_FB;
14222    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14223    #[inline]
14224    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14225        let mut x = MaybeUninit::<Self>::uninit();
14226        unsafe {
14227            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14228                ty: Self::TYPE,
14229                next,
14230            });
14231        }
14232        x
14233    }
14234}
14235#[repr(C)]
14236#[derive(Copy, Clone, Debug)]
14237#[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)"]
14238pub struct RenderModelLoadInfoFB {
14239    pub ty: StructureType,
14240    pub next: *mut c_void,
14241    pub model_key: RenderModelKeyFB,
14242}
14243impl RenderModelLoadInfoFB {
14244    pub const TYPE: StructureType = StructureType::RENDER_MODEL_LOAD_INFO_FB;
14245    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14246    #[inline]
14247    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14248        let mut x = MaybeUninit::<Self>::uninit();
14249        unsafe {
14250            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14251                ty: Self::TYPE,
14252                next,
14253            });
14254        }
14255        x
14256    }
14257}
14258#[repr(C)]
14259#[derive(Copy, Clone, Debug)]
14260#[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)"]
14261pub struct SystemRenderModelPropertiesFB {
14262    pub ty: StructureType,
14263    pub next: *mut c_void,
14264    pub supports_render_model_loading: Bool32,
14265}
14266impl SystemRenderModelPropertiesFB {
14267    pub const TYPE: StructureType = StructureType::SYSTEM_RENDER_MODEL_PROPERTIES_FB;
14268    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14269    #[inline]
14270    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14271        let mut x = MaybeUninit::<Self>::uninit();
14272        unsafe {
14273            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14274                ty: Self::TYPE,
14275                next,
14276            });
14277        }
14278        x
14279    }
14280}
14281#[repr(C)]
14282#[derive(Copy, Clone, Debug)]
14283#[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)"]
14284pub struct SpaceQueryInfoBaseHeaderFB {
14285    pub ty: StructureType,
14286    pub next: *const c_void,
14287}
14288#[repr(C)]
14289#[derive(Copy, Clone, Debug)]
14290#[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)"]
14291pub struct SpaceFilterInfoBaseHeaderFB {
14292    pub ty: StructureType,
14293    pub next: *const c_void,
14294}
14295#[repr(C)]
14296#[derive(Copy, Clone, Debug)]
14297#[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)"]
14298pub struct SpaceQueryInfoFB {
14299    pub ty: StructureType,
14300    pub next: *const c_void,
14301    pub query_action: SpaceQueryActionFB,
14302    pub max_result_count: u32,
14303    pub timeout: Duration,
14304    pub filter: *const SpaceFilterInfoBaseHeaderFB,
14305    pub exclude_filter: *const SpaceFilterInfoBaseHeaderFB,
14306}
14307impl SpaceQueryInfoFB {
14308    pub const TYPE: StructureType = StructureType::SPACE_QUERY_INFO_FB;
14309}
14310#[repr(C)]
14311#[derive(Copy, Clone, Debug)]
14312#[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)"]
14313pub struct SpaceStorageLocationFilterInfoFB {
14314    pub ty: StructureType,
14315    pub next: *const c_void,
14316    pub location: SpaceStorageLocationFB,
14317}
14318impl SpaceStorageLocationFilterInfoFB {
14319    pub const TYPE: StructureType = StructureType::SPACE_STORAGE_LOCATION_FILTER_INFO_FB;
14320}
14321#[repr(C)]
14322#[derive(Copy, Clone, Debug)]
14323#[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)"]
14324pub struct SpaceUuidFilterInfoFB {
14325    pub ty: StructureType,
14326    pub next: *const c_void,
14327    pub uuid_count: u32,
14328    pub uuids: *mut UuidEXT,
14329}
14330impl SpaceUuidFilterInfoFB {
14331    pub const TYPE: StructureType = StructureType::SPACE_UUID_FILTER_INFO_FB;
14332}
14333#[repr(C)]
14334#[derive(Copy, Clone, Debug)]
14335#[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)"]
14336pub struct SpaceComponentFilterInfoFB {
14337    pub ty: StructureType,
14338    pub next: *const c_void,
14339    pub component_type: SpaceComponentTypeFB,
14340}
14341impl SpaceComponentFilterInfoFB {
14342    pub const TYPE: StructureType = StructureType::SPACE_COMPONENT_FILTER_INFO_FB;
14343}
14344#[repr(C)]
14345#[derive(Copy, Clone, Debug)]
14346#[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)"]
14347pub struct SpaceQueryResultFB {
14348    pub space: Space,
14349    pub uuid: UuidEXT,
14350}
14351#[repr(C)]
14352#[derive(Copy, Clone, Debug)]
14353#[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)"]
14354pub struct SpaceQueryResultsFB {
14355    pub ty: StructureType,
14356    pub next: *mut c_void,
14357    pub result_capacity_input: u32,
14358    pub result_count_output: u32,
14359    pub results: *mut SpaceQueryResultFB,
14360}
14361impl SpaceQueryResultsFB {
14362    pub const TYPE: StructureType = StructureType::SPACE_QUERY_RESULTS_FB;
14363    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14364    #[inline]
14365    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14366        let mut x = MaybeUninit::<Self>::uninit();
14367        unsafe {
14368            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14369                ty: Self::TYPE,
14370                next,
14371            });
14372        }
14373        x
14374    }
14375}
14376#[repr(C)]
14377#[derive(Copy, Clone, Debug)]
14378#[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)"]
14379pub struct EventDataSpaceQueryResultsAvailableFB {
14380    pub ty: StructureType,
14381    pub next: *const c_void,
14382    pub request_id: AsyncRequestIdFB,
14383}
14384impl EventDataSpaceQueryResultsAvailableFB {
14385    pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_QUERY_RESULTS_AVAILABLE_FB;
14386}
14387#[repr(C)]
14388#[derive(Copy, Clone, Debug)]
14389#[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)"]
14390pub struct EventDataSpaceQueryCompleteFB {
14391    pub ty: StructureType,
14392    pub next: *const c_void,
14393    pub request_id: AsyncRequestIdFB,
14394    pub result: Result,
14395}
14396impl EventDataSpaceQueryCompleteFB {
14397    pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_QUERY_COMPLETE_FB;
14398}
14399#[repr(C)]
14400#[derive(Copy, Clone, Debug)]
14401#[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)"]
14402pub struct SpaceSaveInfoFB {
14403    pub ty: StructureType,
14404    pub next: *const c_void,
14405    pub space: Space,
14406    pub location: SpaceStorageLocationFB,
14407    pub persistence_mode: SpacePersistenceModeFB,
14408}
14409impl SpaceSaveInfoFB {
14410    pub const TYPE: StructureType = StructureType::SPACE_SAVE_INFO_FB;
14411}
14412#[repr(C)]
14413#[derive(Copy, Clone, Debug)]
14414#[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)"]
14415pub struct SpaceEraseInfoFB {
14416    pub ty: StructureType,
14417    pub next: *const c_void,
14418    pub space: Space,
14419    pub location: SpaceStorageLocationFB,
14420}
14421impl SpaceEraseInfoFB {
14422    pub const TYPE: StructureType = StructureType::SPACE_ERASE_INFO_FB;
14423}
14424#[repr(C)]
14425#[derive(Copy, Clone, Debug)]
14426#[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)"]
14427pub struct EventDataSpaceSaveCompleteFB {
14428    pub ty: StructureType,
14429    pub next: *const c_void,
14430    pub request_id: AsyncRequestIdFB,
14431    pub result: Result,
14432    pub space: Space,
14433    pub uuid: UuidEXT,
14434    pub location: SpaceStorageLocationFB,
14435}
14436impl EventDataSpaceSaveCompleteFB {
14437    pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_SAVE_COMPLETE_FB;
14438}
14439#[repr(C)]
14440#[derive(Copy, Clone, Debug)]
14441#[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)"]
14442pub struct EventDataSpaceEraseCompleteFB {
14443    pub ty: StructureType,
14444    pub next: *const c_void,
14445    pub request_id: AsyncRequestIdFB,
14446    pub result: Result,
14447    pub space: Space,
14448    pub uuid: UuidEXT,
14449    pub location: SpaceStorageLocationFB,
14450}
14451impl EventDataSpaceEraseCompleteFB {
14452    pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_ERASE_COMPLETE_FB;
14453}
14454#[repr(C)]
14455#[derive(Copy, Clone, Debug)]
14456#[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)"]
14457pub struct SpaceShareInfoFB {
14458    pub ty: StructureType,
14459    pub next: *const c_void,
14460    pub space_count: u32,
14461    pub spaces: *mut Space,
14462    pub user_count: u32,
14463    pub users: *mut SpaceUserFB,
14464}
14465impl SpaceShareInfoFB {
14466    pub const TYPE: StructureType = StructureType::SPACE_SHARE_INFO_FB;
14467}
14468#[repr(C)]
14469#[derive(Copy, Clone, Debug)]
14470#[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)"]
14471pub struct EventDataSpaceShareCompleteFB {
14472    pub ty: StructureType,
14473    pub next: *const c_void,
14474    pub request_id: AsyncRequestIdFB,
14475    pub result: Result,
14476}
14477impl EventDataSpaceShareCompleteFB {
14478    pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_SHARE_COMPLETE_FB;
14479}
14480#[repr(C)]
14481#[derive(Copy, Clone, Debug)]
14482#[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)"]
14483pub struct SpaceListSaveInfoFB {
14484    pub ty: StructureType,
14485    pub next: *const c_void,
14486    pub space_count: u32,
14487    pub spaces: *mut Space,
14488    pub location: SpaceStorageLocationFB,
14489}
14490impl SpaceListSaveInfoFB {
14491    pub const TYPE: StructureType = StructureType::SPACE_LIST_SAVE_INFO_FB;
14492}
14493#[repr(C)]
14494#[derive(Copy, Clone, Debug)]
14495#[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)"]
14496pub struct EventDataSpaceListSaveCompleteFB {
14497    pub ty: StructureType,
14498    pub next: *const c_void,
14499    pub request_id: AsyncRequestIdFB,
14500    pub result: Result,
14501}
14502impl EventDataSpaceListSaveCompleteFB {
14503    pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_LIST_SAVE_COMPLETE_FB;
14504}
14505#[repr(C)]
14506#[derive(Copy, Clone, Debug)]
14507#[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)"]
14508pub struct SpaceContainerFB {
14509    pub ty: StructureType,
14510    pub next: *const c_void,
14511    pub uuid_capacity_input: u32,
14512    pub uuid_count_output: u32,
14513    pub uuids: *mut UuidEXT,
14514}
14515impl SpaceContainerFB {
14516    pub const TYPE: StructureType = StructureType::SPACE_CONTAINER_FB;
14517}
14518#[repr(C)]
14519#[derive(Copy, Clone, Debug)]
14520#[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)"]
14521pub struct SpaceTriangleMeshGetInfoMETA {
14522    pub ty: StructureType,
14523    pub next: *const c_void,
14524}
14525impl SpaceTriangleMeshGetInfoMETA {
14526    pub const TYPE: StructureType = StructureType::SPACE_TRIANGLE_MESH_GET_INFO_META;
14527}
14528#[repr(C)]
14529#[derive(Copy, Clone, Debug)]
14530#[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)"]
14531pub struct SpaceTriangleMeshMETA {
14532    pub ty: StructureType,
14533    pub next: *mut c_void,
14534    pub vertex_capacity_input: u32,
14535    pub vertex_count_output: u32,
14536    pub vertices: *mut Vector3f,
14537    pub index_capacity_input: u32,
14538    pub index_count_output: u32,
14539    pub indices: *mut u32,
14540}
14541impl SpaceTriangleMeshMETA {
14542    pub const TYPE: StructureType = StructureType::SPACE_TRIANGLE_MESH_META;
14543    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14544    #[inline]
14545    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14546        let mut x = MaybeUninit::<Self>::uninit();
14547        unsafe {
14548            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14549                ty: Self::TYPE,
14550                next,
14551            });
14552        }
14553        x
14554    }
14555}
14556#[repr(C)]
14557#[derive(Copy, Clone, Debug, Default, PartialEq)]
14558#[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)"]
14559pub struct Offset3DfFB {
14560    pub x: f32,
14561    pub y: f32,
14562    pub z: f32,
14563}
14564#[repr(C)]
14565#[derive(Copy, Clone, Debug, Default, PartialEq)]
14566#[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)"]
14567pub struct Rect3DfFB {
14568    pub offset: Offset3DfFB,
14569    pub extent: Extent3DfFB,
14570}
14571#[repr(C)]
14572#[derive(Copy, Clone, Debug)]
14573#[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)"]
14574pub struct SemanticLabelsFB {
14575    pub ty: StructureType,
14576    pub next: *const c_void,
14577    pub buffer_capacity_input: u32,
14578    pub buffer_count_output: u32,
14579    pub buffer: *mut c_char,
14580}
14581impl SemanticLabelsFB {
14582    pub const TYPE: StructureType = StructureType::SEMANTIC_LABELS_FB;
14583}
14584#[repr(C)]
14585#[derive(Copy, Clone, Debug)]
14586#[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)"]
14587pub struct RoomLayoutFB {
14588    pub ty: StructureType,
14589    pub next: *const c_void,
14590    pub floor_uuid: UuidEXT,
14591    pub ceiling_uuid: UuidEXT,
14592    pub wall_uuid_capacity_input: u32,
14593    pub wall_uuid_count_output: u32,
14594    pub wall_uuids: *mut UuidEXT,
14595}
14596impl RoomLayoutFB {
14597    pub const TYPE: StructureType = StructureType::ROOM_LAYOUT_FB;
14598}
14599#[repr(C)]
14600#[derive(Copy, Clone, Debug)]
14601#[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)"]
14602pub struct Boundary2DFB {
14603    pub ty: StructureType,
14604    pub next: *const c_void,
14605    pub vertex_capacity_input: u32,
14606    pub vertex_count_output: u32,
14607    pub vertices: *mut Vector2f,
14608}
14609impl Boundary2DFB {
14610    pub const TYPE: StructureType = StructureType::BOUNDARY_2D_FB;
14611}
14612#[repr(C)]
14613#[derive(Copy, Clone, Debug)]
14614#[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)"]
14615pub struct SemanticLabelsSupportInfoFB {
14616    pub ty: StructureType,
14617    pub next: *const c_void,
14618    pub flags: SemanticLabelsSupportFlagsFB,
14619    pub recognized_labels: *const c_char,
14620}
14621impl SemanticLabelsSupportInfoFB {
14622    pub const TYPE: StructureType = StructureType::SEMANTIC_LABELS_SUPPORT_INFO_FB;
14623}
14624#[repr(C)]
14625#[derive(Copy, Clone, Debug)]
14626#[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)"]
14627pub struct SceneCaptureRequestInfoFB {
14628    pub ty: StructureType,
14629    pub next: *const c_void,
14630    pub request_byte_count: u32,
14631    pub request: *const c_char,
14632}
14633impl SceneCaptureRequestInfoFB {
14634    pub const TYPE: StructureType = StructureType::SCENE_CAPTURE_REQUEST_INFO_FB;
14635}
14636#[repr(C)]
14637#[derive(Copy, Clone, Debug)]
14638#[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)"]
14639pub struct EventDataSceneCaptureCompleteFB {
14640    pub ty: StructureType,
14641    pub next: *const c_void,
14642    pub request_id: AsyncRequestIdFB,
14643    pub result: Result,
14644}
14645impl EventDataSceneCaptureCompleteFB {
14646    pub const TYPE: StructureType = StructureType::EVENT_DATA_SCENE_CAPTURE_COMPLETE_FB;
14647}
14648#[repr(C)]
14649#[derive(Copy, Clone, Debug)]
14650#[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)"]
14651pub struct SystemKeyboardTrackingPropertiesFB {
14652    pub ty: StructureType,
14653    pub next: *mut c_void,
14654    pub supports_keyboard_tracking: Bool32,
14655}
14656impl SystemKeyboardTrackingPropertiesFB {
14657    pub const TYPE: StructureType = StructureType::SYSTEM_KEYBOARD_TRACKING_PROPERTIES_FB;
14658    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14659    #[inline]
14660    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14661        let mut x = MaybeUninit::<Self>::uninit();
14662        unsafe {
14663            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14664                ty: Self::TYPE,
14665                next,
14666            });
14667        }
14668        x
14669    }
14670}
14671#[repr(C)]
14672#[derive(Copy, Clone, Debug)]
14673#[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)"]
14674pub struct KeyboardTrackingDescriptionFB {
14675    pub tracked_keyboard_id: u64,
14676    pub size: Vector3f,
14677    pub flags: KeyboardTrackingFlagsFB,
14678    pub name: [c_char; MAX_KEYBOARD_TRACKING_NAME_SIZE_FB],
14679}
14680#[repr(C)]
14681#[derive(Copy, Clone, Debug)]
14682#[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)"]
14683pub struct KeyboardSpaceCreateInfoFB {
14684    pub ty: StructureType,
14685    pub next: *mut c_void,
14686    pub tracked_keyboard_id: u64,
14687}
14688impl KeyboardSpaceCreateInfoFB {
14689    pub const TYPE: StructureType = StructureType::KEYBOARD_SPACE_CREATE_INFO_FB;
14690    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14691    #[inline]
14692    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14693        let mut x = MaybeUninit::<Self>::uninit();
14694        unsafe {
14695            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14696                ty: Self::TYPE,
14697                next,
14698            });
14699        }
14700        x
14701    }
14702}
14703#[repr(C)]
14704#[derive(Copy, Clone, Debug)]
14705#[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)"]
14706pub struct KeyboardTrackingQueryFB {
14707    pub ty: StructureType,
14708    pub next: *mut c_void,
14709    pub flags: KeyboardTrackingQueryFlagsFB,
14710}
14711impl KeyboardTrackingQueryFB {
14712    pub const TYPE: StructureType = StructureType::KEYBOARD_TRACKING_QUERY_FB;
14713    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14714    #[inline]
14715    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14716        let mut x = MaybeUninit::<Self>::uninit();
14717        unsafe {
14718            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14719                ty: Self::TYPE,
14720                next,
14721            });
14722        }
14723        x
14724    }
14725}
14726#[repr(C)]
14727#[derive(Copy, Clone, Debug)]
14728#[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)"]
14729pub struct SystemColocationDiscoveryPropertiesMETA {
14730    pub ty: StructureType,
14731    pub next: *mut c_void,
14732    pub supports_colocation_discovery: Bool32,
14733}
14734impl SystemColocationDiscoveryPropertiesMETA {
14735    pub const TYPE: StructureType = StructureType::SYSTEM_COLOCATION_DISCOVERY_PROPERTIES_META;
14736    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14737    #[inline]
14738    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14739        let mut x = MaybeUninit::<Self>::uninit();
14740        unsafe {
14741            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14742                ty: Self::TYPE,
14743                next,
14744            });
14745        }
14746        x
14747    }
14748}
14749#[repr(C)]
14750#[derive(Copy, Clone, Debug)]
14751#[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)"]
14752pub struct ColocationAdvertisementStartInfoMETA {
14753    pub ty: StructureType,
14754    pub next: *const c_void,
14755    pub buffer_size: u32,
14756    pub buffer: *mut u8,
14757}
14758impl ColocationAdvertisementStartInfoMETA {
14759    pub const TYPE: StructureType = StructureType::COLOCATION_ADVERTISEMENT_START_INFO_META;
14760}
14761#[repr(C)]
14762#[derive(Copy, Clone, Debug)]
14763#[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)"]
14764pub struct ColocationAdvertisementStopInfoMETA {
14765    pub ty: StructureType,
14766    pub next: *const c_void,
14767}
14768impl ColocationAdvertisementStopInfoMETA {
14769    pub const TYPE: StructureType = StructureType::COLOCATION_ADVERTISEMENT_STOP_INFO_META;
14770}
14771#[repr(C)]
14772#[derive(Copy, Clone, Debug)]
14773#[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)"]
14774pub struct ColocationDiscoveryStartInfoMETA {
14775    pub ty: StructureType,
14776    pub next: *const c_void,
14777}
14778impl ColocationDiscoveryStartInfoMETA {
14779    pub const TYPE: StructureType = StructureType::COLOCATION_DISCOVERY_START_INFO_META;
14780}
14781#[repr(C)]
14782#[derive(Copy, Clone, Debug)]
14783#[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)"]
14784pub struct ColocationDiscoveryStopInfoMETA {
14785    pub ty: StructureType,
14786    pub next: *const c_void,
14787}
14788impl ColocationDiscoveryStopInfoMETA {
14789    pub const TYPE: StructureType = StructureType::COLOCATION_DISCOVERY_STOP_INFO_META;
14790}
14791#[repr(C)]
14792#[derive(Copy, Clone, Debug)]
14793#[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)"]
14794pub struct EventDataStartColocationAdvertisementCompleteMETA {
14795    pub ty: StructureType,
14796    pub next: *const c_void,
14797    pub advertisement_request_id: AsyncRequestIdFB,
14798    pub result: Result,
14799    pub advertisement_uuid: Uuid,
14800}
14801impl EventDataStartColocationAdvertisementCompleteMETA {
14802    pub const TYPE: StructureType =
14803        StructureType::EVENT_DATA_START_COLOCATION_ADVERTISEMENT_COMPLETE_META;
14804}
14805#[repr(C)]
14806#[derive(Copy, Clone, Debug)]
14807#[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)"]
14808pub struct EventDataColocationAdvertisementCompleteMETA {
14809    pub ty: StructureType,
14810    pub next: *const c_void,
14811    pub advertisement_request_id: AsyncRequestIdFB,
14812    pub result: Result,
14813}
14814impl EventDataColocationAdvertisementCompleteMETA {
14815    pub const TYPE: StructureType =
14816        StructureType::EVENT_DATA_COLOCATION_ADVERTISEMENT_COMPLETE_META;
14817}
14818#[repr(C)]
14819#[derive(Copy, Clone, Debug)]
14820#[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)"]
14821pub struct EventDataStopColocationAdvertisementCompleteMETA {
14822    pub ty: StructureType,
14823    pub next: *const c_void,
14824    pub request_id: AsyncRequestIdFB,
14825    pub result: Result,
14826}
14827impl EventDataStopColocationAdvertisementCompleteMETA {
14828    pub const TYPE: StructureType =
14829        StructureType::EVENT_DATA_STOP_COLOCATION_ADVERTISEMENT_COMPLETE_META;
14830}
14831#[repr(C)]
14832#[derive(Copy, Clone, Debug)]
14833#[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)"]
14834pub struct EventDataStartColocationDiscoveryCompleteMETA {
14835    pub ty: StructureType,
14836    pub next: *const c_void,
14837    pub discovery_request_id: AsyncRequestIdFB,
14838    pub result: Result,
14839}
14840impl EventDataStartColocationDiscoveryCompleteMETA {
14841    pub const TYPE: StructureType =
14842        StructureType::EVENT_DATA_START_COLOCATION_DISCOVERY_COMPLETE_META;
14843}
14844#[repr(C)]
14845#[derive(Copy, Clone, Debug)]
14846#[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)"]
14847pub struct EventDataColocationDiscoveryResultMETA {
14848    pub ty: StructureType,
14849    pub next: *const c_void,
14850    pub discovery_request_id: AsyncRequestIdFB,
14851    pub advertisement_uuid: Uuid,
14852    pub buffer_size: u32,
14853    pub buffer: [u8; MAX_COLOCATION_DISCOVERY_BUFFER_SIZE_META],
14854}
14855impl EventDataColocationDiscoveryResultMETA {
14856    pub const TYPE: StructureType = StructureType::EVENT_DATA_COLOCATION_DISCOVERY_RESULT_META;
14857}
14858#[repr(C)]
14859#[derive(Copy, Clone, Debug)]
14860#[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)"]
14861pub struct EventDataColocationDiscoveryCompleteMETA {
14862    pub ty: StructureType,
14863    pub next: *const c_void,
14864    pub discovery_request_id: AsyncRequestIdFB,
14865    pub result: Result,
14866}
14867impl EventDataColocationDiscoveryCompleteMETA {
14868    pub const TYPE: StructureType = StructureType::EVENT_DATA_COLOCATION_DISCOVERY_COMPLETE_META;
14869}
14870#[repr(C)]
14871#[derive(Copy, Clone, Debug)]
14872#[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)"]
14873pub struct EventDataStopColocationDiscoveryCompleteMETA {
14874    pub ty: StructureType,
14875    pub next: *const c_void,
14876    pub request_id: AsyncRequestIdFB,
14877    pub result: Result,
14878}
14879impl EventDataStopColocationDiscoveryCompleteMETA {
14880    pub const TYPE: StructureType =
14881        StructureType::EVENT_DATA_STOP_COLOCATION_DISCOVERY_COMPLETE_META;
14882}
14883#[repr(C)]
14884#[derive(Copy, Clone, Debug)]
14885#[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)"]
14886pub struct SystemSpatialEntitySharingPropertiesMETA {
14887    pub ty: StructureType,
14888    pub next: *mut c_void,
14889    pub supports_spatial_entity_sharing: Bool32,
14890}
14891impl SystemSpatialEntitySharingPropertiesMETA {
14892    pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_ENTITY_SHARING_PROPERTIES_META;
14893    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14894    #[inline]
14895    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14896        let mut x = MaybeUninit::<Self>::uninit();
14897        unsafe {
14898            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14899                ty: Self::TYPE,
14900                next,
14901            });
14902        }
14903        x
14904    }
14905}
14906#[repr(C)]
14907#[derive(Copy, Clone, Debug)]
14908#[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)"]
14909pub struct ShareSpacesRecipientBaseHeaderMETA {
14910    pub ty: StructureType,
14911    pub next: *const c_void,
14912}
14913#[repr(C)]
14914#[derive(Copy, Clone, Debug)]
14915#[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)"]
14916pub struct ShareSpacesInfoMETA {
14917    pub ty: StructureType,
14918    pub next: *const c_void,
14919    pub space_count: u32,
14920    pub spaces: *mut Space,
14921    pub recipient_info: *const ShareSpacesRecipientBaseHeaderMETA,
14922}
14923impl ShareSpacesInfoMETA {
14924    pub const TYPE: StructureType = StructureType::SHARE_SPACES_INFO_META;
14925}
14926#[repr(C)]
14927#[derive(Copy, Clone, Debug)]
14928#[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)"]
14929pub struct EventDataShareSpacesCompleteMETA {
14930    pub ty: StructureType,
14931    pub next: *const c_void,
14932    pub request_id: AsyncRequestIdFB,
14933    pub result: Result,
14934}
14935impl EventDataShareSpacesCompleteMETA {
14936    pub const TYPE: StructureType = StructureType::EVENT_DATA_SHARE_SPACES_COMPLETE_META;
14937}
14938#[repr(C)]
14939#[derive(Copy, Clone, Debug)]
14940#[doc = "See [XrShareSpacesRecipientGroupsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrShareSpacesRecipientGroupsMETA)"]
14941pub struct ShareSpacesRecipientGroupsMETA {
14942    pub ty: StructureType,
14943    pub next: *const c_void,
14944    pub group_count: u32,
14945    pub groups: *mut Uuid,
14946}
14947impl ShareSpacesRecipientGroupsMETA {
14948    pub const TYPE: StructureType = StructureType::SHARE_SPACES_RECIPIENT_GROUPS_META;
14949}
14950#[repr(C)]
14951#[derive(Copy, Clone, Debug)]
14952#[doc = "See [XrSpaceGroupUuidFilterInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceGroupUuidFilterInfoMETA)"]
14953pub struct SpaceGroupUuidFilterInfoMETA {
14954    pub ty: StructureType,
14955    pub next: *const c_void,
14956    pub group_uuid: Uuid,
14957}
14958impl SpaceGroupUuidFilterInfoMETA {
14959    pub const TYPE: StructureType = StructureType::SPACE_GROUP_UUID_FILTER_INFO_META;
14960}
14961#[repr(C)]
14962#[derive(Copy, Clone, Debug)]
14963#[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)"]
14964pub struct SystemSpatialEntityGroupSharingPropertiesMETA {
14965    pub ty: StructureType,
14966    pub next: *mut c_void,
14967    pub supports_spatial_entity_group_sharing: Bool32,
14968}
14969impl SystemSpatialEntityGroupSharingPropertiesMETA {
14970    pub const TYPE: StructureType =
14971        StructureType::SYSTEM_SPATIAL_ENTITY_GROUP_SHARING_PROPERTIES_META;
14972    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14973    #[inline]
14974    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14975        let mut x = MaybeUninit::<Self>::uninit();
14976        unsafe {
14977            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14978                ty: Self::TYPE,
14979                next,
14980            });
14981        }
14982        x
14983    }
14984}
14985#[repr(C)]
14986#[derive(Copy, Clone, Debug)]
14987#[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)"]
14988pub struct CompositionLayerDepthTestVARJO {
14989    pub ty: StructureType,
14990    pub next: *const c_void,
14991    pub depth_test_range_near_z: f32,
14992    pub depth_test_range_far_z: f32,
14993}
14994impl CompositionLayerDepthTestVARJO {
14995    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_DEPTH_TEST_VARJO;
14996}
14997#[repr(C)]
14998#[derive(Copy, Clone, Debug)]
14999#[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)"]
15000pub struct ViewLocateFoveatedRenderingVARJO {
15001    pub ty: StructureType,
15002    pub next: *const c_void,
15003    pub foveated_rendering_active: Bool32,
15004}
15005impl ViewLocateFoveatedRenderingVARJO {
15006    pub const TYPE: StructureType = StructureType::VIEW_LOCATE_FOVEATED_RENDERING_VARJO;
15007}
15008#[repr(C)]
15009#[derive(Copy, Clone, Debug)]
15010#[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)"]
15011pub struct FoveatedViewConfigurationViewVARJO {
15012    pub ty: StructureType,
15013    pub next: *mut c_void,
15014    pub foveated_rendering_active: Bool32,
15015}
15016impl FoveatedViewConfigurationViewVARJO {
15017    pub const TYPE: StructureType = StructureType::FOVEATED_VIEW_CONFIGURATION_VIEW_VARJO;
15018    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15019    #[inline]
15020    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15021        let mut x = MaybeUninit::<Self>::uninit();
15022        unsafe {
15023            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15024                ty: Self::TYPE,
15025                next,
15026            });
15027        }
15028        x
15029    }
15030}
15031#[repr(C)]
15032#[derive(Copy, Clone, Debug)]
15033#[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)"]
15034pub struct SystemFoveatedRenderingPropertiesVARJO {
15035    pub ty: StructureType,
15036    pub next: *mut c_void,
15037    pub supports_foveated_rendering: Bool32,
15038}
15039impl SystemFoveatedRenderingPropertiesVARJO {
15040    pub const TYPE: StructureType = StructureType::SYSTEM_FOVEATED_RENDERING_PROPERTIES_VARJO;
15041    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15042    #[inline]
15043    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15044        let mut x = MaybeUninit::<Self>::uninit();
15045        unsafe {
15046            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15047                ty: Self::TYPE,
15048                next,
15049            });
15050        }
15051        x
15052    }
15053}
15054#[repr(C)]
15055#[derive(Copy, Clone, Debug)]
15056#[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)"]
15057pub struct CompositionLayerReprojectionInfoMSFT {
15058    pub ty: StructureType,
15059    pub next: *const c_void,
15060    pub reprojection_mode: ReprojectionModeMSFT,
15061}
15062impl CompositionLayerReprojectionInfoMSFT {
15063    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_REPROJECTION_INFO_MSFT;
15064}
15065#[repr(C)]
15066#[derive(Copy, Clone, Debug)]
15067#[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)"]
15068pub struct CompositionLayerReprojectionPlaneOverrideMSFT {
15069    pub ty: StructureType,
15070    pub next: *const c_void,
15071    pub position: Vector3f,
15072    pub normal: Vector3f,
15073    pub velocity: Vector3f,
15074}
15075impl CompositionLayerReprojectionPlaneOverrideMSFT {
15076    pub const TYPE: StructureType =
15077        StructureType::COMPOSITION_LAYER_REPROJECTION_PLANE_OVERRIDE_MSFT;
15078}
15079#[repr(C)]
15080#[derive(Copy, Clone, Debug)]
15081#[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)"]
15082pub struct TriangleMeshCreateInfoFB {
15083    pub ty: StructureType,
15084    pub next: *const c_void,
15085    pub flags: TriangleMeshFlagsFB,
15086    pub winding_order: WindingOrderFB,
15087    pub vertex_count: u32,
15088    pub vertex_buffer: *const Vector3f,
15089    pub triangle_count: u32,
15090    pub index_buffer: *const u32,
15091}
15092impl TriangleMeshCreateInfoFB {
15093    pub const TYPE: StructureType = StructureType::TRIANGLE_MESH_CREATE_INFO_FB;
15094}
15095#[repr(C)]
15096#[derive(Copy, Clone, Debug)]
15097#[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)"]
15098pub struct SystemPassthroughPropertiesFB {
15099    pub ty: StructureType,
15100    pub next: *const c_void,
15101    pub supports_passthrough: Bool32,
15102}
15103impl SystemPassthroughPropertiesFB {
15104    pub const TYPE: StructureType = StructureType::SYSTEM_PASSTHROUGH_PROPERTIES_FB;
15105}
15106#[repr(C)]
15107#[derive(Copy, Clone, Debug)]
15108#[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)"]
15109pub struct SystemPassthroughProperties2FB {
15110    pub ty: StructureType,
15111    pub next: *const c_void,
15112    pub capabilities: PassthroughCapabilityFlagsFB,
15113}
15114impl SystemPassthroughProperties2FB {
15115    pub const TYPE: StructureType = StructureType::SYSTEM_PASSTHROUGH_PROPERTIES2_FB;
15116}
15117#[repr(C)]
15118#[derive(Copy, Clone, Debug)]
15119#[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)"]
15120pub struct PassthroughCreateInfoFB {
15121    pub ty: StructureType,
15122    pub next: *const c_void,
15123    pub flags: PassthroughFlagsFB,
15124}
15125impl PassthroughCreateInfoFB {
15126    pub const TYPE: StructureType = StructureType::PASSTHROUGH_CREATE_INFO_FB;
15127}
15128#[repr(C)]
15129#[derive(Copy, Clone, Debug)]
15130#[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)"]
15131pub struct PassthroughLayerCreateInfoFB {
15132    pub ty: StructureType,
15133    pub next: *const c_void,
15134    pub passthrough: PassthroughFB,
15135    pub flags: PassthroughFlagsFB,
15136    pub purpose: PassthroughLayerPurposeFB,
15137}
15138impl PassthroughLayerCreateInfoFB {
15139    pub const TYPE: StructureType = StructureType::PASSTHROUGH_LAYER_CREATE_INFO_FB;
15140}
15141#[repr(C)]
15142#[derive(Copy, Clone, Debug)]
15143#[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)"]
15144pub struct CompositionLayerPassthroughFB {
15145    pub ty: StructureType,
15146    pub next: *const c_void,
15147    pub flags: CompositionLayerFlags,
15148    pub space: Space,
15149    pub layer_handle: PassthroughLayerFB,
15150}
15151impl CompositionLayerPassthroughFB {
15152    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_PASSTHROUGH_FB;
15153}
15154#[repr(C)]
15155#[derive(Copy, Clone, Debug)]
15156#[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)"]
15157pub struct GeometryInstanceCreateInfoFB {
15158    pub ty: StructureType,
15159    pub next: *const c_void,
15160    pub layer: PassthroughLayerFB,
15161    pub mesh: TriangleMeshFB,
15162    pub base_space: Space,
15163    pub pose: Posef,
15164    pub scale: Vector3f,
15165}
15166impl GeometryInstanceCreateInfoFB {
15167    pub const TYPE: StructureType = StructureType::GEOMETRY_INSTANCE_CREATE_INFO_FB;
15168}
15169#[repr(C)]
15170#[derive(Copy, Clone, Debug)]
15171#[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)"]
15172pub struct GeometryInstanceTransformFB {
15173    pub ty: StructureType,
15174    pub next: *const c_void,
15175    pub base_space: Space,
15176    pub time: Time,
15177    pub pose: Posef,
15178    pub scale: Vector3f,
15179}
15180impl GeometryInstanceTransformFB {
15181    pub const TYPE: StructureType = StructureType::GEOMETRY_INSTANCE_TRANSFORM_FB;
15182}
15183#[repr(C)]
15184#[derive(Copy, Clone, Debug)]
15185#[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)"]
15186pub struct PassthroughStyleFB {
15187    pub ty: StructureType,
15188    pub next: *const c_void,
15189    pub texture_opacity_factor: f32,
15190    pub edge_color: Color4f,
15191}
15192impl PassthroughStyleFB {
15193    pub const TYPE: StructureType = StructureType::PASSTHROUGH_STYLE_FB;
15194}
15195#[repr(C)]
15196#[derive(Copy, Clone, Debug)]
15197#[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)"]
15198pub struct PassthroughColorMapMonoToRgbaFB {
15199    pub ty: StructureType,
15200    pub next: *const c_void,
15201    pub texture_color_map: [Color4f; PASSTHROUGH_COLOR_MAP_MONO_SIZE_FB],
15202}
15203impl PassthroughColorMapMonoToRgbaFB {
15204    pub const TYPE: StructureType = StructureType::PASSTHROUGH_COLOR_MAP_MONO_TO_RGBA_FB;
15205}
15206#[repr(C)]
15207#[derive(Copy, Clone, Debug)]
15208#[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)"]
15209pub struct PassthroughColorMapMonoToMonoFB {
15210    pub ty: StructureType,
15211    pub next: *const c_void,
15212    pub texture_color_map: [u8; PASSTHROUGH_COLOR_MAP_MONO_SIZE_FB],
15213}
15214impl PassthroughColorMapMonoToMonoFB {
15215    pub const TYPE: StructureType = StructureType::PASSTHROUGH_COLOR_MAP_MONO_TO_MONO_FB;
15216}
15217#[repr(C)]
15218#[derive(Copy, Clone, Debug)]
15219#[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)"]
15220pub struct PassthroughBrightnessContrastSaturationFB {
15221    pub ty: StructureType,
15222    pub next: *const c_void,
15223    pub brightness: f32,
15224    pub contrast: f32,
15225    pub saturation: f32,
15226}
15227impl PassthroughBrightnessContrastSaturationFB {
15228    pub const TYPE: StructureType = StructureType::PASSTHROUGH_BRIGHTNESS_CONTRAST_SATURATION_FB;
15229}
15230#[repr(C)]
15231#[derive(Copy, Clone, Debug)]
15232#[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)"]
15233pub struct EventDataPassthroughStateChangedFB {
15234    pub ty: StructureType,
15235    pub next: *const c_void,
15236    pub flags: PassthroughStateChangedFlagsFB,
15237}
15238impl EventDataPassthroughStateChangedFB {
15239    pub const TYPE: StructureType = StructureType::EVENT_DATA_PASSTHROUGH_STATE_CHANGED_FB;
15240}
15241#[repr(C)]
15242#[derive(Copy, Clone, Debug)]
15243#[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)"]
15244pub struct PassthroughKeyboardHandsIntensityFB {
15245    pub ty: StructureType,
15246    pub next: *const c_void,
15247    pub left_hand_intensity: f32,
15248    pub right_hand_intensity: f32,
15249}
15250impl PassthroughKeyboardHandsIntensityFB {
15251    pub const TYPE: StructureType = StructureType::PASSTHROUGH_KEYBOARD_HANDS_INTENSITY_FB;
15252}
15253#[repr(C)]
15254#[derive(Copy, Clone, Debug)]
15255#[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)"]
15256pub struct LocalDimmingFrameEndInfoMETA {
15257    pub ty: StructureType,
15258    pub next: *const c_void,
15259    pub local_dimming_mode: LocalDimmingModeMETA,
15260}
15261impl LocalDimmingFrameEndInfoMETA {
15262    pub const TYPE: StructureType = StructureType::LOCAL_DIMMING_FRAME_END_INFO_META;
15263}
15264#[repr(C)]
15265#[derive(Copy, Clone, Debug)]
15266#[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)"]
15267pub struct SpatialAnchorPersistenceNameMSFT {
15268    pub name: [c_char; MAX_SPATIAL_ANCHOR_NAME_SIZE_MSFT],
15269}
15270#[repr(C)]
15271#[derive(Copy, Clone, Debug)]
15272#[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)"]
15273pub struct SpatialAnchorPersistenceInfoMSFT {
15274    pub ty: StructureType,
15275    pub next: *const c_void,
15276    pub spatial_anchor_persistence_name: SpatialAnchorPersistenceNameMSFT,
15277    pub spatial_anchor: SpatialAnchorMSFT,
15278}
15279impl SpatialAnchorPersistenceInfoMSFT {
15280    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_PERSISTENCE_INFO_MSFT;
15281}
15282#[repr(C)]
15283#[derive(Copy, Clone, Debug)]
15284#[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)"]
15285pub struct SpatialAnchorFromPersistedAnchorCreateInfoMSFT {
15286    pub ty: StructureType,
15287    pub next: *const c_void,
15288    pub spatial_anchor_store: SpatialAnchorStoreConnectionMSFT,
15289    pub spatial_anchor_persistence_name: SpatialAnchorPersistenceNameMSFT,
15290}
15291impl SpatialAnchorFromPersistedAnchorCreateInfoMSFT {
15292    pub const TYPE: StructureType =
15293        StructureType::SPATIAL_ANCHOR_FROM_PERSISTED_ANCHOR_CREATE_INFO_MSFT;
15294}
15295#[repr(C)]
15296#[derive(Copy, Clone, Debug)]
15297#[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)"]
15298pub struct SystemBodyTrackingPropertiesBD {
15299    pub ty: StructureType,
15300    pub next: *mut c_void,
15301    pub supports_body_tracking: Bool32,
15302}
15303impl SystemBodyTrackingPropertiesBD {
15304    pub const TYPE: StructureType = StructureType::SYSTEM_BODY_TRACKING_PROPERTIES_BD;
15305    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15306    #[inline]
15307    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15308        let mut x = MaybeUninit::<Self>::uninit();
15309        unsafe {
15310            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15311                ty: Self::TYPE,
15312                next,
15313            });
15314        }
15315        x
15316    }
15317}
15318#[repr(C)]
15319#[derive(Copy, Clone, Debug)]
15320#[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)"]
15321pub struct BodyTrackerCreateInfoBD {
15322    pub ty: StructureType,
15323    pub next: *const c_void,
15324    pub joint_set: BodyJointSetBD,
15325}
15326impl BodyTrackerCreateInfoBD {
15327    pub const TYPE: StructureType = StructureType::BODY_TRACKER_CREATE_INFO_BD;
15328}
15329#[repr(C)]
15330#[derive(Copy, Clone, Debug)]
15331#[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)"]
15332pub struct BodyJointsLocateInfoBD {
15333    pub ty: StructureType,
15334    pub next: *const c_void,
15335    pub base_space: Space,
15336    pub time: Time,
15337}
15338impl BodyJointsLocateInfoBD {
15339    pub const TYPE: StructureType = StructureType::BODY_JOINTS_LOCATE_INFO_BD;
15340}
15341#[repr(C)]
15342#[derive(Copy, Clone, Debug, Default, PartialEq)]
15343#[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)"]
15344pub struct BodyJointLocationBD {
15345    pub location_flags: SpaceLocationFlags,
15346    pub pose: Posef,
15347}
15348#[repr(C)]
15349#[derive(Copy, Clone, Debug)]
15350#[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)"]
15351pub struct BodyJointLocationsBD {
15352    pub ty: StructureType,
15353    pub next: *mut c_void,
15354    pub all_joint_poses_tracked: Bool32,
15355    pub joint_location_count: u32,
15356    pub joint_locations: *mut BodyJointLocationBD,
15357}
15358impl BodyJointLocationsBD {
15359    pub const TYPE: StructureType = StructureType::BODY_JOINT_LOCATIONS_BD;
15360    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15361    #[inline]
15362    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15363        let mut x = MaybeUninit::<Self>::uninit();
15364        unsafe {
15365            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15366                ty: Self::TYPE,
15367                next,
15368            });
15369        }
15370        x
15371    }
15372}
15373#[repr(C)]
15374#[derive(Copy, Clone, Debug)]
15375#[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)"]
15376pub struct FuturePollResultProgressBD {
15377    pub ty: StructureType,
15378    pub next: *mut c_void,
15379    pub is_supported: Bool32,
15380    pub progress_percentage: u32,
15381}
15382impl FuturePollResultProgressBD {
15383    pub const TYPE: StructureType = StructureType::FUTURE_POLL_RESULT_PROGRESS_BD;
15384    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15385    #[inline]
15386    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15387        let mut x = MaybeUninit::<Self>::uninit();
15388        unsafe {
15389            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15390                ty: Self::TYPE,
15391                next,
15392            });
15393        }
15394        x
15395    }
15396}
15397#[repr(C)]
15398#[derive(Copy, Clone, Debug)]
15399#[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)"]
15400pub struct FacialTrackerCreateInfoHTC {
15401    pub ty: StructureType,
15402    pub next: *const c_void,
15403    pub facial_tracking_type: FacialTrackingTypeHTC,
15404}
15405impl FacialTrackerCreateInfoHTC {
15406    pub const TYPE: StructureType = StructureType::FACIAL_TRACKER_CREATE_INFO_HTC;
15407}
15408#[repr(C)]
15409#[derive(Copy, Clone, Debug)]
15410#[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)"]
15411pub struct SystemFacialTrackingPropertiesHTC {
15412    pub ty: StructureType,
15413    pub next: *mut c_void,
15414    pub support_eye_facial_tracking: Bool32,
15415    pub support_lip_facial_tracking: Bool32,
15416}
15417impl SystemFacialTrackingPropertiesHTC {
15418    pub const TYPE: StructureType = StructureType::SYSTEM_FACIAL_TRACKING_PROPERTIES_HTC;
15419    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15420    #[inline]
15421    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15422        let mut x = MaybeUninit::<Self>::uninit();
15423        unsafe {
15424            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15425                ty: Self::TYPE,
15426                next,
15427            });
15428        }
15429        x
15430    }
15431}
15432#[repr(C)]
15433#[derive(Copy, Clone, Debug)]
15434#[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)"]
15435pub struct FacialExpressionsHTC {
15436    pub ty: StructureType,
15437    pub next: *const c_void,
15438    pub is_active: Bool32,
15439    pub sample_time: Time,
15440    pub expression_count: u32,
15441    pub expression_weightings: *mut f32,
15442}
15443impl FacialExpressionsHTC {
15444    pub const TYPE: StructureType = StructureType::FACIAL_EXPRESSIONS_HTC;
15445}
15446#[repr(C)]
15447#[derive(Copy, Clone, Debug)]
15448#[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)"]
15449pub struct PassthroughCreateInfoHTC {
15450    pub ty: StructureType,
15451    pub next: *const c_void,
15452    pub form: PassthroughFormHTC,
15453}
15454impl PassthroughCreateInfoHTC {
15455    pub const TYPE: StructureType = StructureType::PASSTHROUGH_CREATE_INFO_HTC;
15456}
15457#[repr(C)]
15458#[derive(Copy, Clone, Debug)]
15459#[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)"]
15460pub struct PassthroughColorHTC {
15461    pub ty: StructureType,
15462    pub next: *const c_void,
15463    pub alpha: f32,
15464}
15465impl PassthroughColorHTC {
15466    pub const TYPE: StructureType = StructureType::PASSTHROUGH_COLOR_HTC;
15467}
15468#[repr(C)]
15469#[derive(Copy, Clone, Debug)]
15470#[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)"]
15471pub struct PassthroughMeshTransformInfoHTC {
15472    pub ty: StructureType,
15473    pub next: *const c_void,
15474    pub vertex_count: u32,
15475    pub vertices: *const Vector3f,
15476    pub index_count: u32,
15477    pub indices: *const u32,
15478    pub base_space: Space,
15479    pub time: Time,
15480    pub pose: Posef,
15481    pub scale: Vector3f,
15482}
15483impl PassthroughMeshTransformInfoHTC {
15484    pub const TYPE: StructureType = StructureType::PASSTHROUGH_MESH_TRANSFORM_INFO_HTC;
15485}
15486#[repr(C)]
15487#[derive(Copy, Clone, Debug)]
15488#[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)"]
15489pub struct CompositionLayerPassthroughHTC {
15490    pub ty: StructureType,
15491    pub next: *const c_void,
15492    pub layer_flags: CompositionLayerFlags,
15493    pub space: Space,
15494    pub passthrough: PassthroughHTC,
15495    pub color: PassthroughColorHTC,
15496}
15497impl CompositionLayerPassthroughHTC {
15498    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_PASSTHROUGH_HTC;
15499}
15500#[repr(C)]
15501#[derive(Copy, Clone, Debug)]
15502#[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)"]
15503pub struct SpatialAnchorCreateInfoHTC {
15504    pub ty: StructureType,
15505    pub next: *const c_void,
15506    pub space: Space,
15507    pub pose_in_space: Posef,
15508    pub name: SpatialAnchorNameHTC,
15509}
15510impl SpatialAnchorCreateInfoHTC {
15511    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_CREATE_INFO_HTC;
15512}
15513#[repr(C)]
15514#[derive(Copy, Clone, Debug)]
15515#[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)"]
15516pub struct SpatialAnchorNameHTC {
15517    pub name: [c_char; MAX_SPATIAL_ANCHOR_NAME_SIZE_HTC],
15518}
15519#[repr(C)]
15520#[derive(Copy, Clone, Debug)]
15521#[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)"]
15522pub struct SystemAnchorPropertiesHTC {
15523    pub ty: StructureType,
15524    pub next: *mut c_void,
15525    pub supports_anchor: Bool32,
15526}
15527impl SystemAnchorPropertiesHTC {
15528    pub const TYPE: StructureType = StructureType::SYSTEM_ANCHOR_PROPERTIES_HTC;
15529    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15530    #[inline]
15531    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15532        let mut x = MaybeUninit::<Self>::uninit();
15533        unsafe {
15534            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15535                ty: Self::TYPE,
15536                next,
15537            });
15538        }
15539        x
15540    }
15541}
15542#[repr(C)]
15543#[derive(Copy, Clone, Debug)]
15544#[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)"]
15545pub struct ViveTrackerPathsHTCX {
15546    pub ty: StructureType,
15547    pub next: *mut c_void,
15548    pub persistent_path: Path,
15549    pub role_path: Path,
15550}
15551impl ViveTrackerPathsHTCX {
15552    pub const TYPE: StructureType = StructureType::VIVE_TRACKER_PATHS_HTCX;
15553    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15554    #[inline]
15555    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15556        let mut x = MaybeUninit::<Self>::uninit();
15557        unsafe {
15558            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15559                ty: Self::TYPE,
15560                next,
15561            });
15562        }
15563        x
15564    }
15565}
15566#[repr(C)]
15567#[derive(Copy, Clone, Debug)]
15568#[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)"]
15569pub struct EventDataViveTrackerConnectedHTCX {
15570    pub ty: StructureType,
15571    pub next: *const c_void,
15572    pub paths: *mut ViveTrackerPathsHTCX,
15573}
15574impl EventDataViveTrackerConnectedHTCX {
15575    pub const TYPE: StructureType = StructureType::EVENT_DATA_VIVE_TRACKER_CONNECTED_HTCX;
15576}
15577#[repr(C)]
15578#[derive(Copy, Clone, Debug)]
15579#[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)"]
15580pub struct SystemBodyTrackingPropertiesHTC {
15581    pub ty: StructureType,
15582    pub next: *mut c_void,
15583    pub supports_body_tracking: Bool32,
15584}
15585impl SystemBodyTrackingPropertiesHTC {
15586    pub const TYPE: StructureType = StructureType::SYSTEM_BODY_TRACKING_PROPERTIES_HTC;
15587    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15588    #[inline]
15589    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15590        let mut x = MaybeUninit::<Self>::uninit();
15591        unsafe {
15592            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15593                ty: Self::TYPE,
15594                next,
15595            });
15596        }
15597        x
15598    }
15599}
15600#[repr(C)]
15601#[derive(Copy, Clone, Debug)]
15602#[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)"]
15603pub struct BodyTrackerCreateInfoHTC {
15604    pub ty: StructureType,
15605    pub next: *const c_void,
15606    pub body_joint_set: BodyJointSetHTC,
15607}
15608impl BodyTrackerCreateInfoHTC {
15609    pub const TYPE: StructureType = StructureType::BODY_TRACKER_CREATE_INFO_HTC;
15610}
15611#[repr(C)]
15612#[derive(Copy, Clone, Debug, Default, PartialEq)]
15613#[doc = "See [XrBodySkeletonJointHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodySkeletonJointHTC)"]
15614pub struct BodySkeletonJointHTC {
15615    pub pose: Posef,
15616}
15617#[repr(C)]
15618#[derive(Copy, Clone, Debug)]
15619#[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)"]
15620pub struct BodySkeletonHTC {
15621    pub ty: StructureType,
15622    pub next: *mut c_void,
15623    pub joint_count: u32,
15624    pub joints: *mut BodySkeletonJointHTC,
15625}
15626impl BodySkeletonHTC {
15627    pub const TYPE: StructureType = StructureType::BODY_SKELETON_HTC;
15628    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15629    #[inline]
15630    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15631        let mut x = MaybeUninit::<Self>::uninit();
15632        unsafe {
15633            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15634                ty: Self::TYPE,
15635                next,
15636            });
15637        }
15638        x
15639    }
15640}
15641#[repr(C)]
15642#[derive(Copy, Clone, Debug)]
15643#[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)"]
15644pub struct BodyJointsLocateInfoHTC {
15645    pub ty: StructureType,
15646    pub next: *const c_void,
15647    pub base_space: Space,
15648    pub time: Time,
15649}
15650impl BodyJointsLocateInfoHTC {
15651    pub const TYPE: StructureType = StructureType::BODY_JOINTS_LOCATE_INFO_HTC;
15652}
15653#[repr(C)]
15654#[derive(Copy, Clone, Debug, Default, PartialEq)]
15655#[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)"]
15656pub struct BodyJointLocationHTC {
15657    pub location_flags: SpaceLocationFlags,
15658    pub pose: Posef,
15659}
15660#[repr(C)]
15661#[derive(Copy, Clone, Debug)]
15662#[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)"]
15663pub struct BodyJointLocationsHTC {
15664    pub ty: StructureType,
15665    pub next: *mut c_void,
15666    pub combined_location_flags: SpaceLocationFlags,
15667    pub confidence_level: BodyJointConfidenceHTC,
15668    pub joint_location_count: u32,
15669    pub joint_locations: *mut BodyJointLocationHTC,
15670    pub skeleton_generation_id: u32,
15671}
15672impl BodyJointLocationsHTC {
15673    pub const TYPE: StructureType = StructureType::BODY_JOINT_LOCATIONS_HTC;
15674    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15675    #[inline]
15676    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15677        let mut x = MaybeUninit::<Self>::uninit();
15678        unsafe {
15679            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15680                ty: Self::TYPE,
15681                next,
15682            });
15683        }
15684        x
15685    }
15686}
15687#[repr(C)]
15688#[derive(Copy, Clone, Debug)]
15689#[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)"]
15690pub struct CompositionLayerSpaceWarpInfoFB {
15691    pub ty: StructureType,
15692    pub next: *const c_void,
15693    pub layer_flags: CompositionLayerSpaceWarpInfoFlagsFB,
15694    pub motion_vector_sub_image: SwapchainSubImage,
15695    pub app_space_delta_pose: Posef,
15696    pub depth_sub_image: SwapchainSubImage,
15697    pub min_depth: f32,
15698    pub max_depth: f32,
15699    pub near_z: f32,
15700    pub far_z: f32,
15701}
15702impl CompositionLayerSpaceWarpInfoFB {
15703    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_SPACE_WARP_INFO_FB;
15704}
15705#[repr(C)]
15706#[derive(Copy, Clone, Debug)]
15707#[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)"]
15708pub struct SystemSpaceWarpPropertiesFB {
15709    pub ty: StructureType,
15710    pub next: *mut c_void,
15711    pub recommended_motion_vector_image_rect_width: u32,
15712    pub recommended_motion_vector_image_rect_height: u32,
15713}
15714impl SystemSpaceWarpPropertiesFB {
15715    pub const TYPE: StructureType = StructureType::SYSTEM_SPACE_WARP_PROPERTIES_FB;
15716    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15717    #[inline]
15718    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15719        let mut x = MaybeUninit::<Self>::uninit();
15720        unsafe {
15721            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15722                ty: Self::TYPE,
15723                next,
15724            });
15725        }
15726        x
15727    }
15728}
15729#[repr(C)]
15730#[derive(Copy, Clone, Debug)]
15731#[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)"]
15732pub struct SystemMarkerTrackingPropertiesVARJO {
15733    pub ty: StructureType,
15734    pub next: *mut c_void,
15735    pub supports_marker_tracking: Bool32,
15736}
15737impl SystemMarkerTrackingPropertiesVARJO {
15738    pub const TYPE: StructureType = StructureType::SYSTEM_MARKER_TRACKING_PROPERTIES_VARJO;
15739    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15740    #[inline]
15741    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15742        let mut x = MaybeUninit::<Self>::uninit();
15743        unsafe {
15744            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15745                ty: Self::TYPE,
15746                next,
15747            });
15748        }
15749        x
15750    }
15751}
15752#[repr(C)]
15753#[derive(Copy, Clone, Debug)]
15754#[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)"]
15755pub struct EventDataMarkerTrackingUpdateVARJO {
15756    pub ty: StructureType,
15757    pub next: *const c_void,
15758    pub marker_id: u64,
15759    pub is_active: Bool32,
15760    pub is_predicted: Bool32,
15761    pub time: Time,
15762}
15763impl EventDataMarkerTrackingUpdateVARJO {
15764    pub const TYPE: StructureType = StructureType::EVENT_DATA_MARKER_TRACKING_UPDATE_VARJO;
15765}
15766#[repr(C)]
15767#[derive(Copy, Clone, Debug)]
15768#[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)"]
15769pub struct MarkerSpaceCreateInfoVARJO {
15770    pub ty: StructureType,
15771    pub next: *const c_void,
15772    pub marker_id: u64,
15773    pub pose_in_marker_space: Posef,
15774}
15775impl MarkerSpaceCreateInfoVARJO {
15776    pub const TYPE: StructureType = StructureType::MARKER_SPACE_CREATE_INFO_VARJO;
15777}
15778#[repr(C)]
15779#[derive(Copy, Clone, Debug)]
15780#[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)"]
15781pub struct GlobalDimmerFrameEndInfoML {
15782    pub ty: StructureType,
15783    pub next: *const c_void,
15784    pub dimmer_value: f32,
15785    pub flags: GlobalDimmerFrameEndInfoFlagsML,
15786}
15787impl GlobalDimmerFrameEndInfoML {
15788    pub const TYPE: StructureType = StructureType::GLOBAL_DIMMER_FRAME_END_INFO_ML;
15789}
15790#[repr(C)]
15791#[derive(Copy, Clone, Debug)]
15792#[doc = "See [XrDigitalLensControlALMALENCE](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDigitalLensControlALMALENCE)"]
15793pub struct DigitalLensControlALMALENCE {
15794    pub ty: StructureType,
15795    pub next: *const c_void,
15796    pub flags: DigitalLensControlFlagsALMALENCE,
15797}
15798impl DigitalLensControlALMALENCE {
15799    pub const TYPE: StructureType = StructureType::DIGITAL_LENS_CONTROL_ALMALENCE;
15800}
15801#[repr(C)]
15802#[derive(Copy, Clone, Debug)]
15803#[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)"]
15804pub struct CompositionLayerSettingsFB {
15805    pub ty: StructureType,
15806    pub next: *const c_void,
15807    pub layer_flags: CompositionLayerSettingsFlagsFB,
15808}
15809impl CompositionLayerSettingsFB {
15810    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_SETTINGS_FB;
15811}
15812#[repr(C)]
15813#[derive(Copy, Clone, Debug, PartialEq)]
15814#[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)"]
15815pub struct ExternalCameraIntrinsicsOCULUS {
15816    pub last_change_time: Time,
15817    pub fov: Fovf,
15818    pub virtual_near_plane_distance: f32,
15819    pub virtual_far_plane_distance: f32,
15820    pub image_sensor_pixel_resolution: Extent2Di,
15821}
15822#[repr(C)]
15823#[derive(Copy, Clone, Debug, PartialEq)]
15824#[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)"]
15825pub struct ExternalCameraExtrinsicsOCULUS {
15826    pub last_change_time: Time,
15827    pub camera_status_flags: ExternalCameraStatusFlagsOCULUS,
15828    pub attached_to_device: ExternalCameraAttachedToDeviceOCULUS,
15829    pub relative_pose: Posef,
15830}
15831#[repr(C)]
15832#[derive(Copy, Clone, Debug)]
15833#[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)"]
15834pub struct ExternalCameraOCULUS {
15835    pub ty: StructureType,
15836    pub next: *const c_void,
15837    pub name: [c_char; MAX_EXTERNAL_CAMERA_NAME_SIZE_OCULUS],
15838    pub intrinsics: ExternalCameraIntrinsicsOCULUS,
15839    pub extrinsics: ExternalCameraExtrinsicsOCULUS,
15840}
15841impl ExternalCameraOCULUS {
15842    pub const TYPE: StructureType = StructureType::EXTERNAL_CAMERA_OCULUS;
15843}
15844#[repr(C)]
15845#[derive(Copy, Clone, Debug)]
15846#[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)"]
15847pub struct PerformanceMetricsStateMETA {
15848    pub ty: StructureType,
15849    pub next: *const c_void,
15850    pub enabled: Bool32,
15851}
15852impl PerformanceMetricsStateMETA {
15853    pub const TYPE: StructureType = StructureType::PERFORMANCE_METRICS_STATE_META;
15854}
15855#[repr(C)]
15856#[derive(Copy, Clone, Debug)]
15857#[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)"]
15858pub struct PerformanceMetricsCounterMETA {
15859    pub ty: StructureType,
15860    pub next: *const c_void,
15861    pub counter_flags: PerformanceMetricsCounterFlagsMETA,
15862    pub counter_unit: PerformanceMetricsCounterUnitMETA,
15863    pub uint_value: u32,
15864    pub float_value: f32,
15865}
15866impl PerformanceMetricsCounterMETA {
15867    pub const TYPE: StructureType = StructureType::PERFORMANCE_METRICS_COUNTER_META;
15868}
15869#[repr(C)]
15870#[derive(Copy, Clone, Debug)]
15871#[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)"]
15872pub struct PassthroughPreferencesMETA {
15873    pub ty: StructureType,
15874    pub next: *const c_void,
15875    pub flags: PassthroughPreferenceFlagsMETA,
15876}
15877impl PassthroughPreferencesMETA {
15878    pub const TYPE: StructureType = StructureType::PASSTHROUGH_PREFERENCES_META;
15879}
15880#[repr(C)]
15881#[derive(Copy, Clone, Debug)]
15882#[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)"]
15883pub struct SystemHeadsetIdPropertiesMETA {
15884    pub ty: StructureType,
15885    pub next: *mut c_void,
15886    pub id: UuidEXT,
15887}
15888impl SystemHeadsetIdPropertiesMETA {
15889    pub const TYPE: StructureType = StructureType::SYSTEM_HEADSET_ID_PROPERTIES_META;
15890    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15891    #[inline]
15892    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15893        let mut x = MaybeUninit::<Self>::uninit();
15894        unsafe {
15895            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15896                ty: Self::TYPE,
15897                next,
15898            });
15899        }
15900        x
15901    }
15902}
15903#[repr(C)]
15904#[derive(Copy, Clone, Debug)]
15905#[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)"]
15906pub struct SystemSpacePersistencePropertiesMETA {
15907    pub ty: StructureType,
15908    pub next: *const c_void,
15909    pub supports_space_persistence: Bool32,
15910}
15911impl SystemSpacePersistencePropertiesMETA {
15912    pub const TYPE: StructureType = StructureType::SYSTEM_SPACE_PERSISTENCE_PROPERTIES_META;
15913}
15914#[repr(C)]
15915#[derive(Copy, Clone, Debug)]
15916#[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)"]
15917pub struct SpacesSaveInfoMETA {
15918    pub ty: StructureType,
15919    pub next: *const c_void,
15920    pub space_count: u32,
15921    pub spaces: *mut Space,
15922}
15923impl SpacesSaveInfoMETA {
15924    pub const TYPE: StructureType = StructureType::SPACES_SAVE_INFO_META;
15925}
15926#[repr(C)]
15927#[derive(Copy, Clone, Debug)]
15928#[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)"]
15929pub struct EventDataSpacesSaveResultMETA {
15930    pub ty: StructureType,
15931    pub next: *const c_void,
15932    pub request_id: AsyncRequestIdFB,
15933    pub result: Result,
15934}
15935impl EventDataSpacesSaveResultMETA {
15936    pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACES_SAVE_RESULT_META;
15937}
15938#[repr(C)]
15939#[derive(Copy, Clone, Debug)]
15940#[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)"]
15941pub struct SpacesEraseInfoMETA {
15942    pub ty: StructureType,
15943    pub next: *const c_void,
15944    pub space_count: u32,
15945    pub spaces: *mut Space,
15946    pub uuid_count: u32,
15947    pub uuids: *mut UuidEXT,
15948}
15949impl SpacesEraseInfoMETA {
15950    pub const TYPE: StructureType = StructureType::SPACES_ERASE_INFO_META;
15951}
15952#[repr(C)]
15953#[derive(Copy, Clone, Debug)]
15954#[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)"]
15955pub struct EventDataSpacesEraseResultMETA {
15956    pub ty: StructureType,
15957    pub next: *const c_void,
15958    pub request_id: AsyncRequestIdFB,
15959    pub result: Result,
15960}
15961impl EventDataSpacesEraseResultMETA {
15962    pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACES_ERASE_RESULT_META;
15963}
15964#[repr(C)]
15965#[derive(Copy, Clone, Debug)]
15966#[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)"]
15967pub struct SystemSpaceDiscoveryPropertiesMETA {
15968    pub ty: StructureType,
15969    pub next: *const c_void,
15970    pub supports_space_discovery: Bool32,
15971}
15972impl SystemSpaceDiscoveryPropertiesMETA {
15973    pub const TYPE: StructureType = StructureType::SYSTEM_SPACE_DISCOVERY_PROPERTIES_META;
15974}
15975#[repr(C)]
15976#[derive(Copy, Clone, Debug)]
15977#[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)"]
15978pub struct SpaceFilterBaseHeaderMETA {
15979    pub ty: StructureType,
15980    pub next: *const c_void,
15981}
15982#[repr(C)]
15983#[derive(Copy, Clone, Debug)]
15984#[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)"]
15985pub struct SpaceDiscoveryInfoMETA {
15986    pub ty: StructureType,
15987    pub next: *const c_void,
15988    pub filter_count: u32,
15989    pub filters: *const *const SpaceFilterBaseHeaderMETA,
15990}
15991impl SpaceDiscoveryInfoMETA {
15992    pub const TYPE: StructureType = StructureType::SPACE_DISCOVERY_INFO_META;
15993}
15994#[repr(C)]
15995#[derive(Copy, Clone, Debug)]
15996#[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)"]
15997pub struct SpaceFilterUuidMETA {
15998    pub ty: StructureType,
15999    pub next: *const c_void,
16000    pub uuid_count: u32,
16001    pub uuids: *const UuidEXT,
16002}
16003impl SpaceFilterUuidMETA {
16004    pub const TYPE: StructureType = StructureType::SPACE_FILTER_UUID_META;
16005}
16006#[repr(C)]
16007#[derive(Copy, Clone, Debug)]
16008#[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)"]
16009pub struct SpaceFilterComponentMETA {
16010    pub ty: StructureType,
16011    pub next: *const c_void,
16012    pub component_type: SpaceComponentTypeFB,
16013}
16014impl SpaceFilterComponentMETA {
16015    pub const TYPE: StructureType = StructureType::SPACE_FILTER_COMPONENT_META;
16016}
16017#[repr(C)]
16018#[derive(Copy, Clone, Debug)]
16019#[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)"]
16020pub struct SpaceDiscoveryResultMETA {
16021    pub space: Space,
16022    pub uuid: UuidEXT,
16023}
16024#[repr(C)]
16025#[derive(Copy, Clone, Debug)]
16026#[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)"]
16027pub struct SpaceDiscoveryResultsMETA {
16028    pub ty: StructureType,
16029    pub next: *const c_void,
16030    pub result_capacity_input: u32,
16031    pub result_count_output: u32,
16032    pub results: *mut SpaceDiscoveryResultMETA,
16033}
16034impl SpaceDiscoveryResultsMETA {
16035    pub const TYPE: StructureType = StructureType::SPACE_DISCOVERY_RESULTS_META;
16036}
16037#[repr(C)]
16038#[derive(Copy, Clone, Debug)]
16039#[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)"]
16040pub struct EventDataSpaceDiscoveryResultsAvailableMETA {
16041    pub ty: StructureType,
16042    pub next: *const c_void,
16043    pub request_id: AsyncRequestIdFB,
16044}
16045impl EventDataSpaceDiscoveryResultsAvailableMETA {
16046    pub const TYPE: StructureType =
16047        StructureType::EVENT_DATA_SPACE_DISCOVERY_RESULTS_AVAILABLE_META;
16048}
16049#[repr(C)]
16050#[derive(Copy, Clone, Debug)]
16051#[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)"]
16052pub struct EventDataSpaceDiscoveryCompleteMETA {
16053    pub ty: StructureType,
16054    pub next: *const c_void,
16055    pub request_id: AsyncRequestIdFB,
16056    pub result: Result,
16057}
16058impl EventDataSpaceDiscoveryCompleteMETA {
16059    pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_DISCOVERY_COMPLETE_META;
16060}
16061#[repr(C)]
16062#[derive(Copy, Clone, Debug)]
16063#[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)"]
16064pub struct PassthroughColorLutDataMETA {
16065    pub buffer_size: u32,
16066    pub buffer: *const u8,
16067}
16068#[repr(C)]
16069#[derive(Copy, Clone, Debug)]
16070#[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)"]
16071pub struct PassthroughColorLutCreateInfoMETA {
16072    pub ty: StructureType,
16073    pub next: *const c_void,
16074    pub channels: PassthroughColorLutChannelsMETA,
16075    pub resolution: u32,
16076    pub data: PassthroughColorLutDataMETA,
16077}
16078impl PassthroughColorLutCreateInfoMETA {
16079    pub const TYPE: StructureType = StructureType::PASSTHROUGH_COLOR_LUT_CREATE_INFO_META;
16080}
16081#[repr(C)]
16082#[derive(Copy, Clone, Debug)]
16083#[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)"]
16084pub struct PassthroughColorLutUpdateInfoMETA {
16085    pub ty: StructureType,
16086    pub next: *const c_void,
16087    pub data: PassthroughColorLutDataMETA,
16088}
16089impl PassthroughColorLutUpdateInfoMETA {
16090    pub const TYPE: StructureType = StructureType::PASSTHROUGH_COLOR_LUT_UPDATE_INFO_META;
16091}
16092#[repr(C)]
16093#[derive(Copy, Clone, Debug)]
16094#[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)"]
16095pub struct PassthroughColorMapLutMETA {
16096    pub ty: StructureType,
16097    pub next: *const c_void,
16098    pub color_lut: PassthroughColorLutMETA,
16099    pub weight: f32,
16100}
16101impl PassthroughColorMapLutMETA {
16102    pub const TYPE: StructureType = StructureType::PASSTHROUGH_COLOR_MAP_LUT_META;
16103}
16104#[repr(C)]
16105#[derive(Copy, Clone, Debug)]
16106#[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)"]
16107pub struct PassthroughColorMapInterpolatedLutMETA {
16108    pub ty: StructureType,
16109    pub next: *const c_void,
16110    pub source_color_lut: PassthroughColorLutMETA,
16111    pub target_color_lut: PassthroughColorLutMETA,
16112    pub weight: f32,
16113}
16114impl PassthroughColorMapInterpolatedLutMETA {
16115    pub const TYPE: StructureType = StructureType::PASSTHROUGH_COLOR_MAP_INTERPOLATED_LUT_META;
16116}
16117#[repr(C)]
16118#[derive(Copy, Clone, Debug)]
16119#[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)"]
16120pub struct SystemPassthroughColorLutPropertiesMETA {
16121    pub ty: StructureType,
16122    pub next: *const c_void,
16123    pub max_color_lut_resolution: u32,
16124}
16125impl SystemPassthroughColorLutPropertiesMETA {
16126    pub const TYPE: StructureType = StructureType::SYSTEM_PASSTHROUGH_COLOR_LUT_PROPERTIES_META;
16127}
16128#[repr(C)]
16129#[derive(Copy, Clone, Debug)]
16130#[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)"]
16131pub struct FoveationApplyInfoHTC {
16132    pub ty: StructureType,
16133    pub next: *const c_void,
16134    pub mode: FoveationModeHTC,
16135    pub sub_image_count: u32,
16136    pub sub_images: *mut SwapchainSubImage,
16137}
16138impl FoveationApplyInfoHTC {
16139    pub const TYPE: StructureType = StructureType::FOVEATION_APPLY_INFO_HTC;
16140}
16141#[repr(C)]
16142#[derive(Copy, Clone, Debug, Default, PartialEq)]
16143#[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)"]
16144pub struct FoveationConfigurationHTC {
16145    pub level: FoveationLevelHTC,
16146    pub clear_fov_degree: f32,
16147    pub focal_center_offset: Vector2f,
16148}
16149#[repr(C)]
16150#[derive(Copy, Clone, Debug)]
16151#[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)"]
16152pub struct FoveationDynamicModeInfoHTC {
16153    pub ty: StructureType,
16154    pub next: *const c_void,
16155    pub dynamic_flags: FoveationDynamicFlagsHTC,
16156}
16157impl FoveationDynamicModeInfoHTC {
16158    pub const TYPE: StructureType = StructureType::FOVEATION_DYNAMIC_MODE_INFO_HTC;
16159}
16160#[repr(C)]
16161#[derive(Copy, Clone, Debug)]
16162#[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)"]
16163pub struct FoveationCustomModeInfoHTC {
16164    pub ty: StructureType,
16165    pub next: *const c_void,
16166    pub config_count: u32,
16167    pub configs: *const FoveationConfigurationHTC,
16168}
16169impl FoveationCustomModeInfoHTC {
16170    pub const TYPE: StructureType = StructureType::FOVEATION_CUSTOM_MODE_INFO_HTC;
16171}
16172#[repr(C)]
16173#[derive(Copy, Clone, Debug)]
16174#[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)"]
16175pub struct ActiveActionSetPrioritiesEXT {
16176    pub ty: StructureType,
16177    pub next: *const c_void,
16178    pub action_set_priority_count: u32,
16179    pub action_set_priorities: *const ActiveActionSetPriorityEXT,
16180}
16181impl ActiveActionSetPrioritiesEXT {
16182    pub const TYPE: StructureType = StructureType::ACTIVE_ACTION_SET_PRIORITIES_EXT;
16183}
16184#[repr(C)]
16185#[derive(Copy, Clone, Debug)]
16186#[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)"]
16187pub struct ActiveActionSetPriorityEXT {
16188    pub action_set: ActionSet,
16189    pub priority_override: u32,
16190}
16191#[repr(C)]
16192#[derive(Copy, Clone, Debug)]
16193#[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)"]
16194pub struct CompositionLayerDepthTestFB {
16195    pub ty: StructureType,
16196    pub next: *const c_void,
16197    pub depth_mask: Bool32,
16198    pub compare_op: CompareOpFB,
16199}
16200impl CompositionLayerDepthTestFB {
16201    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_DEPTH_TEST_FB;
16202}
16203#[repr(C)]
16204#[derive(Copy, Clone, Debug)]
16205#[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)"]
16206pub struct CoordinateSpaceCreateInfoML {
16207    pub ty: StructureType,
16208    pub next: *const c_void,
16209    pub cfuid: MLCoordinateFrameUID,
16210    pub pose_in_coordinate_space: Posef,
16211}
16212impl CoordinateSpaceCreateInfoML {
16213    pub const TYPE: StructureType = StructureType::COORDINATE_SPACE_CREATE_INFO_ML;
16214}
16215#[repr(C)]
16216#[derive(Copy, Clone, Debug)]
16217#[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)"]
16218pub struct FrameEndInfoML {
16219    pub ty: StructureType,
16220    pub next: *const c_void,
16221    pub focus_distance: f32,
16222    pub flags: FrameEndInfoFlagsML,
16223}
16224impl FrameEndInfoML {
16225    pub const TYPE: StructureType = StructureType::FRAME_END_INFO_ML;
16226}
16227#[repr(C)]
16228#[derive(Copy, Clone, Debug)]
16229#[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)"]
16230pub struct HapticAmplitudeEnvelopeVibrationFB {
16231    pub ty: StructureType,
16232    pub next: *const c_void,
16233    pub duration: Duration,
16234    pub amplitude_count: u32,
16235    pub amplitudes: *const f32,
16236}
16237impl HapticAmplitudeEnvelopeVibrationFB {
16238    pub const TYPE: StructureType = StructureType::HAPTIC_AMPLITUDE_ENVELOPE_VIBRATION_FB;
16239}
16240#[repr(C)]
16241#[derive(Copy, Clone, Debug)]
16242#[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)"]
16243pub struct HapticPcmVibrationFB {
16244    pub ty: StructureType,
16245    pub next: *const c_void,
16246    pub buffer_size: u32,
16247    pub buffer: *const f32,
16248    pub sample_rate: f32,
16249    pub append: Bool32,
16250    pub samples_consumed: *mut u32,
16251}
16252impl HapticPcmVibrationFB {
16253    pub const TYPE: StructureType = StructureType::HAPTIC_PCM_VIBRATION_FB;
16254}
16255#[repr(C)]
16256#[derive(Copy, Clone, Debug)]
16257#[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)"]
16258pub struct DevicePcmSampleRateStateFB {
16259    pub ty: StructureType,
16260    pub next: *mut c_void,
16261    pub sample_rate: f32,
16262}
16263impl DevicePcmSampleRateStateFB {
16264    pub const TYPE: StructureType = StructureType::DEVICE_PCM_SAMPLE_RATE_STATE_FB;
16265    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16266    #[inline]
16267    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16268        let mut x = MaybeUninit::<Self>::uninit();
16269        unsafe {
16270            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16271                ty: Self::TYPE,
16272                next,
16273            });
16274        }
16275        x
16276    }
16277}
16278pub type DevicePcmSampleRateGetInfoFB = DevicePcmSampleRateStateFB;
16279#[repr(C)]
16280#[derive(Copy, Clone, Debug)]
16281#[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)"]
16282pub struct SpaceUserCreateInfoFB {
16283    pub ty: StructureType,
16284    pub next: *const c_void,
16285    pub user_id: SpaceUserIdFB,
16286}
16287impl SpaceUserCreateInfoFB {
16288    pub const TYPE: StructureType = StructureType::SPACE_USER_CREATE_INFO_FB;
16289}
16290#[repr(C)]
16291#[derive(Copy, Clone, Debug)]
16292#[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)"]
16293pub struct SystemForceFeedbackCurlPropertiesMNDX {
16294    pub ty: StructureType,
16295    pub next: *mut c_void,
16296    pub supports_force_feedback_curl: Bool32,
16297}
16298impl SystemForceFeedbackCurlPropertiesMNDX {
16299    pub const TYPE: StructureType = StructureType::SYSTEM_FORCE_FEEDBACK_CURL_PROPERTIES_MNDX;
16300    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16301    #[inline]
16302    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16303        let mut x = MaybeUninit::<Self>::uninit();
16304        unsafe {
16305            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16306                ty: Self::TYPE,
16307                next,
16308            });
16309        }
16310        x
16311    }
16312}
16313#[repr(C)]
16314#[derive(Copy, Clone, Debug)]
16315#[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)"]
16316pub struct ForceFeedbackCurlApplyLocationsMNDX {
16317    pub ty: StructureType,
16318    pub next: *const c_void,
16319    pub location_count: u32,
16320    pub locations: *mut ForceFeedbackCurlApplyLocationMNDX,
16321}
16322impl ForceFeedbackCurlApplyLocationsMNDX {
16323    pub const TYPE: StructureType = StructureType::FORCE_FEEDBACK_CURL_APPLY_LOCATIONS_MNDX;
16324}
16325#[repr(C)]
16326#[derive(Copy, Clone, Debug, Default, PartialEq)]
16327#[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)"]
16328pub struct ForceFeedbackCurlApplyLocationMNDX {
16329    pub location: ForceFeedbackCurlLocationMNDX,
16330    pub value: f32,
16331}
16332#[repr(C)]
16333#[derive(Copy, Clone, Debug)]
16334#[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)"]
16335#[cfg(target_os = "android")]
16336pub struct FaceTrackerCreateInfoANDROID {
16337    pub ty: StructureType,
16338    pub next: *const c_void,
16339}
16340#[cfg(target_os = "android")]
16341impl FaceTrackerCreateInfoANDROID {
16342    pub const TYPE: StructureType = StructureType::FACE_TRACKER_CREATE_INFO_ANDROID;
16343}
16344#[repr(C)]
16345#[derive(Copy, Clone, Debug)]
16346#[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)"]
16347#[cfg(target_os = "android")]
16348pub struct FaceStateGetInfoANDROID {
16349    pub ty: StructureType,
16350    pub next: *const c_void,
16351    pub time: Time,
16352}
16353#[cfg(target_os = "android")]
16354impl FaceStateGetInfoANDROID {
16355    pub const TYPE: StructureType = StructureType::FACE_STATE_GET_INFO_ANDROID;
16356}
16357#[repr(C)]
16358#[derive(Copy, Clone, Debug)]
16359#[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)"]
16360#[cfg(target_os = "android")]
16361pub struct FaceStateANDROID {
16362    pub ty: StructureType,
16363    pub next: *mut c_void,
16364    pub parameters_capacity_input: u32,
16365    pub parameters_count_output: u32,
16366    pub parameters: *mut f32,
16367    pub face_tracking_state: FaceTrackingStateANDROID,
16368    pub sample_time: Time,
16369    pub is_valid: Bool32,
16370    pub region_confidences_capacity_input: u32,
16371    pub region_confidences_count_output: u32,
16372    pub region_confidences: *mut f32,
16373}
16374#[cfg(target_os = "android")]
16375impl FaceStateANDROID {
16376    pub const TYPE: StructureType = StructureType::FACE_STATE_ANDROID;
16377    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16378    #[inline]
16379    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16380        let mut x = MaybeUninit::<Self>::uninit();
16381        unsafe {
16382            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16383                ty: Self::TYPE,
16384                next,
16385            });
16386        }
16387        x
16388    }
16389}
16390#[repr(C)]
16391#[derive(Copy, Clone, Debug)]
16392#[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)"]
16393#[cfg(target_os = "android")]
16394pub struct SystemFaceTrackingPropertiesANDROID {
16395    pub ty: StructureType,
16396    pub next: *mut c_void,
16397    pub supports_face_tracking: Bool32,
16398}
16399#[cfg(target_os = "android")]
16400impl SystemFaceTrackingPropertiesANDROID {
16401    pub const TYPE: StructureType = StructureType::SYSTEM_FACE_TRACKING_PROPERTIES_ANDROID;
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 [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)"]
16418#[cfg(target_os = "android")]
16419pub struct SystemPassthroughCameraStatePropertiesANDROID {
16420    pub ty: StructureType,
16421    pub next: *mut c_void,
16422    pub supports_passthrough_camera_state: Bool32,
16423}
16424#[cfg(target_os = "android")]
16425impl SystemPassthroughCameraStatePropertiesANDROID {
16426    pub const TYPE: StructureType =
16427        StructureType::SYSTEM_PASSTHROUGH_CAMERA_STATE_PROPERTIES_ANDROID;
16428    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16429    #[inline]
16430    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16431        let mut x = MaybeUninit::<Self>::uninit();
16432        unsafe {
16433            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16434                ty: Self::TYPE,
16435                next,
16436            });
16437        }
16438        x
16439    }
16440}
16441#[repr(C)]
16442#[derive(Copy, Clone, Debug)]
16443#[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)"]
16444#[cfg(target_os = "android")]
16445pub struct PassthroughCameraStateGetInfoANDROID {
16446    pub ty: StructureType,
16447    pub next: *const c_void,
16448}
16449#[cfg(target_os = "android")]
16450impl PassthroughCameraStateGetInfoANDROID {
16451    pub const TYPE: StructureType = StructureType::PASSTHROUGH_CAMERA_STATE_GET_INFO_ANDROID;
16452}
16453#[repr(C)]
16454#[derive(Copy, Clone, Debug)]
16455#[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)"]
16456#[cfg(target_os = "android")]
16457pub struct TrackableTrackerCreateInfoANDROID {
16458    pub ty: StructureType,
16459    pub next: *const c_void,
16460    pub trackable_type: TrackableTypeANDROID,
16461}
16462#[cfg(target_os = "android")]
16463impl TrackableTrackerCreateInfoANDROID {
16464    pub const TYPE: StructureType = StructureType::TRACKABLE_TRACKER_CREATE_INFO_ANDROID;
16465}
16466#[repr(C)]
16467#[derive(Copy, Clone, Debug)]
16468#[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)"]
16469#[cfg(target_os = "android")]
16470pub struct TrackableGetInfoANDROID {
16471    pub ty: StructureType,
16472    pub next: *const c_void,
16473    pub trackable: TrackableANDROID,
16474    pub base_space: Space,
16475    pub time: Time,
16476}
16477#[cfg(target_os = "android")]
16478impl TrackableGetInfoANDROID {
16479    pub const TYPE: StructureType = StructureType::TRACKABLE_GET_INFO_ANDROID;
16480}
16481#[repr(C)]
16482#[derive(Copy, Clone, Debug)]
16483#[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)"]
16484#[cfg(target_os = "android")]
16485pub struct TrackablePlaneANDROID {
16486    pub ty: StructureType,
16487    pub next: *mut c_void,
16488    pub tracking_state: TrackingStateANDROID,
16489    pub center_pose: Posef,
16490    pub extents: Extent2Df,
16491    pub plane_type: PlaneTypeANDROID,
16492    pub plane_label: PlaneLabelANDROID,
16493    pub subsumed_by_plane: TrackableANDROID,
16494    pub last_updated_time: Time,
16495    pub vertex_capacity_input: u32,
16496    pub vertex_count_output: *mut u32,
16497    pub vertices: *mut Vector2f,
16498}
16499#[cfg(target_os = "android")]
16500impl TrackablePlaneANDROID {
16501    pub const TYPE: StructureType = StructureType::TRACKABLE_PLANE_ANDROID;
16502    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16503    #[inline]
16504    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16505        let mut x = MaybeUninit::<Self>::uninit();
16506        unsafe {
16507            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16508                ty: Self::TYPE,
16509                next,
16510            });
16511        }
16512        x
16513    }
16514}
16515#[repr(C)]
16516#[derive(Copy, Clone, Debug)]
16517#[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)"]
16518#[cfg(target_os = "android")]
16519pub struct AnchorSpaceCreateInfoANDROID {
16520    pub ty: StructureType,
16521    pub next: *const c_void,
16522    pub space: Space,
16523    pub time: Time,
16524    pub pose: Posef,
16525    pub trackable: TrackableANDROID,
16526}
16527#[cfg(target_os = "android")]
16528impl AnchorSpaceCreateInfoANDROID {
16529    pub const TYPE: StructureType = StructureType::ANCHOR_SPACE_CREATE_INFO_ANDROID;
16530}
16531#[repr(C)]
16532#[derive(Copy, Clone, Debug)]
16533#[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)"]
16534#[cfg(target_os = "android")]
16535pub struct SystemTrackablesPropertiesANDROID {
16536    pub ty: StructureType,
16537    pub next: *const c_void,
16538    pub supports_anchor: Bool32,
16539    pub max_anchors: u32,
16540}
16541#[cfg(target_os = "android")]
16542impl SystemTrackablesPropertiesANDROID {
16543    pub const TYPE: StructureType = StructureType::SYSTEM_TRACKABLES_PROPERTIES_ANDROID;
16544}
16545#[repr(C)]
16546#[derive(Copy, Clone, Debug)]
16547#[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)"]
16548#[cfg(target_os = "android")]
16549pub struct TrackableObjectANDROID {
16550    pub ty: StructureType,
16551    pub next: *mut c_void,
16552    pub tracking_state: TrackingStateANDROID,
16553    pub center_pose: Posef,
16554    pub extents: Extent3DfEXT,
16555    pub object_label: ObjectLabelANDROID,
16556    pub last_updated_time: Time,
16557}
16558#[cfg(target_os = "android")]
16559impl TrackableObjectANDROID {
16560    pub const TYPE: StructureType = StructureType::TRACKABLE_OBJECT_ANDROID;
16561    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16562    #[inline]
16563    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16564        let mut x = MaybeUninit::<Self>::uninit();
16565        unsafe {
16566            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16567                ty: Self::TYPE,
16568                next,
16569            });
16570        }
16571        x
16572    }
16573}
16574#[repr(C)]
16575#[derive(Copy, Clone, Debug)]
16576#[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)"]
16577#[cfg(target_os = "android")]
16578pub struct TrackableObjectConfigurationANDROID {
16579    pub ty: StructureType,
16580    pub next: *mut c_void,
16581    pub label_count: u32,
16582    pub active_labels: *const ObjectLabelANDROID,
16583}
16584#[cfg(target_os = "android")]
16585impl TrackableObjectConfigurationANDROID {
16586    pub const TYPE: StructureType = StructureType::TRACKABLE_OBJECT_CONFIGURATION_ANDROID;
16587    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16588    #[inline]
16589    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16590        let mut x = MaybeUninit::<Self>::uninit();
16591        unsafe {
16592            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16593                ty: Self::TYPE,
16594                next,
16595            });
16596        }
16597        x
16598    }
16599}
16600#[repr(C)]
16601#[derive(Copy, Clone, Debug)]
16602#[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)"]
16603#[cfg(target_os = "android")]
16604pub struct RaycastInfoANDROID {
16605    pub ty: StructureType,
16606    pub next: *const c_void,
16607    pub max_results: u32,
16608    pub tracker_count: u32,
16609    pub trackers: *const TrackableTrackerANDROID,
16610    pub origin: Vector3f,
16611    pub trajectory: Vector3f,
16612    pub space: Space,
16613    pub time: Time,
16614}
16615#[cfg(target_os = "android")]
16616impl RaycastInfoANDROID {
16617    pub const TYPE: StructureType = StructureType::RAYCAST_INFO_ANDROID;
16618}
16619#[repr(C)]
16620#[derive(Copy, Clone, Debug, Default, PartialEq)]
16621#[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)"]
16622#[cfg(target_os = "android")]
16623pub struct RaycastHitResultANDROID {
16624    pub ty: TrackableTypeANDROID,
16625    pub trackable: TrackableANDROID,
16626    pub pose: Posef,
16627}
16628#[repr(C)]
16629#[derive(Copy, Clone, Debug)]
16630#[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)"]
16631#[cfg(target_os = "android")]
16632pub struct RaycastHitResultsANDROID {
16633    pub ty: StructureType,
16634    pub next: *mut c_void,
16635    pub results_capacity_input: u32,
16636    pub results_count_output: u32,
16637    pub results: *mut RaycastHitResultANDROID,
16638}
16639#[cfg(target_os = "android")]
16640impl RaycastHitResultsANDROID {
16641    pub const TYPE: StructureType = StructureType::RAYCAST_HIT_RESULTS_ANDROID;
16642    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16643    #[inline]
16644    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16645        let mut x = MaybeUninit::<Self>::uninit();
16646        unsafe {
16647            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16648                ty: Self::TYPE,
16649                next,
16650            });
16651        }
16652        x
16653    }
16654}
16655#[repr(C)]
16656#[derive(Copy, Clone, Debug)]
16657#[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)"]
16658#[cfg(target_os = "android")]
16659pub struct SystemMarkerTrackingPropertiesANDROID {
16660    pub ty: StructureType,
16661    pub next: *mut c_void,
16662    pub supports_marker_tracking: Bool32,
16663    pub supports_marker_size_estimation: Bool32,
16664    pub max_marker_count: u16,
16665}
16666#[cfg(target_os = "android")]
16667impl SystemMarkerTrackingPropertiesANDROID {
16668    pub const TYPE: StructureType = StructureType::SYSTEM_MARKER_TRACKING_PROPERTIES_ANDROID;
16669    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16670    #[inline]
16671    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16672        let mut x = MaybeUninit::<Self>::uninit();
16673        unsafe {
16674            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16675                ty: Self::TYPE,
16676                next,
16677            });
16678        }
16679        x
16680    }
16681}
16682#[repr(C)]
16683#[derive(Copy, Clone, Debug)]
16684#[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)"]
16685#[cfg(target_os = "android")]
16686pub struct TrackableMarkerConfigurationANDROID {
16687    pub ty: StructureType,
16688    pub next: *mut c_void,
16689    pub tracking_mode: TrackableMarkerTrackingModeANDROID,
16690    pub database_count: u32,
16691    pub databases: *const TrackableMarkerDatabaseANDROID,
16692}
16693#[cfg(target_os = "android")]
16694impl TrackableMarkerConfigurationANDROID {
16695    pub const TYPE: StructureType = StructureType::TRACKABLE_MARKER_CONFIGURATION_ANDROID;
16696    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16697    #[inline]
16698    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16699        let mut x = MaybeUninit::<Self>::uninit();
16700        unsafe {
16701            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16702                ty: Self::TYPE,
16703                next,
16704            });
16705        }
16706        x
16707    }
16708}
16709#[repr(C)]
16710#[derive(Copy, Clone, Debug)]
16711#[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)"]
16712#[cfg(target_os = "android")]
16713pub struct TrackableMarkerDatabaseANDROID {
16714    pub dictionary: TrackableMarkerDictionaryANDROID,
16715    pub entry_count: u32,
16716    pub entries: *const TrackableMarkerDatabaseEntryANDROID,
16717}
16718#[repr(C)]
16719#[derive(Copy, Clone, Debug, Default, PartialEq)]
16720#[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)"]
16721#[cfg(target_os = "android")]
16722pub struct TrackableMarkerDatabaseEntryANDROID {
16723    pub id: i32,
16724    pub edge_size: f32,
16725}
16726#[repr(C)]
16727#[derive(Copy, Clone, Debug)]
16728#[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)"]
16729#[cfg(target_os = "android")]
16730pub struct TrackableMarkerANDROID {
16731    pub ty: StructureType,
16732    pub next: *mut c_void,
16733    pub tracking_state: TrackingStateANDROID,
16734    pub last_updated_time: Time,
16735    pub dictionary: TrackableMarkerDictionaryANDROID,
16736    pub marker_id: i32,
16737    pub center_pose: Posef,
16738    pub extents: Extent2Df,
16739}
16740#[cfg(target_os = "android")]
16741impl TrackableMarkerANDROID {
16742    pub const TYPE: StructureType = StructureType::TRACKABLE_MARKER_ANDROID;
16743    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16744    #[inline]
16745    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16746        let mut x = MaybeUninit::<Self>::uninit();
16747        unsafe {
16748            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16749                ty: Self::TYPE,
16750                next,
16751            });
16752        }
16753        x
16754    }
16755}
16756#[repr(C)]
16757#[derive(Copy, Clone, Debug)]
16758#[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)"]
16759#[cfg(target_os = "android")]
16760pub struct SystemAnchorSharingExportPropertiesANDROID {
16761    pub ty: StructureType,
16762    pub next: *mut c_void,
16763    pub supports_anchor_sharing_export: Bool32,
16764}
16765#[cfg(target_os = "android")]
16766impl SystemAnchorSharingExportPropertiesANDROID {
16767    pub const TYPE: StructureType = StructureType::SYSTEM_ANCHOR_SHARING_EXPORT_PROPERTIES_ANDROID;
16768    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16769    #[inline]
16770    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16771        let mut x = MaybeUninit::<Self>::uninit();
16772        unsafe {
16773            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16774                ty: Self::TYPE,
16775                next,
16776            });
16777        }
16778        x
16779    }
16780}
16781#[repr(C)]
16782#[derive(Copy, Clone, Debug)]
16783#[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)"]
16784#[cfg(target_os = "android")]
16785pub struct AnchorSharingInfoANDROID {
16786    pub ty: StructureType,
16787    pub next: *const c_void,
16788    pub anchor: Space,
16789}
16790#[cfg(target_os = "android")]
16791impl AnchorSharingInfoANDROID {
16792    pub const TYPE: StructureType = StructureType::ANCHOR_SHARING_INFO_ANDROID;
16793}
16794#[repr(C)]
16795#[derive(Copy, Clone, Debug)]
16796#[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)"]
16797#[cfg(target_os = "android")]
16798pub struct AnchorSharingTokenANDROID {
16799    pub ty: StructureType,
16800    pub next: *mut c_void,
16801    pub token: *mut AIBinder,
16802}
16803#[cfg(target_os = "android")]
16804impl AnchorSharingTokenANDROID {
16805    pub const TYPE: StructureType = StructureType::ANCHOR_SHARING_TOKEN_ANDROID;
16806    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16807    #[inline]
16808    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16809        let mut x = MaybeUninit::<Self>::uninit();
16810        unsafe {
16811            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16812                ty: Self::TYPE,
16813                next,
16814            });
16815        }
16816        x
16817    }
16818}
16819#[repr(C)]
16820#[derive(Copy, Clone, Debug)]
16821#[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)"]
16822#[cfg(target_os = "android")]
16823pub struct DeviceAnchorPersistenceCreateInfoANDROID {
16824    pub ty: StructureType,
16825    pub next: *const c_void,
16826}
16827#[cfg(target_os = "android")]
16828impl DeviceAnchorPersistenceCreateInfoANDROID {
16829    pub const TYPE: StructureType = StructureType::DEVICE_ANCHOR_PERSISTENCE_CREATE_INFO_ANDROID;
16830}
16831#[repr(C)]
16832#[derive(Copy, Clone, Debug)]
16833#[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)"]
16834#[cfg(target_os = "android")]
16835pub struct PersistedAnchorSpaceCreateInfoANDROID {
16836    pub ty: StructureType,
16837    pub next: *const c_void,
16838    pub anchor_id: UuidEXT,
16839}
16840#[cfg(target_os = "android")]
16841impl PersistedAnchorSpaceCreateInfoANDROID {
16842    pub const TYPE: StructureType = StructureType::PERSISTED_ANCHOR_SPACE_CREATE_INFO_ANDROID;
16843}
16844#[repr(C)]
16845#[derive(Copy, Clone, Debug)]
16846#[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)"]
16847#[cfg(target_os = "android")]
16848pub struct PersistedAnchorSpaceInfoANDROID {
16849    pub ty: StructureType,
16850    pub next: *const c_void,
16851    pub anchor: Space,
16852}
16853#[cfg(target_os = "android")]
16854impl PersistedAnchorSpaceInfoANDROID {
16855    pub const TYPE: StructureType = StructureType::PERSISTED_ANCHOR_SPACE_INFO_ANDROID;
16856}
16857#[repr(C)]
16858#[derive(Copy, Clone, Debug)]
16859#[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)"]
16860#[cfg(target_os = "android")]
16861pub struct SystemDeviceAnchorPersistencePropertiesANDROID {
16862    pub ty: StructureType,
16863    pub next: *mut c_void,
16864    pub supports_anchor_persistence: Bool32,
16865}
16866#[cfg(target_os = "android")]
16867impl SystemDeviceAnchorPersistencePropertiesANDROID {
16868    pub const TYPE: StructureType =
16869        StructureType::SYSTEM_DEVICE_ANCHOR_PERSISTENCE_PROPERTIES_ANDROID;
16870    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16871    #[inline]
16872    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16873        let mut x = MaybeUninit::<Self>::uninit();
16874        unsafe {
16875            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16876                ty: Self::TYPE,
16877                next,
16878            });
16879        }
16880        x
16881    }
16882}
16883#[repr(C)]
16884#[derive(Copy, Clone, Debug)]
16885#[doc = "See [XrPerformanceMetricsStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerformanceMetricsStateANDROID) - defined by [XR_ANDROID_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_performance_metrics)"]
16886#[cfg(target_os = "android")]
16887pub struct PerformanceMetricsStateANDROID {
16888    pub ty: StructureType,
16889    pub next: *mut c_void,
16890    pub enabled: Bool32,
16891}
16892#[cfg(target_os = "android")]
16893impl PerformanceMetricsStateANDROID {
16894    pub const TYPE: StructureType = StructureType::PERFORMANCE_METRICS_STATE_ANDROID;
16895    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16896    #[inline]
16897    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16898        let mut x = MaybeUninit::<Self>::uninit();
16899        unsafe {
16900            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16901                ty: Self::TYPE,
16902                next,
16903            });
16904        }
16905        x
16906    }
16907}
16908#[repr(C)]
16909#[derive(Copy, Clone, Debug)]
16910#[doc = "See [XrPerformanceMetricsCounterANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerformanceMetricsCounterANDROID) - defined by [XR_ANDROID_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_performance_metrics)"]
16911#[cfg(target_os = "android")]
16912pub struct PerformanceMetricsCounterANDROID {
16913    pub ty: StructureType,
16914    pub next: *mut c_void,
16915    pub counter_flags: PerformanceMetricsCounterFlagsANDROID,
16916    pub counter_unit: PerformanceMetricsCounterUnitANDROID,
16917    pub uint_value: u32,
16918    pub float_value: f32,
16919}
16920#[cfg(target_os = "android")]
16921impl PerformanceMetricsCounterANDROID {
16922    pub const TYPE: StructureType = StructureType::PERFORMANCE_METRICS_COUNTER_ANDROID;
16923    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16924    #[inline]
16925    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16926        let mut x = MaybeUninit::<Self>::uninit();
16927        unsafe {
16928            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16929                ty: Self::TYPE,
16930                next,
16931            });
16932        }
16933        x
16934    }
16935}
16936#[repr(C)]
16937#[derive(Copy, Clone, Debug)]
16938#[doc = "See [XrSystemQrCodeTrackingPropertiesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemQrCodeTrackingPropertiesANDROID) - defined by [XR_ANDROID_trackables_qr_code](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_qr_code)"]
16939#[cfg(target_os = "android")]
16940pub struct SystemQrCodeTrackingPropertiesANDROID {
16941    pub ty: StructureType,
16942    pub next: *mut c_void,
16943    pub supports_qr_code_tracking: Bool32,
16944    pub supports_qr_code_size_estimation: Bool32,
16945    pub max_qr_code_count: u16,
16946}
16947#[cfg(target_os = "android")]
16948impl SystemQrCodeTrackingPropertiesANDROID {
16949    pub const TYPE: StructureType = StructureType::SYSTEM_QR_CODE_TRACKING_PROPERTIES_ANDROID;
16950    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16951    #[inline]
16952    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16953        let mut x = MaybeUninit::<Self>::uninit();
16954        unsafe {
16955            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16956                ty: Self::TYPE,
16957                next,
16958            });
16959        }
16960        x
16961    }
16962}
16963#[repr(C)]
16964#[derive(Copy, Clone, Debug)]
16965#[doc = "See [XrTrackableQrCodeConfigurationANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableQrCodeConfigurationANDROID) - defined by [XR_ANDROID_trackables_qr_code](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_qr_code)"]
16966#[cfg(target_os = "android")]
16967pub struct TrackableQrCodeConfigurationANDROID {
16968    pub ty: StructureType,
16969    pub next: *mut c_void,
16970    pub tracking_mode: QrCodeTrackingModeANDROID,
16971    pub qr_code_edge_size: f32,
16972}
16973#[cfg(target_os = "android")]
16974impl TrackableQrCodeConfigurationANDROID {
16975    pub const TYPE: StructureType = StructureType::TRACKABLE_QR_CODE_CONFIGURATION_ANDROID;
16976    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16977    #[inline]
16978    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16979        let mut x = MaybeUninit::<Self>::uninit();
16980        unsafe {
16981            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16982                ty: Self::TYPE,
16983                next,
16984            });
16985        }
16986        x
16987    }
16988}
16989#[repr(C)]
16990#[derive(Copy, Clone, Debug)]
16991#[doc = "See [XrTrackableQrCodeANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableQrCodeANDROID) - defined by [XR_ANDROID_trackables_qr_code](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_qr_code)"]
16992#[cfg(target_os = "android")]
16993pub struct TrackableQrCodeANDROID {
16994    pub ty: StructureType,
16995    pub next: *mut c_void,
16996    pub tracking_state: TrackingStateANDROID,
16997    pub last_updated_time: Time,
16998    pub center_pose: Posef,
16999    pub extents: Extent2Df,
17000    pub buffer_capacity_input: u32,
17001    pub buffer_count_output: u32,
17002    pub buffer: *mut c_char,
17003}
17004#[cfg(target_os = "android")]
17005impl TrackableQrCodeANDROID {
17006    pub const TYPE: StructureType = StructureType::TRACKABLE_QR_CODE_ANDROID;
17007    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17008    #[inline]
17009    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17010        let mut x = MaybeUninit::<Self>::uninit();
17011        unsafe {
17012            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17013                ty: Self::TYPE,
17014                next,
17015            });
17016        }
17017        x
17018    }
17019}
17020#[repr(C)]
17021#[derive(Copy, Clone, Debug)]
17022#[doc = "See [XrSystemPassthroughLayerPropertiesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemPassthroughLayerPropertiesANDROID) - defined by [XR_ANDROID_composition_layer_passthrough_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_composition_layer_passthrough_mesh)"]
17023#[cfg(target_os = "android")]
17024pub struct SystemPassthroughLayerPropertiesANDROID {
17025    pub ty: StructureType,
17026    pub next: *mut c_void,
17027    pub supports_passthrough_layer: Bool32,
17028    pub max_mesh_index_count: u32,
17029    pub max_mesh_vertex_count: u32,
17030}
17031#[cfg(target_os = "android")]
17032impl SystemPassthroughLayerPropertiesANDROID {
17033    pub const TYPE: StructureType = StructureType::SYSTEM_PASSTHROUGH_LAYER_PROPERTIES_ANDROID;
17034    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17035    #[inline]
17036    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17037        let mut x = MaybeUninit::<Self>::uninit();
17038        unsafe {
17039            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17040                ty: Self::TYPE,
17041                next,
17042            });
17043        }
17044        x
17045    }
17046}
17047#[repr(C)]
17048#[derive(Copy, Clone, Debug)]
17049#[doc = "See [XrPassthroughLayerCreateInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughLayerCreateInfoANDROID) - defined by [XR_ANDROID_composition_layer_passthrough_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_composition_layer_passthrough_mesh)"]
17050#[cfg(target_os = "android")]
17051pub struct PassthroughLayerCreateInfoANDROID {
17052    pub ty: StructureType,
17053    pub next: *const c_void,
17054    pub vertex_capacity: u32,
17055    pub index_capacity: u32,
17056}
17057#[cfg(target_os = "android")]
17058impl PassthroughLayerCreateInfoANDROID {
17059    pub const TYPE: StructureType = StructureType::PASSTHROUGH_LAYER_CREATE_INFO_ANDROID;
17060}
17061#[repr(C)]
17062#[derive(Copy, Clone, Debug)]
17063#[doc = "See [XrPassthroughLayerMeshANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughLayerMeshANDROID) - defined by [XR_ANDROID_composition_layer_passthrough_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_composition_layer_passthrough_mesh)"]
17064#[cfg(target_os = "android")]
17065pub struct PassthroughLayerMeshANDROID {
17066    pub ty: StructureType,
17067    pub next: *const c_void,
17068    pub winding_order: WindingOrderANDROID,
17069    pub vertex_count: u32,
17070    pub vertices: *const Vector3f,
17071    pub index_count: u32,
17072    pub indices: *const u16,
17073}
17074#[cfg(target_os = "android")]
17075impl PassthroughLayerMeshANDROID {
17076    pub const TYPE: StructureType = StructureType::PASSTHROUGH_LAYER_MESH_ANDROID;
17077}
17078#[repr(C)]
17079#[derive(Copy, Clone, Debug)]
17080#[doc = "See [XrCompositionLayerPassthroughANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerPassthroughANDROID) - defined by [XR_ANDROID_composition_layer_passthrough_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_composition_layer_passthrough_mesh)"]
17081#[cfg(target_os = "android")]
17082pub struct CompositionLayerPassthroughANDROID {
17083    pub ty: StructureType,
17084    pub next: *const c_void,
17085    pub layer_flags: CompositionLayerFlags,
17086    pub space: Space,
17087    pub pose: Posef,
17088    pub scale: Vector3f,
17089    pub opacity: f32,
17090    pub layer: PassthroughLayerANDROID,
17091}
17092#[cfg(target_os = "android")]
17093impl CompositionLayerPassthroughANDROID {
17094    pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_PASSTHROUGH_ANDROID;
17095}
17096#[repr(C)]
17097#[derive(Copy, Clone, Debug)]
17098#[doc = "See [XrSystemSceneMeshingPropertiesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSceneMeshingPropertiesANDROID) - defined by [XR_ANDROID_scene_meshing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_scene_meshing)"]
17099#[cfg(target_os = "android")]
17100pub struct SystemSceneMeshingPropertiesANDROID {
17101    pub ty: StructureType,
17102    pub next: *mut c_void,
17103    pub supports_scene_meshing: Bool32,
17104}
17105#[cfg(target_os = "android")]
17106impl SystemSceneMeshingPropertiesANDROID {
17107    pub const TYPE: StructureType = StructureType::SYSTEM_SCENE_MESHING_PROPERTIES_ANDROID;
17108    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17109    #[inline]
17110    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17111        let mut x = MaybeUninit::<Self>::uninit();
17112        unsafe {
17113            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17114                ty: Self::TYPE,
17115                next,
17116            });
17117        }
17118        x
17119    }
17120}
17121#[repr(C)]
17122#[derive(Copy, Clone, Debug)]
17123#[doc = "See [XrSceneMeshingTrackerCreateInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneMeshingTrackerCreateInfoANDROID) - defined by [XR_ANDROID_scene_meshing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_scene_meshing)"]
17124#[cfg(target_os = "android")]
17125pub struct SceneMeshingTrackerCreateInfoANDROID {
17126    pub ty: StructureType,
17127    pub next: *const c_void,
17128    pub semantic_label_set: SceneMeshSemanticLabelSetANDROID,
17129    pub enable_normals: Bool32,
17130}
17131#[cfg(target_os = "android")]
17132impl SceneMeshingTrackerCreateInfoANDROID {
17133    pub const TYPE: StructureType = StructureType::SCENE_MESHING_TRACKER_CREATE_INFO_ANDROID;
17134}
17135#[repr(C)]
17136#[derive(Copy, Clone, Debug)]
17137#[doc = "See [XrSceneMeshSnapshotCreateInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneMeshSnapshotCreateInfoANDROID) - defined by [XR_ANDROID_scene_meshing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_scene_meshing)"]
17138#[cfg(target_os = "android")]
17139pub struct SceneMeshSnapshotCreateInfoANDROID {
17140    pub ty: StructureType,
17141    pub next: *const c_void,
17142    pub base_space: Space,
17143    pub time: Time,
17144    pub bounding_box: Boxf,
17145}
17146#[cfg(target_os = "android")]
17147impl SceneMeshSnapshotCreateInfoANDROID {
17148    pub const TYPE: StructureType = StructureType::SCENE_MESH_SNAPSHOT_CREATE_INFO_ANDROID;
17149}
17150#[repr(C)]
17151#[derive(Copy, Clone, Debug)]
17152#[doc = "See [XrSceneMeshSnapshotCreationResultANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneMeshSnapshotCreationResultANDROID) - defined by [XR_ANDROID_scene_meshing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_scene_meshing)"]
17153#[cfg(target_os = "android")]
17154pub struct SceneMeshSnapshotCreationResultANDROID {
17155    pub ty: StructureType,
17156    pub next: *const c_void,
17157    pub snapshot: SceneMeshSnapshotANDROID,
17158    pub tracking_state: SceneMeshTrackingStateANDROID,
17159}
17160#[cfg(target_os = "android")]
17161impl SceneMeshSnapshotCreationResultANDROID {
17162    pub const TYPE: StructureType = StructureType::SCENE_MESH_SNAPSHOT_CREATION_RESULT_ANDROID;
17163}
17164#[repr(C)]
17165#[derive(Copy, Clone, Debug)]
17166#[doc = "See [XrSceneSubmeshStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneSubmeshStateANDROID) - defined by [XR_ANDROID_scene_meshing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_scene_meshing)"]
17167#[cfg(target_os = "android")]
17168pub struct SceneSubmeshStateANDROID {
17169    pub ty: StructureType,
17170    pub next: *mut c_void,
17171    pub submesh_id: Uuid,
17172    pub last_updated_time: Time,
17173    pub submesh_pose_in_base_space: Posef,
17174    pub bounds: Extent3Df,
17175}
17176#[cfg(target_os = "android")]
17177impl SceneSubmeshStateANDROID {
17178    pub const TYPE: StructureType = StructureType::SCENE_SUBMESH_STATE_ANDROID;
17179    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17180    #[inline]
17181    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17182        let mut x = MaybeUninit::<Self>::uninit();
17183        unsafe {
17184            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17185                ty: Self::TYPE,
17186                next,
17187            });
17188        }
17189        x
17190    }
17191}
17192#[repr(C)]
17193#[derive(Copy, Clone, Debug)]
17194#[doc = "See [XrSceneSubmeshDataANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneSubmeshDataANDROID) - defined by [XR_ANDROID_scene_meshing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_scene_meshing)"]
17195#[cfg(target_os = "android")]
17196pub struct SceneSubmeshDataANDROID {
17197    pub ty: StructureType,
17198    pub next: *const c_void,
17199    pub submesh_id: Uuid,
17200    pub vertex_capacity_input: u32,
17201    pub vertex_count_output: u32,
17202    pub vertex_positions: *mut Vector3f,
17203    pub vertex_normals: *mut Vector3f,
17204    pub vertex_semantics: *mut u8,
17205    pub index_capacity_input: u32,
17206    pub index_count_output: u32,
17207    pub indices: *mut u32,
17208}
17209#[cfg(target_os = "android")]
17210impl SceneSubmeshDataANDROID {
17211    pub const TYPE: StructureType = StructureType::SCENE_SUBMESH_DATA_ANDROID;
17212}
17213#[repr(C)]
17214#[derive(Copy, Clone, Debug)]
17215#[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)"]
17216pub struct SystemPlaneDetectionPropertiesEXT {
17217    pub ty: StructureType,
17218    pub next: *mut c_void,
17219    pub supported_features: PlaneDetectionCapabilityFlagsEXT,
17220}
17221impl SystemPlaneDetectionPropertiesEXT {
17222    pub const TYPE: StructureType = StructureType::SYSTEM_PLANE_DETECTION_PROPERTIES_EXT;
17223    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17224    #[inline]
17225    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17226        let mut x = MaybeUninit::<Self>::uninit();
17227        unsafe {
17228            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17229                ty: Self::TYPE,
17230                next,
17231            });
17232        }
17233        x
17234    }
17235}
17236#[repr(C)]
17237#[derive(Copy, Clone, Debug)]
17238#[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)"]
17239pub struct PlaneDetectorCreateInfoEXT {
17240    pub ty: StructureType,
17241    pub next: *const c_void,
17242    pub flags: PlaneDetectorFlagsEXT,
17243}
17244impl PlaneDetectorCreateInfoEXT {
17245    pub const TYPE: StructureType = StructureType::PLANE_DETECTOR_CREATE_INFO_EXT;
17246}
17247#[repr(C)]
17248#[derive(Copy, Clone, Debug)]
17249#[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)"]
17250pub struct PlaneDetectorBeginInfoEXT {
17251    pub ty: StructureType,
17252    pub next: *const c_void,
17253    pub base_space: Space,
17254    pub time: Time,
17255    pub orientation_count: u32,
17256    pub orientations: *const PlaneDetectorOrientationEXT,
17257    pub semantic_type_count: u32,
17258    pub semantic_types: *const PlaneDetectorSemanticTypeEXT,
17259    pub max_planes: u32,
17260    pub min_area: f32,
17261    pub bounding_box_pose: Posef,
17262    pub bounding_box_extent: Extent3DfEXT,
17263}
17264impl PlaneDetectorBeginInfoEXT {
17265    pub const TYPE: StructureType = StructureType::PLANE_DETECTOR_BEGIN_INFO_EXT;
17266}
17267#[repr(C)]
17268#[derive(Copy, Clone, Debug)]
17269#[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)"]
17270pub struct PlaneDetectorGetInfoEXT {
17271    pub ty: StructureType,
17272    pub next: *const c_void,
17273    pub base_space: Space,
17274    pub time: Time,
17275}
17276impl PlaneDetectorGetInfoEXT {
17277    pub const TYPE: StructureType = StructureType::PLANE_DETECTOR_GET_INFO_EXT;
17278}
17279#[repr(C)]
17280#[derive(Copy, Clone, Debug)]
17281#[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)"]
17282pub struct PlaneDetectorLocationsEXT {
17283    pub ty: StructureType,
17284    pub next: *mut c_void,
17285    pub plane_location_capacity_input: u32,
17286    pub plane_location_count_output: u32,
17287    pub plane_locations: *mut PlaneDetectorLocationEXT,
17288}
17289impl PlaneDetectorLocationsEXT {
17290    pub const TYPE: StructureType = StructureType::PLANE_DETECTOR_LOCATIONS_EXT;
17291    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17292    #[inline]
17293    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17294        let mut x = MaybeUninit::<Self>::uninit();
17295        unsafe {
17296            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17297                ty: Self::TYPE,
17298                next,
17299            });
17300        }
17301        x
17302    }
17303}
17304#[repr(C)]
17305#[derive(Copy, Clone, Debug)]
17306#[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)"]
17307pub struct PlaneDetectorLocationEXT {
17308    pub ty: StructureType,
17309    pub next: *mut c_void,
17310    pub plane_id: u64,
17311    pub location_flags: SpaceLocationFlags,
17312    pub pose: Posef,
17313    pub extents: Extent2Df,
17314    pub orientation: PlaneDetectorOrientationEXT,
17315    pub semantic_type: PlaneDetectorSemanticTypeEXT,
17316    pub polygon_buffer_count: u32,
17317}
17318impl PlaneDetectorLocationEXT {
17319    pub const TYPE: StructureType = StructureType::PLANE_DETECTOR_LOCATION_EXT;
17320    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17321    #[inline]
17322    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17323        let mut x = MaybeUninit::<Self>::uninit();
17324        unsafe {
17325            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17326                ty: Self::TYPE,
17327                next,
17328            });
17329        }
17330        x
17331    }
17332}
17333#[repr(C)]
17334#[derive(Copy, Clone, Debug)]
17335#[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)"]
17336pub struct PlaneDetectorPolygonBufferEXT {
17337    pub ty: StructureType,
17338    pub next: *mut c_void,
17339    pub vertex_capacity_input: u32,
17340    pub vertex_count_output: u32,
17341    pub vertices: *mut Vector2f,
17342}
17343impl PlaneDetectorPolygonBufferEXT {
17344    pub const TYPE: StructureType = StructureType::PLANE_DETECTOR_POLYGON_BUFFER_EXT;
17345    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17346    #[inline]
17347    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17348        let mut x = MaybeUninit::<Self>::uninit();
17349        unsafe {
17350            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17351                ty: Self::TYPE,
17352                next,
17353            });
17354        }
17355        x
17356    }
17357}
17358#[repr(C)]
17359#[derive(Copy, Clone, Debug)]
17360#[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)"]
17361pub struct SystemVirtualKeyboardPropertiesMETA {
17362    pub ty: StructureType,
17363    pub next: *mut c_void,
17364    pub supports_virtual_keyboard: Bool32,
17365}
17366impl SystemVirtualKeyboardPropertiesMETA {
17367    pub const TYPE: StructureType = StructureType::SYSTEM_VIRTUAL_KEYBOARD_PROPERTIES_META;
17368    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17369    #[inline]
17370    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17371        let mut x = MaybeUninit::<Self>::uninit();
17372        unsafe {
17373            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17374                ty: Self::TYPE,
17375                next,
17376            });
17377        }
17378        x
17379    }
17380}
17381#[repr(C)]
17382#[derive(Copy, Clone, Debug)]
17383#[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)"]
17384pub struct VirtualKeyboardCreateInfoMETA {
17385    pub ty: StructureType,
17386    pub next: *const c_void,
17387}
17388impl VirtualKeyboardCreateInfoMETA {
17389    pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_CREATE_INFO_META;
17390}
17391#[repr(C)]
17392#[derive(Copy, Clone, Debug)]
17393#[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)"]
17394pub struct VirtualKeyboardSpaceCreateInfoMETA {
17395    pub ty: StructureType,
17396    pub next: *const c_void,
17397    pub location_type: VirtualKeyboardLocationTypeMETA,
17398    pub space: Space,
17399    pub pose_in_space: Posef,
17400}
17401impl VirtualKeyboardSpaceCreateInfoMETA {
17402    pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_SPACE_CREATE_INFO_META;
17403}
17404#[repr(C)]
17405#[derive(Copy, Clone, Debug)]
17406#[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)"]
17407pub struct VirtualKeyboardLocationInfoMETA {
17408    pub ty: StructureType,
17409    pub next: *const c_void,
17410    pub location_type: VirtualKeyboardLocationTypeMETA,
17411    pub space: Space,
17412    pub pose_in_space: Posef,
17413    pub scale: f32,
17414}
17415impl VirtualKeyboardLocationInfoMETA {
17416    pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_LOCATION_INFO_META;
17417}
17418#[repr(C)]
17419#[derive(Copy, Clone, Debug)]
17420#[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)"]
17421pub struct VirtualKeyboardModelVisibilitySetInfoMETA {
17422    pub ty: StructureType,
17423    pub next: *const c_void,
17424    pub visible: Bool32,
17425}
17426impl VirtualKeyboardModelVisibilitySetInfoMETA {
17427    pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_MODEL_VISIBILITY_SET_INFO_META;
17428}
17429#[repr(C)]
17430#[derive(Copy, Clone, Debug)]
17431#[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)"]
17432pub struct VirtualKeyboardAnimationStateMETA {
17433    pub ty: StructureType,
17434    pub next: *mut c_void,
17435    pub animation_index: i32,
17436    pub fraction: f32,
17437}
17438impl VirtualKeyboardAnimationStateMETA {
17439    pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_ANIMATION_STATE_META;
17440    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17441    #[inline]
17442    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17443        let mut x = MaybeUninit::<Self>::uninit();
17444        unsafe {
17445            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17446                ty: Self::TYPE,
17447                next,
17448            });
17449        }
17450        x
17451    }
17452}
17453#[repr(C)]
17454#[derive(Copy, Clone, Debug)]
17455#[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)"]
17456pub struct VirtualKeyboardModelAnimationStatesMETA {
17457    pub ty: StructureType,
17458    pub next: *mut c_void,
17459    pub state_capacity_input: u32,
17460    pub state_count_output: u32,
17461    pub states: *mut VirtualKeyboardAnimationStateMETA,
17462}
17463impl VirtualKeyboardModelAnimationStatesMETA {
17464    pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_MODEL_ANIMATION_STATES_META;
17465    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17466    #[inline]
17467    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17468        let mut x = MaybeUninit::<Self>::uninit();
17469        unsafe {
17470            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17471                ty: Self::TYPE,
17472                next,
17473            });
17474        }
17475        x
17476    }
17477}
17478#[repr(C)]
17479#[derive(Copy, Clone, Debug)]
17480#[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)"]
17481pub struct VirtualKeyboardTextureDataMETA {
17482    pub ty: StructureType,
17483    pub next: *mut c_void,
17484    pub texture_width: u32,
17485    pub texture_height: u32,
17486    pub buffer_capacity_input: u32,
17487    pub buffer_count_output: u32,
17488    pub buffer: *mut u8,
17489}
17490impl VirtualKeyboardTextureDataMETA {
17491    pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_TEXTURE_DATA_META;
17492    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17493    #[inline]
17494    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17495        let mut x = MaybeUninit::<Self>::uninit();
17496        unsafe {
17497            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17498                ty: Self::TYPE,
17499                next,
17500            });
17501        }
17502        x
17503    }
17504}
17505#[repr(C)]
17506#[derive(Copy, Clone, Debug)]
17507#[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)"]
17508pub struct VirtualKeyboardInputInfoMETA {
17509    pub ty: StructureType,
17510    pub next: *const c_void,
17511    pub input_source: VirtualKeyboardInputSourceMETA,
17512    pub input_space: Space,
17513    pub input_pose_in_space: Posef,
17514    pub input_state: VirtualKeyboardInputStateFlagsMETA,
17515}
17516impl VirtualKeyboardInputInfoMETA {
17517    pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_INPUT_INFO_META;
17518}
17519#[repr(C)]
17520#[derive(Copy, Clone, Debug)]
17521#[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)"]
17522pub struct VirtualKeyboardTextContextChangeInfoMETA {
17523    pub ty: StructureType,
17524    pub next: *const c_void,
17525    pub text_context: *const c_char,
17526}
17527impl VirtualKeyboardTextContextChangeInfoMETA {
17528    pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_TEXT_CONTEXT_CHANGE_INFO_META;
17529}
17530#[repr(C)]
17531#[derive(Copy, Clone, Debug)]
17532#[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)"]
17533pub struct EventDataVirtualKeyboardCommitTextMETA {
17534    pub ty: StructureType,
17535    pub next: *const c_void,
17536    pub keyboard: VirtualKeyboardMETA,
17537    pub text: [c_char; MAX_VIRTUAL_KEYBOARD_COMMIT_TEXT_SIZE_META],
17538}
17539impl EventDataVirtualKeyboardCommitTextMETA {
17540    pub const TYPE: StructureType = StructureType::EVENT_DATA_VIRTUAL_KEYBOARD_COMMIT_TEXT_META;
17541}
17542#[repr(C)]
17543#[derive(Copy, Clone, Debug)]
17544#[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)"]
17545pub struct EventDataVirtualKeyboardBackspaceMETA {
17546    pub ty: StructureType,
17547    pub next: *const c_void,
17548    pub keyboard: VirtualKeyboardMETA,
17549}
17550impl EventDataVirtualKeyboardBackspaceMETA {
17551    pub const TYPE: StructureType = StructureType::EVENT_DATA_VIRTUAL_KEYBOARD_BACKSPACE_META;
17552}
17553#[repr(C)]
17554#[derive(Copy, Clone, Debug)]
17555#[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)"]
17556pub struct EventDataVirtualKeyboardEnterMETA {
17557    pub ty: StructureType,
17558    pub next: *const c_void,
17559    pub keyboard: VirtualKeyboardMETA,
17560}
17561impl EventDataVirtualKeyboardEnterMETA {
17562    pub const TYPE: StructureType = StructureType::EVENT_DATA_VIRTUAL_KEYBOARD_ENTER_META;
17563}
17564#[repr(C)]
17565#[derive(Copy, Clone, Debug)]
17566#[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)"]
17567pub struct EventDataVirtualKeyboardShownMETA {
17568    pub ty: StructureType,
17569    pub next: *const c_void,
17570    pub keyboard: VirtualKeyboardMETA,
17571}
17572impl EventDataVirtualKeyboardShownMETA {
17573    pub const TYPE: StructureType = StructureType::EVENT_DATA_VIRTUAL_KEYBOARD_SHOWN_META;
17574}
17575#[repr(C)]
17576#[derive(Copy, Clone, Debug)]
17577#[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)"]
17578pub struct EventDataVirtualKeyboardHiddenMETA {
17579    pub ty: StructureType,
17580    pub next: *const c_void,
17581    pub keyboard: VirtualKeyboardMETA,
17582}
17583impl EventDataVirtualKeyboardHiddenMETA {
17584    pub const TYPE: StructureType = StructureType::EVENT_DATA_VIRTUAL_KEYBOARD_HIDDEN_META;
17585}
17586#[repr(C)]
17587#[derive(Copy, Clone, Debug)]
17588#[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)"]
17589pub struct UserCalibrationEnableEventsInfoML {
17590    pub ty: StructureType,
17591    pub next: *const c_void,
17592    pub enabled: Bool32,
17593}
17594impl UserCalibrationEnableEventsInfoML {
17595    pub const TYPE: StructureType = StructureType::USER_CALIBRATION_ENABLE_EVENTS_INFO_ML;
17596}
17597#[repr(C)]
17598#[derive(Copy, Clone, Debug)]
17599#[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)"]
17600pub struct EventDataHeadsetFitChangedML {
17601    pub ty: StructureType,
17602    pub next: *const c_void,
17603    pub status: HeadsetFitStatusML,
17604    pub time: Time,
17605}
17606impl EventDataHeadsetFitChangedML {
17607    pub const TYPE: StructureType = StructureType::EVENT_DATA_HEADSET_FIT_CHANGED_ML;
17608}
17609#[repr(C)]
17610#[derive(Copy, Clone, Debug)]
17611#[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)"]
17612pub struct EventDataEyeCalibrationChangedML {
17613    pub ty: StructureType,
17614    pub next: *const c_void,
17615    pub status: EyeCalibrationStatusML,
17616}
17617impl EventDataEyeCalibrationChangedML {
17618    pub const TYPE: StructureType = StructureType::EVENT_DATA_EYE_CALIBRATION_CHANGED_ML;
17619}
17620#[repr(C)]
17621#[derive(Copy, Clone, Debug)]
17622#[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)"]
17623pub struct LocalizationMapML {
17624    pub ty: StructureType,
17625    pub next: *mut c_void,
17626    pub name: [c_char; MAX_LOCALIZATION_MAP_NAME_LENGTH_ML],
17627    pub map_uuid: UuidEXT,
17628    pub map_type: LocalizationMapTypeML,
17629}
17630impl LocalizationMapML {
17631    pub const TYPE: StructureType = StructureType::LOCALIZATION_MAP_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)]
17647#[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)"]
17648pub struct LocalizationEnableEventsInfoML {
17649    pub ty: StructureType,
17650    pub next: *const c_void,
17651    pub enabled: Bool32,
17652}
17653impl LocalizationEnableEventsInfoML {
17654    pub const TYPE: StructureType = StructureType::LOCALIZATION_ENABLE_EVENTS_INFO_ML;
17655}
17656#[repr(C)]
17657#[derive(Copy, Clone, Debug)]
17658#[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)"]
17659pub struct EventDataLocalizationChangedML {
17660    pub ty: StructureType,
17661    pub next: *const c_void,
17662    pub session: Session,
17663    pub state: LocalizationMapStateML,
17664    pub map: LocalizationMapML,
17665    pub confidence: LocalizationMapConfidenceML,
17666    pub error_flags: LocalizationMapErrorFlagsML,
17667}
17668impl EventDataLocalizationChangedML {
17669    pub const TYPE: StructureType = StructureType::EVENT_DATA_LOCALIZATION_CHANGED_ML;
17670}
17671#[repr(C)]
17672#[derive(Copy, Clone, Debug)]
17673#[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)"]
17674pub struct LocalizationMapQueryInfoBaseHeaderML {
17675    pub ty: StructureType,
17676    pub next: *const c_void,
17677}
17678#[repr(C)]
17679#[derive(Copy, Clone, Debug)]
17680#[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)"]
17681pub struct MapLocalizationRequestInfoML {
17682    pub ty: StructureType,
17683    pub next: *const c_void,
17684    pub map_uuid: UuidEXT,
17685}
17686impl MapLocalizationRequestInfoML {
17687    pub const TYPE: StructureType = StructureType::MAP_LOCALIZATION_REQUEST_INFO_ML;
17688}
17689#[repr(C)]
17690#[derive(Copy, Clone, Debug)]
17691#[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)"]
17692pub struct LocalizationMapImportInfoML {
17693    pub ty: StructureType,
17694    pub next: *const c_void,
17695    pub size: u32,
17696    pub data: *mut c_char,
17697}
17698impl LocalizationMapImportInfoML {
17699    pub const TYPE: StructureType = StructureType::LOCALIZATION_MAP_IMPORT_INFO_ML;
17700}
17701#[repr(C)]
17702#[derive(Copy, Clone, Debug)]
17703#[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)"]
17704pub struct SystemMarkerUnderstandingPropertiesML {
17705    pub ty: StructureType,
17706    pub next: *mut c_void,
17707    pub supports_marker_understanding: Bool32,
17708}
17709impl SystemMarkerUnderstandingPropertiesML {
17710    pub const TYPE: StructureType = StructureType::SYSTEM_MARKER_UNDERSTANDING_PROPERTIES_ML;
17711    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17712    #[inline]
17713    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17714        let mut x = MaybeUninit::<Self>::uninit();
17715        unsafe {
17716            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17717                ty: Self::TYPE,
17718                next,
17719            });
17720        }
17721        x
17722    }
17723}
17724#[repr(C)]
17725#[derive(Copy, Clone, Debug)]
17726#[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)"]
17727pub struct MarkerDetectorCreateInfoML {
17728    pub ty: StructureType,
17729    pub next: *const c_void,
17730    pub profile: MarkerDetectorProfileML,
17731    pub marker_type: MarkerTypeML,
17732}
17733impl MarkerDetectorCreateInfoML {
17734    pub const TYPE: StructureType = StructureType::MARKER_DETECTOR_CREATE_INFO_ML;
17735}
17736#[repr(C)]
17737#[derive(Copy, Clone, Debug)]
17738#[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)"]
17739pub struct MarkerDetectorArucoInfoML {
17740    pub ty: StructureType,
17741    pub next: *const c_void,
17742    pub aruco_dict: MarkerArucoDictML,
17743}
17744impl MarkerDetectorArucoInfoML {
17745    pub const TYPE: StructureType = StructureType::MARKER_DETECTOR_ARUCO_INFO_ML;
17746}
17747#[repr(C)]
17748#[derive(Copy, Clone, Debug)]
17749#[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)"]
17750pub struct MarkerDetectorSizeInfoML {
17751    pub ty: StructureType,
17752    pub next: *const c_void,
17753    pub marker_length: f32,
17754}
17755impl MarkerDetectorSizeInfoML {
17756    pub const TYPE: StructureType = StructureType::MARKER_DETECTOR_SIZE_INFO_ML;
17757}
17758#[repr(C)]
17759#[derive(Copy, Clone, Debug)]
17760#[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)"]
17761pub struct MarkerDetectorAprilTagInfoML {
17762    pub ty: StructureType,
17763    pub next: *const c_void,
17764    pub april_tag_dict: MarkerAprilTagDictML,
17765}
17766impl MarkerDetectorAprilTagInfoML {
17767    pub const TYPE: StructureType = StructureType::MARKER_DETECTOR_APRIL_TAG_INFO_ML;
17768}
17769#[repr(C)]
17770#[derive(Copy, Clone, Debug)]
17771#[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)"]
17772pub struct MarkerDetectorCustomProfileInfoML {
17773    pub ty: StructureType,
17774    pub next: *const c_void,
17775    pub fps_hint: MarkerDetectorFpsML,
17776    pub resolution_hint: MarkerDetectorResolutionML,
17777    pub camera_hint: MarkerDetectorCameraML,
17778    pub corner_refine_method: MarkerDetectorCornerRefineMethodML,
17779    pub use_edge_refinement: Bool32,
17780    pub full_analysis_interval_hint: MarkerDetectorFullAnalysisIntervalML,
17781}
17782impl MarkerDetectorCustomProfileInfoML {
17783    pub const TYPE: StructureType = StructureType::MARKER_DETECTOR_CUSTOM_PROFILE_INFO_ML;
17784}
17785#[repr(C)]
17786#[derive(Copy, Clone, Debug)]
17787#[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)"]
17788pub struct MarkerDetectorSnapshotInfoML {
17789    pub ty: StructureType,
17790    pub next: *const c_void,
17791}
17792impl MarkerDetectorSnapshotInfoML {
17793    pub const TYPE: StructureType = StructureType::MARKER_DETECTOR_SNAPSHOT_INFO_ML;
17794}
17795#[repr(C)]
17796#[derive(Copy, Clone, Debug)]
17797#[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)"]
17798pub struct MarkerDetectorStateML {
17799    pub ty: StructureType,
17800    pub next: *mut c_void,
17801    pub state: MarkerDetectorStatusML,
17802}
17803impl MarkerDetectorStateML {
17804    pub const TYPE: StructureType = StructureType::MARKER_DETECTOR_STATE_ML;
17805    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17806    #[inline]
17807    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17808        let mut x = MaybeUninit::<Self>::uninit();
17809        unsafe {
17810            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17811                ty: Self::TYPE,
17812                next,
17813            });
17814        }
17815        x
17816    }
17817}
17818#[repr(C)]
17819#[derive(Copy, Clone, Debug)]
17820#[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)"]
17821pub struct MarkerSpaceCreateInfoML {
17822    pub ty: StructureType,
17823    pub next: *const c_void,
17824    pub marker_detector: MarkerDetectorML,
17825    pub marker: MarkerML,
17826    pub pose_in_marker_space: Posef,
17827}
17828impl MarkerSpaceCreateInfoML {
17829    pub const TYPE: StructureType = StructureType::MARKER_SPACE_CREATE_INFO_ML;
17830}
17831#[repr(C)]
17832#[derive(Copy, Clone, Debug, Default, PartialEq)]
17833#[doc = "See [XrColor3f](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrColor3f)"]
17834pub struct Color3f {
17835    pub r: f32,
17836    pub g: f32,
17837    pub b: f32,
17838}
17839pub type Color3fKHR = Color3f;
17840#[repr(C)]
17841#[derive(Copy, Clone, Debug, Default, PartialEq)]
17842#[doc = "See [XrExtent3Df](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExtent3Df)"]
17843pub struct Extent3Df {
17844    pub width: f32,
17845    pub height: f32,
17846    pub depth: f32,
17847}
17848pub type Extent3DfEXT = Extent3Df;
17849pub type Extent3DfFB = Extent3Df;
17850pub type Extent3DfKHR = Extent3Df;
17851#[repr(C)]
17852#[derive(Copy, Clone, Debug, Default, PartialEq)]
17853#[doc = "See [XrSpheref](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpheref)"]
17854pub struct Spheref {
17855    pub center: Posef,
17856    pub radius: f32,
17857}
17858pub type SpherefKHR = Spheref;
17859#[repr(C)]
17860#[derive(Copy, Clone, Debug, Default, PartialEq)]
17861#[doc = "See [XrBoxf](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBoxf)"]
17862pub struct Boxf {
17863    pub center: Posef,
17864    pub extents: Extent3Df,
17865}
17866pub type BoxfKHR = Boxf;
17867#[repr(C)]
17868#[derive(Copy, Clone, Debug, Default, PartialEq)]
17869#[doc = "See [XrFrustumf](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrustumf)"]
17870pub struct Frustumf {
17871    pub pose: Posef,
17872    pub fov: Fovf,
17873    pub near_z: f32,
17874    pub far_z: f32,
17875}
17876pub type FrustumfKHR = Frustumf;
17877#[repr(C)]
17878#[derive(Copy, Clone, Debug, Default, PartialEq)]
17879#[doc = "See [XrUuid](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrUuid)"]
17880pub struct Uuid {
17881    pub data: [u8; UUID_SIZE],
17882}
17883pub type UuidEXT = Uuid;
17884#[repr(C)]
17885#[derive(Copy, Clone, Debug)]
17886#[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)"]
17887pub struct SystemFacialExpressionPropertiesML {
17888    pub ty: StructureType,
17889    pub next: *mut c_void,
17890    pub supports_facial_expression: Bool32,
17891}
17892impl SystemFacialExpressionPropertiesML {
17893    pub const TYPE: StructureType = StructureType::SYSTEM_FACIAL_EXPRESSION_PROPERTIES_ML;
17894    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17895    #[inline]
17896    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17897        let mut x = MaybeUninit::<Self>::uninit();
17898        unsafe {
17899            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17900                ty: Self::TYPE,
17901                next,
17902            });
17903        }
17904        x
17905    }
17906}
17907#[repr(C)]
17908#[derive(Copy, Clone, Debug)]
17909#[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)"]
17910pub struct FacialExpressionClientCreateInfoML {
17911    pub ty: StructureType,
17912    pub next: *const c_void,
17913    pub requested_count: u32,
17914    pub requested_facial_blend_shapes: *const FacialBlendShapeML,
17915}
17916impl FacialExpressionClientCreateInfoML {
17917    pub const TYPE: StructureType = StructureType::FACIAL_EXPRESSION_CLIENT_CREATE_INFO_ML;
17918}
17919#[repr(C)]
17920#[derive(Copy, Clone, Debug)]
17921#[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)"]
17922pub struct FacialExpressionBlendShapePropertiesML {
17923    pub ty: StructureType,
17924    pub next: *mut c_void,
17925    pub requested_facial_blend_shape: FacialBlendShapeML,
17926    pub weight: f32,
17927    pub flags: FacialExpressionBlendShapePropertiesFlagsML,
17928    pub time: Time,
17929}
17930impl FacialExpressionBlendShapePropertiesML {
17931    pub const TYPE: StructureType = StructureType::FACIAL_EXPRESSION_BLEND_SHAPE_PROPERTIES_ML;
17932    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17933    #[inline]
17934    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17935        let mut x = MaybeUninit::<Self>::uninit();
17936        unsafe {
17937            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17938                ty: Self::TYPE,
17939                next,
17940            });
17941        }
17942        x
17943    }
17944}
17945#[repr(C)]
17946#[derive(Copy, Clone, Debug)]
17947#[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)"]
17948pub struct FacialExpressionBlendShapeGetInfoML {
17949    pub ty: StructureType,
17950    pub next: *const c_void,
17951}
17952impl FacialExpressionBlendShapeGetInfoML {
17953    pub const TYPE: StructureType = StructureType::FACIAL_EXPRESSION_BLEND_SHAPE_GET_INFO_ML;
17954}
17955#[repr(C)]
17956#[derive(Copy, Clone, Debug)]
17957#[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)"]
17958pub struct RecommendedLayerResolutionMETA {
17959    pub ty: StructureType,
17960    pub next: *mut c_void,
17961    pub recommended_image_dimensions: Extent2Di,
17962    pub is_valid: Bool32,
17963}
17964impl RecommendedLayerResolutionMETA {
17965    pub const TYPE: StructureType = StructureType::RECOMMENDED_LAYER_RESOLUTION_META;
17966    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17967    #[inline]
17968    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17969        let mut x = MaybeUninit::<Self>::uninit();
17970        unsafe {
17971            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17972                ty: Self::TYPE,
17973                next,
17974            });
17975        }
17976        x
17977    }
17978}
17979#[repr(C)]
17980#[derive(Copy, Clone, Debug)]
17981#[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)"]
17982pub struct RecommendedLayerResolutionGetInfoMETA {
17983    pub ty: StructureType,
17984    pub next: *const c_void,
17985    pub layer: *const CompositionLayerBaseHeader,
17986    pub predicted_display_time: Time,
17987}
17988impl RecommendedLayerResolutionGetInfoMETA {
17989    pub const TYPE: StructureType = StructureType::RECOMMENDED_LAYER_RESOLUTION_GET_INFO_META;
17990}
17991#[repr(C)]
17992#[derive(Copy, Clone, Debug)]
17993#[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)"]
17994pub struct SystemUserPresencePropertiesEXT {
17995    pub ty: StructureType,
17996    pub next: *mut c_void,
17997    pub supports_user_presence: Bool32,
17998}
17999impl SystemUserPresencePropertiesEXT {
18000    pub const TYPE: StructureType = StructureType::SYSTEM_USER_PRESENCE_PROPERTIES_EXT;
18001    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18002    #[inline]
18003    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18004        let mut x = MaybeUninit::<Self>::uninit();
18005        unsafe {
18006            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18007                ty: Self::TYPE,
18008                next,
18009            });
18010        }
18011        x
18012    }
18013}
18014#[repr(C)]
18015#[derive(Copy, Clone, Debug)]
18016#[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)"]
18017pub struct EventDataUserPresenceChangedEXT {
18018    pub ty: StructureType,
18019    pub next: *const c_void,
18020    pub session: Session,
18021    pub is_user_present: Bool32,
18022}
18023impl EventDataUserPresenceChangedEXT {
18024    pub const TYPE: StructureType = StructureType::EVENT_DATA_USER_PRESENCE_CHANGED_EXT;
18025}
18026#[repr(C)]
18027#[derive(Copy, Clone, Debug)]
18028#[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)"]
18029pub struct FutureCompletionBaseHeaderEXT {
18030    pub ty: StructureType,
18031    pub next: *mut c_void,
18032    pub future_result: Result,
18033}
18034#[repr(C)]
18035#[derive(Copy, Clone, Debug)]
18036#[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)"]
18037pub struct FutureCompletionEXT {
18038    pub ty: StructureType,
18039    pub next: *mut c_void,
18040    pub future_result: Result,
18041}
18042impl FutureCompletionEXT {
18043    pub const TYPE: StructureType = StructureType::FUTURE_COMPLETION_EXT;
18044    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18045    #[inline]
18046    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18047        let mut x = MaybeUninit::<Self>::uninit();
18048        unsafe {
18049            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18050                ty: Self::TYPE,
18051                next,
18052            });
18053        }
18054        x
18055    }
18056}
18057#[repr(C)]
18058#[derive(Copy, Clone, Debug)]
18059#[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)"]
18060pub struct FutureCancelInfoEXT {
18061    pub ty: StructureType,
18062    pub next: *const c_void,
18063    pub future: FutureEXT,
18064}
18065impl FutureCancelInfoEXT {
18066    pub const TYPE: StructureType = StructureType::FUTURE_CANCEL_INFO_EXT;
18067}
18068#[repr(C)]
18069#[derive(Copy, Clone, Debug)]
18070#[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)"]
18071pub struct FuturePollInfoEXT {
18072    pub ty: StructureType,
18073    pub next: *const c_void,
18074    pub future: FutureEXT,
18075}
18076impl FuturePollInfoEXT {
18077    pub const TYPE: StructureType = StructureType::FUTURE_POLL_INFO_EXT;
18078}
18079#[repr(C)]
18080#[derive(Copy, Clone, Debug)]
18081#[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)"]
18082pub struct FuturePollResultEXT {
18083    pub ty: StructureType,
18084    pub next: *mut c_void,
18085    pub state: FutureStateEXT,
18086}
18087impl FuturePollResultEXT {
18088    pub const TYPE: StructureType = StructureType::FUTURE_POLL_RESULT_EXT;
18089    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18090    #[inline]
18091    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18092        let mut x = MaybeUninit::<Self>::uninit();
18093        unsafe {
18094            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18095                ty: Self::TYPE,
18096                next,
18097            });
18098        }
18099        x
18100    }
18101}
18102#[repr(C)]
18103#[derive(Copy, Clone, Debug)]
18104#[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)"]
18105pub struct EnvironmentDepthProviderCreateInfoMETA {
18106    pub ty: StructureType,
18107    pub next: *const c_void,
18108    pub create_flags: EnvironmentDepthProviderCreateFlagsMETA,
18109}
18110impl EnvironmentDepthProviderCreateInfoMETA {
18111    pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_PROVIDER_CREATE_INFO_META;
18112}
18113#[repr(C)]
18114#[derive(Copy, Clone, Debug)]
18115#[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)"]
18116pub struct EnvironmentDepthSwapchainCreateInfoMETA {
18117    pub ty: StructureType,
18118    pub next: *const c_void,
18119    pub create_flags: EnvironmentDepthSwapchainCreateFlagsMETA,
18120}
18121impl EnvironmentDepthSwapchainCreateInfoMETA {
18122    pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_SWAPCHAIN_CREATE_INFO_META;
18123}
18124#[repr(C)]
18125#[derive(Copy, Clone, Debug)]
18126#[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)"]
18127pub struct EnvironmentDepthSwapchainStateMETA {
18128    pub ty: StructureType,
18129    pub next: *mut c_void,
18130    pub width: u32,
18131    pub height: u32,
18132}
18133impl EnvironmentDepthSwapchainStateMETA {
18134    pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_SWAPCHAIN_STATE_META;
18135    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18136    #[inline]
18137    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18138        let mut x = MaybeUninit::<Self>::uninit();
18139        unsafe {
18140            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18141                ty: Self::TYPE,
18142                next,
18143            });
18144        }
18145        x
18146    }
18147}
18148#[repr(C)]
18149#[derive(Copy, Clone, Debug)]
18150#[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)"]
18151pub struct EnvironmentDepthImageAcquireInfoMETA {
18152    pub ty: StructureType,
18153    pub next: *const c_void,
18154    pub space: Space,
18155    pub display_time: Time,
18156}
18157impl EnvironmentDepthImageAcquireInfoMETA {
18158    pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_IMAGE_ACQUIRE_INFO_META;
18159}
18160#[repr(C)]
18161#[derive(Copy, Clone, Debug)]
18162#[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)"]
18163pub struct EnvironmentDepthImageViewMETA {
18164    pub ty: StructureType,
18165    pub next: *const c_void,
18166    pub fov: Fovf,
18167    pub pose: Posef,
18168}
18169impl EnvironmentDepthImageViewMETA {
18170    pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_IMAGE_VIEW_META;
18171}
18172#[repr(C)]
18173#[derive(Copy, Clone, Debug)]
18174#[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)"]
18175pub struct EnvironmentDepthImageMETA {
18176    pub ty: StructureType,
18177    pub next: *const c_void,
18178    pub swapchain_index: u32,
18179    pub near_z: f32,
18180    pub far_z: f32,
18181    pub views: [EnvironmentDepthImageViewMETA; 2usize],
18182}
18183impl EnvironmentDepthImageMETA {
18184    pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_IMAGE_META;
18185}
18186#[repr(C)]
18187#[derive(Copy, Clone, Debug)]
18188#[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)"]
18189pub struct EnvironmentDepthImageTimestampMETA {
18190    pub ty: StructureType,
18191    pub next: *const c_void,
18192    pub capture_time: Time,
18193}
18194impl EnvironmentDepthImageTimestampMETA {
18195    pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_IMAGE_TIMESTAMP_META;
18196}
18197#[repr(C)]
18198#[derive(Copy, Clone, Debug)]
18199#[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)"]
18200pub struct EnvironmentDepthHandRemovalSetInfoMETA {
18201    pub ty: StructureType,
18202    pub next: *const c_void,
18203    pub enabled: Bool32,
18204}
18205impl EnvironmentDepthHandRemovalSetInfoMETA {
18206    pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_HAND_REMOVAL_SET_INFO_META;
18207}
18208#[repr(C)]
18209#[derive(Copy, Clone, Debug)]
18210#[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)"]
18211pub struct SystemEnvironmentDepthPropertiesMETA {
18212    pub ty: StructureType,
18213    pub next: *mut c_void,
18214    pub supports_environment_depth: Bool32,
18215    pub supports_hand_removal: Bool32,
18216}
18217impl SystemEnvironmentDepthPropertiesMETA {
18218    pub const TYPE: StructureType = StructureType::SYSTEM_ENVIRONMENT_DEPTH_PROPERTIES_META;
18219    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18220    #[inline]
18221    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18222        let mut x = MaybeUninit::<Self>::uninit();
18223        unsafe {
18224            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18225                ty: Self::TYPE,
18226                next,
18227            });
18228        }
18229        x
18230    }
18231}
18232#[repr(C)]
18233#[derive(Copy, Clone, Debug)]
18234#[doc = "See [XrSpacesLocateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpacesLocateInfo)"]
18235pub struct SpacesLocateInfo {
18236    pub ty: StructureType,
18237    pub next: *const c_void,
18238    pub base_space: Space,
18239    pub time: Time,
18240    pub space_count: u32,
18241    pub spaces: *const Space,
18242}
18243impl SpacesLocateInfo {
18244    pub const TYPE: StructureType = StructureType::SPACES_LOCATE_INFO;
18245}
18246pub type SpacesLocateInfoKHR = SpacesLocateInfo;
18247#[repr(C)]
18248#[derive(Copy, Clone, Debug)]
18249#[doc = "See [XrSpaceLocations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceLocations)"]
18250pub struct SpaceLocations {
18251    pub ty: StructureType,
18252    pub next: *mut c_void,
18253    pub location_count: u32,
18254    pub locations: *mut SpaceLocationData,
18255}
18256impl SpaceLocations {
18257    pub const TYPE: StructureType = StructureType::SPACE_LOCATIONS;
18258    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18259    #[inline]
18260    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18261        let mut x = MaybeUninit::<Self>::uninit();
18262        unsafe {
18263            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18264                ty: Self::TYPE,
18265                next,
18266            });
18267        }
18268        x
18269    }
18270}
18271pub type SpaceLocationsKHR = SpaceLocations;
18272#[repr(C)]
18273#[derive(Copy, Clone, Debug, Default, PartialEq)]
18274#[doc = "See [XrSpaceLocationData](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceLocationData)"]
18275pub struct SpaceLocationData {
18276    pub location_flags: SpaceLocationFlags,
18277    pub pose: Posef,
18278}
18279pub type SpaceLocationDataKHR = SpaceLocationData;
18280#[repr(C)]
18281#[derive(Copy, Clone, Debug)]
18282#[doc = "See [XrSpaceVelocities](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceVelocities)"]
18283pub struct SpaceVelocities {
18284    pub ty: StructureType,
18285    pub next: *mut c_void,
18286    pub velocity_count: u32,
18287    pub velocities: *mut SpaceVelocityData,
18288}
18289impl SpaceVelocities {
18290    pub const TYPE: StructureType = StructureType::SPACE_VELOCITIES;
18291    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18292    #[inline]
18293    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18294        let mut x = MaybeUninit::<Self>::uninit();
18295        unsafe {
18296            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18297                ty: Self::TYPE,
18298                next,
18299            });
18300        }
18301        x
18302    }
18303}
18304pub type SpaceVelocitiesKHR = SpaceVelocities;
18305#[repr(C)]
18306#[derive(Copy, Clone, Debug, Default, PartialEq)]
18307#[doc = "See [XrSpaceVelocityData](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceVelocityData)"]
18308pub struct SpaceVelocityData {
18309    pub velocity_flags: SpaceVelocityFlags,
18310    pub linear_velocity: Vector3f,
18311    pub angular_velocity: Vector3f,
18312}
18313pub type SpaceVelocityDataKHR = SpaceVelocityData;
18314#[repr(C)]
18315#[derive(Copy, Clone, Debug)]
18316#[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)"]
18317pub struct SpatialCapabilityComponentTypesEXT {
18318    pub ty: StructureType,
18319    pub next: *mut c_void,
18320    pub component_type_capacity_input: u32,
18321    pub component_type_count_output: u32,
18322    pub component_types: *mut SpatialComponentTypeEXT,
18323}
18324impl SpatialCapabilityComponentTypesEXT {
18325    pub const TYPE: StructureType = StructureType::SPATIAL_CAPABILITY_COMPONENT_TYPES_EXT;
18326    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18327    #[inline]
18328    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18329        let mut x = MaybeUninit::<Self>::uninit();
18330        unsafe {
18331            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18332                ty: Self::TYPE,
18333                next,
18334            });
18335        }
18336        x
18337    }
18338}
18339#[repr(C)]
18340#[derive(Copy, Clone, Debug)]
18341#[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)"]
18342pub struct SpatialCapabilityConfigurationBaseHeaderEXT {
18343    pub ty: StructureType,
18344    pub next: *const c_void,
18345    pub capability: SpatialCapabilityEXT,
18346    pub enabled_component_count: u32,
18347    pub enabled_components: *const SpatialComponentTypeEXT,
18348}
18349#[repr(C)]
18350#[derive(Copy, Clone, Debug)]
18351#[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)"]
18352pub struct SpatialContextCreateInfoEXT {
18353    pub ty: StructureType,
18354    pub next: *const c_void,
18355    pub capability_config_count: u32,
18356    pub capability_configs: *const *const SpatialCapabilityConfigurationBaseHeaderEXT,
18357}
18358impl SpatialContextCreateInfoEXT {
18359    pub const TYPE: StructureType = StructureType::SPATIAL_CONTEXT_CREATE_INFO_EXT;
18360}
18361#[repr(C)]
18362#[derive(Copy, Clone, Debug)]
18363#[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)"]
18364pub struct CreateSpatialContextCompletionEXT {
18365    pub ty: StructureType,
18366    pub next: *mut c_void,
18367    pub future_result: Result,
18368    pub spatial_context: SpatialContextEXT,
18369}
18370impl CreateSpatialContextCompletionEXT {
18371    pub const TYPE: StructureType = StructureType::CREATE_SPATIAL_CONTEXT_COMPLETION_EXT;
18372    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18373    #[inline]
18374    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18375        let mut x = MaybeUninit::<Self>::uninit();
18376        unsafe {
18377            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18378                ty: Self::TYPE,
18379                next,
18380            });
18381        }
18382        x
18383    }
18384}
18385#[repr(C)]
18386#[derive(Copy, Clone, Debug)]
18387#[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)"]
18388pub struct SpatialDiscoverySnapshotCreateInfoEXT {
18389    pub ty: StructureType,
18390    pub next: *const c_void,
18391    pub component_type_count: u32,
18392    pub component_types: *const SpatialComponentTypeEXT,
18393}
18394impl SpatialDiscoverySnapshotCreateInfoEXT {
18395    pub const TYPE: StructureType = StructureType::SPATIAL_DISCOVERY_SNAPSHOT_CREATE_INFO_EXT;
18396}
18397#[repr(C)]
18398#[derive(Copy, Clone, Debug)]
18399#[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)"]
18400pub struct CreateSpatialDiscoverySnapshotCompletionInfoEXT {
18401    pub ty: StructureType,
18402    pub next: *const c_void,
18403    pub base_space: Space,
18404    pub time: Time,
18405    pub future: FutureEXT,
18406}
18407impl CreateSpatialDiscoverySnapshotCompletionInfoEXT {
18408    pub const TYPE: StructureType =
18409        StructureType::CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_INFO_EXT;
18410}
18411#[repr(C)]
18412#[derive(Copy, Clone, Debug)]
18413#[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)"]
18414pub struct CreateSpatialDiscoverySnapshotCompletionEXT {
18415    pub ty: StructureType,
18416    pub next: *mut c_void,
18417    pub future_result: Result,
18418    pub snapshot: SpatialSnapshotEXT,
18419}
18420impl CreateSpatialDiscoverySnapshotCompletionEXT {
18421    pub const TYPE: StructureType = StructureType::CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_EXT;
18422    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18423    #[inline]
18424    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18425        let mut x = MaybeUninit::<Self>::uninit();
18426        unsafe {
18427            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18428                ty: Self::TYPE,
18429                next,
18430            });
18431        }
18432        x
18433    }
18434}
18435#[repr(C)]
18436#[derive(Copy, Clone, Debug)]
18437#[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)"]
18438pub struct SpatialComponentDataQueryConditionEXT {
18439    pub ty: StructureType,
18440    pub next: *const c_void,
18441    pub component_type_count: u32,
18442    pub component_types: *const SpatialComponentTypeEXT,
18443}
18444impl SpatialComponentDataQueryConditionEXT {
18445    pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_DATA_QUERY_CONDITION_EXT;
18446}
18447#[repr(C)]
18448#[derive(Copy, Clone, Debug)]
18449#[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)"]
18450pub struct SpatialComponentDataQueryResultEXT {
18451    pub ty: StructureType,
18452    pub next: *mut c_void,
18453    pub entity_id_capacity_input: u32,
18454    pub entity_id_count_output: u32,
18455    pub entity_ids: *mut SpatialEntityIdEXT,
18456    pub entity_state_capacity_input: u32,
18457    pub entity_state_count_output: u32,
18458    pub entity_states: *mut SpatialEntityTrackingStateEXT,
18459}
18460impl SpatialComponentDataQueryResultEXT {
18461    pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_DATA_QUERY_RESULT_EXT;
18462    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18463    #[inline]
18464    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18465        let mut x = MaybeUninit::<Self>::uninit();
18466        unsafe {
18467            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18468                ty: Self::TYPE,
18469                next,
18470            });
18471        }
18472        x
18473    }
18474}
18475#[repr(C)]
18476#[derive(Copy, Clone, Debug, Default, PartialEq)]
18477#[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)"]
18478pub struct SpatialBufferEXT {
18479    pub buffer_id: SpatialBufferIdEXT,
18480    pub buffer_type: SpatialBufferTypeEXT,
18481}
18482#[repr(C)]
18483#[derive(Copy, Clone, Debug)]
18484#[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)"]
18485pub struct SpatialBufferGetInfoEXT {
18486    pub ty: StructureType,
18487    pub next: *const c_void,
18488    pub buffer_id: SpatialBufferIdEXT,
18489}
18490impl SpatialBufferGetInfoEXT {
18491    pub const TYPE: StructureType = StructureType::SPATIAL_BUFFER_GET_INFO_EXT;
18492}
18493#[repr(C)]
18494#[derive(Copy, Clone, Debug, Default, PartialEq)]
18495#[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)"]
18496pub struct SpatialBounded2DDataEXT {
18497    pub center: Posef,
18498    pub extents: Extent2Df,
18499}
18500#[repr(C)]
18501#[derive(Copy, Clone, Debug)]
18502#[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)"]
18503pub struct SpatialComponentBounded2DListEXT {
18504    pub ty: StructureType,
18505    pub next: *mut c_void,
18506    pub bound_count: u32,
18507    pub bounds: *mut SpatialBounded2DDataEXT,
18508}
18509impl SpatialComponentBounded2DListEXT {
18510    pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_BOUNDED_2D_LIST_EXT;
18511    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18512    #[inline]
18513    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18514        let mut x = MaybeUninit::<Self>::uninit();
18515        unsafe {
18516            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18517                ty: Self::TYPE,
18518                next,
18519            });
18520        }
18521        x
18522    }
18523}
18524#[repr(C)]
18525#[derive(Copy, Clone, Debug)]
18526#[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)"]
18527#[cfg(windows)]
18528pub struct SpatialComponentBounded3DListEXT {
18529    pub ty: StructureType,
18530    pub next: *mut c_void,
18531    pub bound_count: u32,
18532    pub bounds: *mut Boxf,
18533}
18534#[cfg(windows)]
18535impl SpatialComponentBounded3DListEXT {
18536    pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_BOUNDED_3D_LIST_EXT;
18537    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18538    #[inline]
18539    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18540        let mut x = MaybeUninit::<Self>::uninit();
18541        unsafe {
18542            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18543                ty: Self::TYPE,
18544                next,
18545            });
18546        }
18547        x
18548    }
18549}
18550#[repr(C)]
18551#[derive(Copy, Clone, Debug)]
18552#[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)"]
18553pub struct SpatialComponentParentListEXT {
18554    pub ty: StructureType,
18555    pub next: *mut c_void,
18556    pub parent_count: u32,
18557    pub parents: *mut SpatialEntityIdEXT,
18558}
18559impl SpatialComponentParentListEXT {
18560    pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_PARENT_LIST_EXT;
18561    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18562    #[inline]
18563    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18564        let mut x = MaybeUninit::<Self>::uninit();
18565        unsafe {
18566            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18567                ty: Self::TYPE,
18568                next,
18569            });
18570        }
18571        x
18572    }
18573}
18574#[repr(C)]
18575#[derive(Copy, Clone, Debug, Default, PartialEq)]
18576#[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)"]
18577pub struct SpatialMeshDataEXT {
18578    pub origin: Posef,
18579    pub vertex_buffer: SpatialBufferEXT,
18580    pub index_buffer: SpatialBufferEXT,
18581}
18582#[repr(C)]
18583#[derive(Copy, Clone, Debug)]
18584#[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)"]
18585pub struct SpatialComponentMesh3DListEXT {
18586    pub ty: StructureType,
18587    pub next: *mut c_void,
18588    pub mesh_count: u32,
18589    pub meshes: *mut SpatialMeshDataEXT,
18590}
18591impl SpatialComponentMesh3DListEXT {
18592    pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_MESH_3D_LIST_EXT;
18593    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18594    #[inline]
18595    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18596        let mut x = MaybeUninit::<Self>::uninit();
18597        unsafe {
18598            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18599                ty: Self::TYPE,
18600                next,
18601            });
18602        }
18603        x
18604    }
18605}
18606#[repr(C)]
18607#[derive(Copy, Clone, Debug)]
18608#[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)"]
18609pub struct SpatialEntityFromIdCreateInfoEXT {
18610    pub ty: StructureType,
18611    pub next: *const c_void,
18612    pub entity_id: SpatialEntityIdEXT,
18613}
18614impl SpatialEntityFromIdCreateInfoEXT {
18615    pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_FROM_ID_CREATE_INFO_EXT;
18616}
18617#[repr(C)]
18618#[derive(Copy, Clone, Debug)]
18619#[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)"]
18620pub struct SpatialUpdateSnapshotCreateInfoEXT {
18621    pub ty: StructureType,
18622    pub next: *const c_void,
18623    pub entity_count: u32,
18624    pub entities: *const SpatialEntityEXT,
18625    pub component_type_count: u32,
18626    pub component_types: *const SpatialComponentTypeEXT,
18627    pub base_space: Space,
18628    pub time: Time,
18629}
18630impl SpatialUpdateSnapshotCreateInfoEXT {
18631    pub const TYPE: StructureType = StructureType::SPATIAL_UPDATE_SNAPSHOT_CREATE_INFO_EXT;
18632}
18633#[repr(C)]
18634#[derive(Copy, Clone, Debug)]
18635#[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)"]
18636pub struct EventDataSpatialDiscoveryRecommendedEXT {
18637    pub ty: StructureType,
18638    pub next: *const c_void,
18639    pub spatial_context: SpatialContextEXT,
18640}
18641impl EventDataSpatialDiscoveryRecommendedEXT {
18642    pub const TYPE: StructureType = StructureType::EVENT_DATA_SPATIAL_DISCOVERY_RECOMMENDED_EXT;
18643}
18644#[repr(C)]
18645#[derive(Copy, Clone, Debug)]
18646#[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)"]
18647pub struct SpatialFilterTrackingStateEXT {
18648    pub ty: StructureType,
18649    pub next: *const c_void,
18650    pub tracking_state: SpatialEntityTrackingStateEXT,
18651}
18652impl SpatialFilterTrackingStateEXT {
18653    pub const TYPE: StructureType = StructureType::SPATIAL_FILTER_TRACKING_STATE_EXT;
18654}
18655#[repr(C)]
18656#[derive(Copy, Clone, Debug)]
18657#[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)"]
18658pub struct SpatialCapabilityConfigurationAnchorEXT {
18659    pub ty: StructureType,
18660    pub next: *const c_void,
18661    pub capability: SpatialCapabilityEXT,
18662    pub enabled_component_count: u32,
18663    pub enabled_components: *const SpatialComponentTypeEXT,
18664}
18665impl SpatialCapabilityConfigurationAnchorEXT {
18666    pub const TYPE: StructureType = StructureType::SPATIAL_CAPABILITY_CONFIGURATION_ANCHOR_EXT;
18667}
18668#[repr(C)]
18669#[derive(Copy, Clone, Debug)]
18670#[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)"]
18671pub struct SpatialComponentAnchorListEXT {
18672    pub ty: StructureType,
18673    pub next: *mut c_void,
18674    pub location_count: u32,
18675    pub locations: *mut Posef,
18676}
18677impl SpatialComponentAnchorListEXT {
18678    pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_ANCHOR_LIST_EXT;
18679    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18680    #[inline]
18681    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18682        let mut x = MaybeUninit::<Self>::uninit();
18683        unsafe {
18684            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18685                ty: Self::TYPE,
18686                next,
18687            });
18688        }
18689        x
18690    }
18691}
18692#[repr(C)]
18693#[derive(Copy, Clone, Debug)]
18694#[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)"]
18695pub struct SpatialAnchorCreateInfoEXT {
18696    pub ty: StructureType,
18697    pub next: *const c_void,
18698    pub base_space: Space,
18699    pub time: Time,
18700    pub pose: Posef,
18701}
18702impl SpatialAnchorCreateInfoEXT {
18703    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_CREATE_INFO_EXT;
18704}
18705#[repr(C)]
18706#[derive(Copy, Clone, Debug)]
18707#[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)"]
18708pub struct SpatialPersistenceContextCreateInfoEXT {
18709    pub ty: StructureType,
18710    pub next: *const c_void,
18711    pub scope: SpatialPersistenceScopeEXT,
18712}
18713impl SpatialPersistenceContextCreateInfoEXT {
18714    pub const TYPE: StructureType = StructureType::SPATIAL_PERSISTENCE_CONTEXT_CREATE_INFO_EXT;
18715}
18716#[repr(C)]
18717#[derive(Copy, Clone, Debug)]
18718#[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)"]
18719pub struct CreateSpatialPersistenceContextCompletionEXT {
18720    pub ty: StructureType,
18721    pub next: *mut c_void,
18722    pub future_result: Result,
18723    pub create_result: SpatialPersistenceContextResultEXT,
18724    pub persistence_context: SpatialPersistenceContextEXT,
18725}
18726impl CreateSpatialPersistenceContextCompletionEXT {
18727    pub const TYPE: StructureType =
18728        StructureType::CREATE_SPATIAL_PERSISTENCE_CONTEXT_COMPLETION_EXT;
18729    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18730    #[inline]
18731    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18732        let mut x = MaybeUninit::<Self>::uninit();
18733        unsafe {
18734            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18735                ty: Self::TYPE,
18736                next,
18737            });
18738        }
18739        x
18740    }
18741}
18742#[repr(C)]
18743#[derive(Copy, Clone, Debug)]
18744#[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)"]
18745pub struct SpatialContextPersistenceConfigEXT {
18746    pub ty: StructureType,
18747    pub next: *const c_void,
18748    pub persistence_context_count: u32,
18749    pub persistence_contexts: *const SpatialPersistenceContextEXT,
18750}
18751impl SpatialContextPersistenceConfigEXT {
18752    pub const TYPE: StructureType = StructureType::SPATIAL_CONTEXT_PERSISTENCE_CONFIG_EXT;
18753}
18754#[repr(C)]
18755#[derive(Copy, Clone, Debug)]
18756#[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)"]
18757pub struct SpatialDiscoveryPersistenceUuidFilterEXT {
18758    pub ty: StructureType,
18759    pub next: *const c_void,
18760    pub persisted_uuid_count: u32,
18761    pub persisted_uuids: *const Uuid,
18762}
18763impl SpatialDiscoveryPersistenceUuidFilterEXT {
18764    pub const TYPE: StructureType = StructureType::SPATIAL_DISCOVERY_PERSISTENCE_UUID_FILTER_EXT;
18765}
18766#[repr(C)]
18767#[derive(Copy, Clone, Debug)]
18768#[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)"]
18769pub struct SpatialPersistenceDataEXT {
18770    pub persist_uuid: Uuid,
18771    pub persist_state: SpatialPersistenceStateEXT,
18772}
18773#[repr(C)]
18774#[derive(Copy, Clone, Debug)]
18775#[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)"]
18776pub struct SpatialComponentPersistenceListEXT {
18777    pub ty: StructureType,
18778    pub next: *mut c_void,
18779    pub persist_data_count: u32,
18780    pub persist_data: *mut SpatialPersistenceDataEXT,
18781}
18782impl SpatialComponentPersistenceListEXT {
18783    pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_PERSISTENCE_LIST_EXT;
18784    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18785    #[inline]
18786    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18787        let mut x = MaybeUninit::<Self>::uninit();
18788        unsafe {
18789            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18790                ty: Self::TYPE,
18791                next,
18792            });
18793        }
18794        x
18795    }
18796}
18797#[repr(C)]
18798#[derive(Copy, Clone, Debug)]
18799#[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)"]
18800pub struct SpatialEntityPersistInfoEXT {
18801    pub ty: StructureType,
18802    pub next: *const c_void,
18803    pub spatial_context: SpatialContextEXT,
18804    pub spatial_entity_id: SpatialEntityIdEXT,
18805}
18806impl SpatialEntityPersistInfoEXT {
18807    pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_PERSIST_INFO_EXT;
18808}
18809#[repr(C)]
18810#[derive(Copy, Clone, Debug)]
18811#[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)"]
18812pub struct PersistSpatialEntityCompletionEXT {
18813    pub ty: StructureType,
18814    pub next: *mut c_void,
18815    pub future_result: Result,
18816    pub persist_result: SpatialPersistenceContextResultEXT,
18817    pub persist_uuid: Uuid,
18818}
18819impl PersistSpatialEntityCompletionEXT {
18820    pub const TYPE: StructureType = StructureType::PERSIST_SPATIAL_ENTITY_COMPLETION_EXT;
18821    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18822    #[inline]
18823    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18824        let mut x = MaybeUninit::<Self>::uninit();
18825        unsafe {
18826            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18827                ty: Self::TYPE,
18828                next,
18829            });
18830        }
18831        x
18832    }
18833}
18834#[repr(C)]
18835#[derive(Copy, Clone, Debug)]
18836#[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)"]
18837pub struct SpatialEntityUnpersistInfoEXT {
18838    pub ty: StructureType,
18839    pub next: *const c_void,
18840    pub persist_uuid: Uuid,
18841}
18842impl SpatialEntityUnpersistInfoEXT {
18843    pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_UNPERSIST_INFO_EXT;
18844}
18845#[repr(C)]
18846#[derive(Copy, Clone, Debug)]
18847#[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)"]
18848pub struct UnpersistSpatialEntityCompletionEXT {
18849    pub ty: StructureType,
18850    pub next: *mut c_void,
18851    pub future_result: Result,
18852    pub unpersist_result: SpatialPersistenceContextResultEXT,
18853}
18854impl UnpersistSpatialEntityCompletionEXT {
18855    pub const TYPE: StructureType = StructureType::UNPERSIST_SPATIAL_ENTITY_COMPLETION_EXT;
18856    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18857    #[inline]
18858    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18859        let mut x = MaybeUninit::<Self>::uninit();
18860        unsafe {
18861            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18862                ty: Self::TYPE,
18863                next,
18864            });
18865        }
18866        x
18867    }
18868}
18869#[repr(C)]
18870#[derive(Copy, Clone, Debug)]
18871#[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)"]
18872pub struct SpatialCapabilityConfigurationPlaneTrackingEXT {
18873    pub ty: StructureType,
18874    pub next: *const c_void,
18875    pub capability: SpatialCapabilityEXT,
18876    pub enabled_component_count: u32,
18877    pub enabled_components: *const SpatialComponentTypeEXT,
18878}
18879impl SpatialCapabilityConfigurationPlaneTrackingEXT {
18880    pub const TYPE: StructureType =
18881        StructureType::SPATIAL_CAPABILITY_CONFIGURATION_PLANE_TRACKING_EXT;
18882}
18883#[repr(C)]
18884#[derive(Copy, Clone, Debug)]
18885#[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)"]
18886pub struct SpatialComponentPlaneAlignmentListEXT {
18887    pub ty: StructureType,
18888    pub next: *mut c_void,
18889    pub plane_alignment_count: u32,
18890    pub plane_alignments: *mut SpatialPlaneAlignmentEXT,
18891}
18892impl SpatialComponentPlaneAlignmentListEXT {
18893    pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_PLANE_ALIGNMENT_LIST_EXT;
18894    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18895    #[inline]
18896    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18897        let mut x = MaybeUninit::<Self>::uninit();
18898        unsafe {
18899            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18900                ty: Self::TYPE,
18901                next,
18902            });
18903        }
18904        x
18905    }
18906}
18907#[repr(C)]
18908#[derive(Copy, Clone, Debug)]
18909#[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)"]
18910pub struct SpatialComponentMesh2DListEXT {
18911    pub ty: StructureType,
18912    pub next: *mut c_void,
18913    pub mesh_count: u32,
18914    pub meshes: *mut SpatialMeshDataEXT,
18915}
18916impl SpatialComponentMesh2DListEXT {
18917    pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_MESH_2D_LIST_EXT;
18918    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18919    #[inline]
18920    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18921        let mut x = MaybeUninit::<Self>::uninit();
18922        unsafe {
18923            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18924                ty: Self::TYPE,
18925                next,
18926            });
18927        }
18928        x
18929    }
18930}
18931#[repr(C)]
18932#[derive(Copy, Clone, Debug, Default, PartialEq)]
18933#[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)"]
18934pub struct SpatialPolygon2DDataEXT {
18935    pub origin: Posef,
18936    pub vertex_buffer: SpatialBufferEXT,
18937}
18938#[repr(C)]
18939#[derive(Copy, Clone, Debug)]
18940#[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)"]
18941pub struct SpatialComponentPolygon2DListEXT {
18942    pub ty: StructureType,
18943    pub next: *mut c_void,
18944    pub polygon_count: u32,
18945    pub polygons: *mut SpatialPolygon2DDataEXT,
18946}
18947impl SpatialComponentPolygon2DListEXT {
18948    pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_POLYGON_2D_LIST_EXT;
18949    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18950    #[inline]
18951    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18952        let mut x = MaybeUninit::<Self>::uninit();
18953        unsafe {
18954            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18955                ty: Self::TYPE,
18956                next,
18957            });
18958        }
18959        x
18960    }
18961}
18962#[repr(C)]
18963#[derive(Copy, Clone, Debug)]
18964#[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)"]
18965pub struct SpatialComponentPlaneSemanticLabelListEXT {
18966    pub ty: StructureType,
18967    pub next: *mut c_void,
18968    pub semantic_label_count: u32,
18969    pub semantic_labels: *mut SpatialPlaneSemanticLabelEXT,
18970}
18971impl SpatialComponentPlaneSemanticLabelListEXT {
18972    pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_PLANE_SEMANTIC_LABEL_LIST_EXT;
18973    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18974    #[inline]
18975    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18976        let mut x = MaybeUninit::<Self>::uninit();
18977        unsafe {
18978            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18979                ty: Self::TYPE,
18980                next,
18981            });
18982        }
18983        x
18984    }
18985}
18986#[repr(C)]
18987#[derive(Copy, Clone, Debug)]
18988#[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)"]
18989pub struct SystemNotificationsSetInfoML {
18990    pub ty: StructureType,
18991    pub next: *const c_void,
18992    pub suppress_notifications: Bool32,
18993}
18994impl SystemNotificationsSetInfoML {
18995    pub const TYPE: StructureType = StructureType::SYSTEM_NOTIFICATIONS_SET_INFO_ML;
18996}
18997#[repr(C)]
18998#[derive(Copy, Clone, Debug)]
18999#[doc = "See [XrSpatialAudioRendererCreateInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAudioRendererCreateInfoBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19000pub struct SpatialAudioRendererCreateInfoBD {
19001    pub ty: StructureType,
19002    pub next: *const c_void,
19003    pub frames_per_buffer: u32,
19004    pub sample_rate: AudioSampleRateBD,
19005}
19006impl SpatialAudioRendererCreateInfoBD {
19007    pub const TYPE: StructureType = StructureType::SPATIAL_AUDIO_RENDERER_CREATE_INFO_BD;
19008}
19009#[repr(C)]
19010#[derive(Copy, Clone, Debug)]
19011#[doc = "See [XrAudioBufferBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAudioBufferBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19012pub struct AudioBufferBD {
19013    pub ty: StructureType,
19014    pub next: *const c_void,
19015    pub channel_layout: AudioBufferChannelLayoutBD,
19016    pub buffer_channels: u32,
19017    pub buffer_length: u32,
19018    pub buffer: *mut f32,
19019}
19020impl AudioBufferBD {
19021    pub const TYPE: StructureType = StructureType::AUDIO_BUFFER_BD;
19022}
19023#[repr(C)]
19024#[derive(Copy, Clone, Debug)]
19025#[doc = "See [XrSoundObjectDirectivityCardioidBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundObjectDirectivityCardioidBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19026pub struct SoundObjectDirectivityCardioidBD {
19027    pub ty: StructureType,
19028    pub next: *const c_void,
19029    pub alpha: f32,
19030    pub order: f32,
19031}
19032impl SoundObjectDirectivityCardioidBD {
19033    pub const TYPE: StructureType = StructureType::SOUND_OBJECT_DIRECTIVITY_CARDIOID_BD;
19034}
19035#[repr(C)]
19036#[derive(Copy, Clone, Debug)]
19037#[doc = "See [XrSoundObjectShapeSphereBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundObjectShapeSphereBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19038pub struct SoundObjectShapeSphereBD {
19039    pub ty: StructureType,
19040    pub next: *const c_void,
19041    pub radius: f32,
19042}
19043impl SoundObjectShapeSphereBD {
19044    pub const TYPE: StructureType = StructureType::SOUND_OBJECT_SHAPE_SPHERE_BD;
19045}
19046#[repr(C)]
19047#[derive(Copy, Clone, Debug)]
19048#[doc = "See [XrSoundObjectDistanceAttenuationBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundObjectDistanceAttenuationBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19049pub struct SoundObjectDistanceAttenuationBD {
19050    pub ty: StructureType,
19051    pub next: *const c_void,
19052    pub distance_attenuation_type: SoundObjectDistanceAttenuationTypeBD,
19053    pub min_attenuation_range: f32,
19054    pub max_attenuation_range: f32,
19055    pub reference_distance: f32,
19056    pub rolloff_factor: f32,
19057    pub custom_distance_attenuation_curve: *mut SoundObjectDistanceAttenuationCurveBD,
19058}
19059impl SoundObjectDistanceAttenuationBD {
19060    pub const TYPE: StructureType = StructureType::SOUND_OBJECT_DISTANCE_ATTENUATION_BD;
19061}
19062#[repr(C)]
19063#[derive(Copy, Clone, Debug, Default, PartialEq)]
19064#[doc = "See [XrAttenuationCurvePointBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAttenuationCurvePointBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19065pub struct AttenuationCurvePointBD {
19066    pub distance: f32,
19067    pub gain: f32,
19068}
19069#[repr(C)]
19070#[derive(Copy, Clone, Debug)]
19071#[doc = "See [XrSoundObjectDistanceAttenuationCurveBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundObjectDistanceAttenuationCurveBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19072pub struct SoundObjectDistanceAttenuationCurveBD {
19073    pub ty: StructureType,
19074    pub next: *const c_void,
19075    pub curve_point_count: u32,
19076    pub curve_points: *mut AttenuationCurvePointBD,
19077}
19078impl SoundObjectDistanceAttenuationCurveBD {
19079    pub const TYPE: StructureType = StructureType::SOUND_OBJECT_DISTANCE_ATTENUATION_CURVE_BD;
19080}
19081#[repr(C)]
19082#[derive(Copy, Clone, Debug)]
19083#[doc = "See [XrSoundObjectConfigBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundObjectConfigBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19084pub struct SoundObjectConfigBD {
19085    pub ty: StructureType,
19086    pub next: *const c_void,
19087    pub enabled: Bool32,
19088    pub pose: Posef,
19089    pub base_space: Space,
19090    pub main_volume: f32,
19091    pub reflection_gain: f32,
19092    pub enable_doppler: Bool32,
19093    pub direct_sound_attenuation: *const SoundObjectDistanceAttenuationBD,
19094    pub indirect_sound_attenuation: *const SoundObjectDistanceAttenuationBD,
19095}
19096impl SoundObjectConfigBD {
19097    pub const TYPE: StructureType = StructureType::SOUND_OBJECT_CONFIG_BD;
19098}
19099#[repr(C)]
19100#[derive(Copy, Clone, Debug)]
19101#[doc = "See [XrSoundFieldConfigBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundFieldConfigBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19102pub struct SoundFieldConfigBD {
19103    pub ty: StructureType,
19104    pub next: *const c_void,
19105    pub enabled: Bool32,
19106    pub orientation: Quaternionf,
19107    pub base_space: Space,
19108    pub main_volume: f32,
19109    pub lfe_gain: f32,
19110}
19111impl SoundFieldConfigBD {
19112    pub const TYPE: StructureType = StructureType::SOUND_FIELD_CONFIG_BD;
19113}
19114#[repr(C)]
19115#[derive(Copy, Clone, Debug)]
19116#[doc = "See [XrSoundFieldChannelDefinitionSurroundBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundFieldChannelDefinitionSurroundBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19117pub struct SoundFieldChannelDefinitionSurroundBD {
19118    pub ty: StructureType,
19119    pub next: *const c_void,
19120    pub channel_mask: SoundFieldChannelMaskSurroundBD,
19121}
19122impl SoundFieldChannelDefinitionSurroundBD {
19123    pub const TYPE: StructureType = StructureType::SOUND_FIELD_CHANNEL_DEFINITION_SURROUND_BD;
19124}
19125#[repr(C)]
19126#[derive(Copy, Clone, Debug)]
19127#[doc = "See [XrSoundFieldChannelDefinitionAmbixBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundFieldChannelDefinitionAmbixBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19128pub struct SoundFieldChannelDefinitionAmbixBD {
19129    pub ty: StructureType,
19130    pub next: *const c_void,
19131    pub channel_mask: SoundFieldChannelMaskAmbixBD,
19132}
19133impl SoundFieldChannelDefinitionAmbixBD {
19134    pub const TYPE: StructureType = StructureType::SOUND_FIELD_CHANNEL_DEFINITION_AMBIX_BD;
19135}
19136#[repr(C)]
19137#[derive(Copy, Clone, Debug)]
19138#[doc = "See [XrSoundFieldChannelDefinitionFumaBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundFieldChannelDefinitionFumaBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19139pub struct SoundFieldChannelDefinitionFumaBD {
19140    pub ty: StructureType,
19141    pub next: *const c_void,
19142    pub channel_mask: SoundFieldChannelMaskFumaBD,
19143}
19144impl SoundFieldChannelDefinitionFumaBD {
19145    pub const TYPE: StructureType = StructureType::SOUND_FIELD_CHANNEL_DEFINITION_FUMA_BD;
19146}
19147#[repr(C)]
19148#[derive(Copy, Clone, Debug)]
19149#[doc = "See [XrSoundTriangleMeshBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundTriangleMeshBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19150pub struct SoundTriangleMeshBD {
19151    pub ty: StructureType,
19152    pub next: *const c_void,
19153    pub vertex_count: u32,
19154    pub vertices: *mut Vector3f,
19155    pub index_count: u32,
19156    pub indices: *mut u32,
19157}
19158impl SoundTriangleMeshBD {
19159    pub const TYPE: StructureType = StructureType::SOUND_TRIANGLE_MESH_BD;
19160}
19161#[repr(C)]
19162#[derive(Copy, Clone, Debug)]
19163#[doc = "See [XrSoundObstacleConfigBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundObstacleConfigBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19164pub struct SoundObstacleConfigBD {
19165    pub ty: StructureType,
19166    pub next: *const c_void,
19167    pub enabled: Bool32,
19168    pub pose: Posef,
19169    pub base_space: Space,
19170    pub material_count: u32,
19171    pub materials: *mut SoundObstacleMaterialBD,
19172}
19173impl SoundObstacleConfigBD {
19174    pub const TYPE: StructureType = StructureType::SOUND_OBSTACLE_CONFIG_BD;
19175}
19176#[repr(C)]
19177#[derive(Copy, Clone, Debug)]
19178#[doc = "See [XrSoundObstacleMaterialConfigBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundObstacleMaterialConfigBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19179pub struct SoundObstacleMaterialConfigBD {
19180    pub ty: StructureType,
19181    pub next: *const c_void,
19182    pub material_type: SoundObstacleMaterialTypeBD,
19183    pub band_count: u32,
19184    pub band_frequencies: *mut f32,
19185    pub band_absorptions: *mut f32,
19186    pub band_scatterings: *mut f32,
19187    pub band_transmissions: *mut f32,
19188}
19189impl SoundObstacleMaterialConfigBD {
19190    pub const TYPE: StructureType = StructureType::SOUND_OBSTACLE_MATERIAL_CONFIG_BD;
19191}
19192#[repr(C)]
19193#[derive(Copy, Clone, Debug)]
19194#[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)"]
19195pub struct SpatialAnchorsCreateInfoBaseHeaderML {
19196    pub ty: StructureType,
19197    pub next: *const c_void,
19198}
19199#[repr(C)]
19200#[derive(Copy, Clone, Debug)]
19201#[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)"]
19202pub struct SpatialAnchorsCreateInfoFromPoseML {
19203    pub ty: StructureType,
19204    pub next: *const c_void,
19205    pub base_space: Space,
19206    pub pose_in_base_space: Posef,
19207    pub time: Time,
19208}
19209impl SpatialAnchorsCreateInfoFromPoseML {
19210    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_CREATE_INFO_FROM_POSE_ML;
19211}
19212#[repr(C)]
19213#[derive(Copy, Clone, Debug)]
19214#[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)"]
19215pub struct CreateSpatialAnchorsCompletionML {
19216    pub ty: StructureType,
19217    pub next: *mut c_void,
19218    pub future_result: Result,
19219    pub space_count: u32,
19220    pub spaces: *mut Space,
19221}
19222impl CreateSpatialAnchorsCompletionML {
19223    pub const TYPE: StructureType = StructureType::CREATE_SPATIAL_ANCHORS_COMPLETION_ML;
19224    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19225    #[inline]
19226    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19227        let mut x = MaybeUninit::<Self>::uninit();
19228        unsafe {
19229            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19230                ty: Self::TYPE,
19231                next,
19232            });
19233        }
19234        x
19235    }
19236}
19237#[repr(C)]
19238#[derive(Copy, Clone, Debug)]
19239#[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)"]
19240pub struct SpatialAnchorStateML {
19241    pub ty: StructureType,
19242    pub next: *mut c_void,
19243    pub confidence: SpatialAnchorConfidenceML,
19244}
19245impl SpatialAnchorStateML {
19246    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_STATE_ML;
19247    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19248    #[inline]
19249    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19250        let mut x = MaybeUninit::<Self>::uninit();
19251        unsafe {
19252            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19253                ty: Self::TYPE,
19254                next,
19255            });
19256        }
19257        x
19258    }
19259}
19260#[repr(C)]
19261#[derive(Copy, Clone, Debug)]
19262#[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)"]
19263pub struct SpatialAnchorsCreateStorageInfoML {
19264    pub ty: StructureType,
19265    pub next: *const c_void,
19266}
19267impl SpatialAnchorsCreateStorageInfoML {
19268    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_CREATE_STORAGE_INFO_ML;
19269}
19270#[repr(C)]
19271#[derive(Copy, Clone, Debug)]
19272#[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)"]
19273pub struct SpatialAnchorsQueryInfoBaseHeaderML {
19274    pub ty: StructureType,
19275    pub next: *const c_void,
19276}
19277#[repr(C)]
19278#[derive(Copy, Clone, Debug)]
19279#[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)"]
19280pub struct SpatialAnchorsQueryInfoRadiusML {
19281    pub ty: StructureType,
19282    pub next: *const c_void,
19283    pub base_space: Space,
19284    pub center: Vector3f,
19285    pub time: Time,
19286    pub radius: f32,
19287}
19288impl SpatialAnchorsQueryInfoRadiusML {
19289    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_QUERY_INFO_RADIUS_ML;
19290}
19291#[repr(C)]
19292#[derive(Copy, Clone, Debug)]
19293#[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)"]
19294pub struct SpatialAnchorsQueryCompletionML {
19295    pub ty: StructureType,
19296    pub next: *mut c_void,
19297    pub future_result: Result,
19298    pub uuid_capacity_input: u32,
19299    pub uuid_count_output: u32,
19300    pub uuids: *mut UuidEXT,
19301}
19302impl SpatialAnchorsQueryCompletionML {
19303    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_QUERY_COMPLETION_ML;
19304    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19305    #[inline]
19306    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19307        let mut x = MaybeUninit::<Self>::uninit();
19308        unsafe {
19309            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19310                ty: Self::TYPE,
19311                next,
19312            });
19313        }
19314        x
19315    }
19316}
19317#[repr(C)]
19318#[derive(Copy, Clone, Debug)]
19319#[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)"]
19320pub struct SpatialAnchorsCreateInfoFromUuidsML {
19321    pub ty: StructureType,
19322    pub next: *const c_void,
19323    pub storage: SpatialAnchorsStorageML,
19324    pub uuid_count: u32,
19325    pub uuids: *const UuidEXT,
19326}
19327impl SpatialAnchorsCreateInfoFromUuidsML {
19328    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_CREATE_INFO_FROM_UUIDS_ML;
19329}
19330#[repr(C)]
19331#[derive(Copy, Clone, Debug)]
19332#[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)"]
19333pub struct SpatialAnchorsPublishInfoML {
19334    pub ty: StructureType,
19335    pub next: *const c_void,
19336    pub anchor_count: u32,
19337    pub anchors: *const Space,
19338    pub expiration: u64,
19339}
19340impl SpatialAnchorsPublishInfoML {
19341    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_PUBLISH_INFO_ML;
19342}
19343#[repr(C)]
19344#[derive(Copy, Clone, Debug)]
19345#[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)"]
19346pub struct SpatialAnchorsPublishCompletionML {
19347    pub ty: StructureType,
19348    pub next: *mut c_void,
19349    pub future_result: Result,
19350    pub uuid_count: u32,
19351    pub uuids: *mut UuidEXT,
19352}
19353impl SpatialAnchorsPublishCompletionML {
19354    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_PUBLISH_COMPLETION_ML;
19355    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19356    #[inline]
19357    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19358        let mut x = MaybeUninit::<Self>::uninit();
19359        unsafe {
19360            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19361                ty: Self::TYPE,
19362                next,
19363            });
19364        }
19365        x
19366    }
19367}
19368#[repr(C)]
19369#[derive(Copy, Clone, Debug)]
19370#[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)"]
19371pub struct SpatialAnchorsDeleteInfoML {
19372    pub ty: StructureType,
19373    pub next: *const c_void,
19374    pub uuid_count: u32,
19375    pub uuids: *const UuidEXT,
19376}
19377impl SpatialAnchorsDeleteInfoML {
19378    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_DELETE_INFO_ML;
19379}
19380#[repr(C)]
19381#[derive(Copy, Clone, Debug)]
19382#[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)"]
19383pub struct SpatialAnchorsDeleteCompletionML {
19384    pub ty: StructureType,
19385    pub next: *mut c_void,
19386    pub future_result: Result,
19387}
19388impl SpatialAnchorsDeleteCompletionML {
19389    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_DELETE_COMPLETION_ML;
19390    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19391    #[inline]
19392    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19393        let mut x = MaybeUninit::<Self>::uninit();
19394        unsafe {
19395            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19396                ty: Self::TYPE,
19397                next,
19398            });
19399        }
19400        x
19401    }
19402}
19403#[repr(C)]
19404#[derive(Copy, Clone, Debug)]
19405#[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)"]
19406pub struct SpatialAnchorsUpdateExpirationInfoML {
19407    pub ty: StructureType,
19408    pub next: *const c_void,
19409    pub uuid_count: u32,
19410    pub uuids: *const UuidEXT,
19411    pub expiration: u64,
19412}
19413impl SpatialAnchorsUpdateExpirationInfoML {
19414    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_UPDATE_EXPIRATION_INFO_ML;
19415}
19416#[repr(C)]
19417#[derive(Copy, Clone, Debug)]
19418#[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)"]
19419pub struct SpatialAnchorsUpdateExpirationCompletionML {
19420    pub ty: StructureType,
19421    pub next: *mut c_void,
19422    pub future_result: Result,
19423}
19424impl SpatialAnchorsUpdateExpirationCompletionML {
19425    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_ML;
19426    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19427    #[inline]
19428    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19429        let mut x = MaybeUninit::<Self>::uninit();
19430        unsafe {
19431            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19432                ty: Self::TYPE,
19433                next,
19434            });
19435        }
19436        x
19437    }
19438}
19439#[repr(C)]
19440#[derive(Copy, Clone, Debug, Default, PartialEq)]
19441#[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)"]
19442pub struct SpatialAnchorCompletionResultML {
19443    pub uuid: UuidEXT,
19444    pub result: Result,
19445}
19446#[repr(C)]
19447#[derive(Copy, Clone, Debug)]
19448#[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)"]
19449pub struct SpatialAnchorsPublishCompletionDetailsML {
19450    pub ty: StructureType,
19451    pub next: *mut c_void,
19452    pub result_count: u32,
19453    pub results: *mut SpatialAnchorCompletionResultML,
19454}
19455impl SpatialAnchorsPublishCompletionDetailsML {
19456    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_PUBLISH_COMPLETION_DETAILS_ML;
19457    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19458    #[inline]
19459    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19460        let mut x = MaybeUninit::<Self>::uninit();
19461        unsafe {
19462            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19463                ty: Self::TYPE,
19464                next,
19465            });
19466        }
19467        x
19468    }
19469}
19470#[repr(C)]
19471#[derive(Copy, Clone, Debug)]
19472#[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)"]
19473pub struct SpatialAnchorsDeleteCompletionDetailsML {
19474    pub ty: StructureType,
19475    pub next: *mut c_void,
19476    pub result_count: u32,
19477    pub results: *mut SpatialAnchorCompletionResultML,
19478}
19479impl SpatialAnchorsDeleteCompletionDetailsML {
19480    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_DELETE_COMPLETION_DETAILS_ML;
19481    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19482    #[inline]
19483    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19484        let mut x = MaybeUninit::<Self>::uninit();
19485        unsafe {
19486            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19487                ty: Self::TYPE,
19488                next,
19489            });
19490        }
19491        x
19492    }
19493}
19494#[repr(C)]
19495#[derive(Copy, Clone, Debug)]
19496#[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)"]
19497pub struct SpatialAnchorsUpdateExpirationCompletionDetailsML {
19498    pub ty: StructureType,
19499    pub next: *mut c_void,
19500    pub result_count: u32,
19501    pub results: *mut SpatialAnchorCompletionResultML,
19502}
19503impl SpatialAnchorsUpdateExpirationCompletionDetailsML {
19504    pub const TYPE: StructureType =
19505        StructureType::SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_DETAILS_ML;
19506    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19507    #[inline]
19508    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19509        let mut x = MaybeUninit::<Self>::uninit();
19510        unsafe {
19511            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19512                ty: Self::TYPE,
19513                next,
19514            });
19515        }
19516        x
19517    }
19518}
19519#[repr(C)]
19520#[derive(Copy, Clone, Debug)]
19521#[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)"]
19522pub struct WorldMeshDetectorCreateInfoML {
19523    pub ty: StructureType,
19524    pub next: *const c_void,
19525}
19526impl WorldMeshDetectorCreateInfoML {
19527    pub const TYPE: StructureType = StructureType::WORLD_MESH_DETECTOR_CREATE_INFO_ML;
19528}
19529#[repr(C)]
19530#[derive(Copy, Clone, Debug)]
19531#[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)"]
19532pub struct WorldMeshStateRequestInfoML {
19533    pub ty: StructureType,
19534    pub next: *const c_void,
19535    pub base_space: Space,
19536    pub time: Time,
19537    pub bounding_box_center: Posef,
19538    pub bounding_box_extents: Extent3DfEXT,
19539}
19540impl WorldMeshStateRequestInfoML {
19541    pub const TYPE: StructureType = StructureType::WORLD_MESH_STATE_REQUEST_INFO_ML;
19542}
19543#[repr(C)]
19544#[derive(Copy, Clone, Debug)]
19545#[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)"]
19546pub struct WorldMeshBlockStateML {
19547    pub ty: StructureType,
19548    pub next: *mut c_void,
19549    pub uuid: UuidEXT,
19550    pub mesh_bounding_box_center: Posef,
19551    pub mesh_bounding_box_extents: Extent3DfEXT,
19552    pub last_update_time: Time,
19553    pub status: WorldMeshBlockStatusML,
19554}
19555impl WorldMeshBlockStateML {
19556    pub const TYPE: StructureType = StructureType::WORLD_MESH_BLOCK_STATE_ML;
19557    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19558    #[inline]
19559    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19560        let mut x = MaybeUninit::<Self>::uninit();
19561        unsafe {
19562            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19563                ty: Self::TYPE,
19564                next,
19565            });
19566        }
19567        x
19568    }
19569}
19570#[repr(C)]
19571#[derive(Copy, Clone, Debug)]
19572#[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)"]
19573pub struct WorldMeshStateRequestCompletionML {
19574    pub ty: StructureType,
19575    pub next: *mut c_void,
19576    pub future_result: Result,
19577    pub timestamp: Time,
19578    pub mesh_block_state_capacity_input: u32,
19579    pub mesh_block_state_count_output: u32,
19580    pub mesh_block_states: *mut WorldMeshBlockStateML,
19581}
19582impl WorldMeshStateRequestCompletionML {
19583    pub const TYPE: StructureType = StructureType::WORLD_MESH_STATE_REQUEST_COMPLETION_ML;
19584    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19585    #[inline]
19586    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19587        let mut x = MaybeUninit::<Self>::uninit();
19588        unsafe {
19589            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19590                ty: Self::TYPE,
19591                next,
19592            });
19593        }
19594        x
19595    }
19596}
19597#[repr(C)]
19598#[derive(Copy, Clone, Debug)]
19599#[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)"]
19600pub struct WorldMeshBufferRecommendedSizeInfoML {
19601    pub ty: StructureType,
19602    pub next: *const c_void,
19603    pub max_block_count: u32,
19604}
19605impl WorldMeshBufferRecommendedSizeInfoML {
19606    pub const TYPE: StructureType = StructureType::WORLD_MESH_BUFFER_RECOMMENDED_SIZE_INFO_ML;
19607}
19608#[repr(C)]
19609#[derive(Copy, Clone, Debug)]
19610#[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)"]
19611pub struct WorldMeshBufferSizeML {
19612    pub ty: StructureType,
19613    pub next: *mut c_void,
19614    pub size: u32,
19615}
19616impl WorldMeshBufferSizeML {
19617    pub const TYPE: StructureType = StructureType::WORLD_MESH_BUFFER_SIZE_ML;
19618    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19619    #[inline]
19620    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19621        let mut x = MaybeUninit::<Self>::uninit();
19622        unsafe {
19623            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19624                ty: Self::TYPE,
19625                next,
19626            });
19627        }
19628        x
19629    }
19630}
19631#[repr(C)]
19632#[derive(Copy, Clone, Debug)]
19633#[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)"]
19634pub struct WorldMeshBufferML {
19635    pub ty: StructureType,
19636    pub next: *mut c_void,
19637    pub buffer_size: u32,
19638    pub buffer: *mut c_void,
19639}
19640impl WorldMeshBufferML {
19641    pub const TYPE: StructureType = StructureType::WORLD_MESH_BUFFER_ML;
19642    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19643    #[inline]
19644    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19645        let mut x = MaybeUninit::<Self>::uninit();
19646        unsafe {
19647            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19648                ty: Self::TYPE,
19649                next,
19650            });
19651        }
19652        x
19653    }
19654}
19655#[repr(C)]
19656#[derive(Copy, Clone, Debug)]
19657#[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)"]
19658pub struct WorldMeshBlockRequestML {
19659    pub ty: StructureType,
19660    pub next: *mut c_void,
19661    pub uuid: UuidEXT,
19662    pub lod: WorldMeshDetectorLodML,
19663}
19664impl WorldMeshBlockRequestML {
19665    pub const TYPE: StructureType = StructureType::WORLD_MESH_BLOCK_REQUEST_ML;
19666    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19667    #[inline]
19668    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19669        let mut x = MaybeUninit::<Self>::uninit();
19670        unsafe {
19671            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19672                ty: Self::TYPE,
19673                next,
19674            });
19675        }
19676        x
19677    }
19678}
19679#[repr(C)]
19680#[derive(Copy, Clone, Debug)]
19681#[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)"]
19682pub struct WorldMeshGetInfoML {
19683    pub ty: StructureType,
19684    pub next: *const c_void,
19685    pub flags: WorldMeshDetectorFlagsML,
19686    pub fill_hole_length: f32,
19687    pub disconnected_component_area: f32,
19688    pub block_count: u32,
19689    pub blocks: *mut WorldMeshBlockRequestML,
19690}
19691impl WorldMeshGetInfoML {
19692    pub const TYPE: StructureType = StructureType::WORLD_MESH_GET_INFO_ML;
19693}
19694#[repr(C)]
19695#[derive(Copy, Clone, Debug)]
19696#[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)"]
19697pub struct WorldMeshBlockML {
19698    pub ty: StructureType,
19699    pub next: *mut c_void,
19700    pub uuid: UuidEXT,
19701    pub block_result: WorldMeshBlockResultML,
19702    pub lod: WorldMeshDetectorLodML,
19703    pub flags: WorldMeshDetectorFlagsML,
19704    pub index_count: u32,
19705    pub index_buffer: *mut u16,
19706    pub vertex_count: u32,
19707    pub vertex_buffer: *mut Vector3f,
19708    pub normal_count: u32,
19709    pub normal_buffer: *mut Vector3f,
19710    pub confidence_count: u32,
19711    pub confidence_buffer: *mut f32,
19712}
19713impl WorldMeshBlockML {
19714    pub const TYPE: StructureType = StructureType::WORLD_MESH_BLOCK_ML;
19715    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19716    #[inline]
19717    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19718        let mut x = MaybeUninit::<Self>::uninit();
19719        unsafe {
19720            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19721                ty: Self::TYPE,
19722                next,
19723            });
19724        }
19725        x
19726    }
19727}
19728#[repr(C)]
19729#[derive(Copy, Clone, Debug)]
19730#[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)"]
19731pub struct WorldMeshRequestCompletionInfoML {
19732    pub ty: StructureType,
19733    pub next: *const c_void,
19734    pub mesh_space: Space,
19735    pub mesh_space_locate_time: Time,
19736}
19737impl WorldMeshRequestCompletionInfoML {
19738    pub const TYPE: StructureType = StructureType::WORLD_MESH_REQUEST_COMPLETION_INFO_ML;
19739}
19740#[repr(C)]
19741#[derive(Copy, Clone, Debug)]
19742#[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)"]
19743pub struct WorldMeshRequestCompletionML {
19744    pub ty: StructureType,
19745    pub next: *mut c_void,
19746    pub future_result: Result,
19747    pub block_count: u32,
19748    pub blocks: *mut WorldMeshBlockML,
19749}
19750impl WorldMeshRequestCompletionML {
19751    pub const TYPE: StructureType = StructureType::WORLD_MESH_REQUEST_COMPLETION_ML;
19752    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19753    #[inline]
19754    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19755        let mut x = MaybeUninit::<Self>::uninit();
19756        unsafe {
19757            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19758                ty: Self::TYPE,
19759                next,
19760            });
19761        }
19762        x
19763    }
19764}
19765#[repr(C)]
19766#[derive(Copy, Clone, Debug)]
19767#[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)"]
19768pub struct EventDataPassthroughLayerResumedMETA {
19769    pub ty: StructureType,
19770    pub next: *const c_void,
19771    pub layer: PassthroughLayerFB,
19772}
19773impl EventDataPassthroughLayerResumedMETA {
19774    pub const TYPE: StructureType = StructureType::EVENT_DATA_PASSTHROUGH_LAYER_RESUMED_META;
19775}
19776#[repr(C)]
19777#[derive(Copy, Clone, Debug)]
19778#[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)"]
19779pub struct RenderModelCreateInfoEXT {
19780    pub ty: StructureType,
19781    pub next: *const c_void,
19782    pub render_model_id: RenderModelIdEXT,
19783    pub gltf_extension_count: u32,
19784    pub gltf_extensions: *const *const c_char,
19785}
19786impl RenderModelCreateInfoEXT {
19787    pub const TYPE: StructureType = StructureType::RENDER_MODEL_CREATE_INFO_EXT;
19788}
19789#[repr(C)]
19790#[derive(Copy, Clone, Debug)]
19791#[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)"]
19792pub struct RenderModelPropertiesGetInfoEXT {
19793    pub ty: StructureType,
19794    pub next: *const c_void,
19795}
19796impl RenderModelPropertiesGetInfoEXT {
19797    pub const TYPE: StructureType = StructureType::RENDER_MODEL_PROPERTIES_GET_INFO_EXT;
19798}
19799#[repr(C)]
19800#[derive(Copy, Clone, Debug)]
19801#[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)"]
19802pub struct RenderModelPropertiesEXT {
19803    pub ty: StructureType,
19804    pub next: *mut c_void,
19805    pub cache_id: UuidEXT,
19806    pub animatable_node_count: u32,
19807}
19808impl RenderModelPropertiesEXT {
19809    pub const TYPE: StructureType = StructureType::RENDER_MODEL_PROPERTIES_EXT;
19810    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19811    #[inline]
19812    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19813        let mut x = MaybeUninit::<Self>::uninit();
19814        unsafe {
19815            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19816                ty: Self::TYPE,
19817                next,
19818            });
19819        }
19820        x
19821    }
19822}
19823#[repr(C)]
19824#[derive(Copy, Clone, Debug)]
19825#[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)"]
19826pub struct RenderModelSpaceCreateInfoEXT {
19827    pub ty: StructureType,
19828    pub next: *const c_void,
19829    pub render_model: RenderModelEXT,
19830}
19831impl RenderModelSpaceCreateInfoEXT {
19832    pub const TYPE: StructureType = StructureType::RENDER_MODEL_SPACE_CREATE_INFO_EXT;
19833}
19834#[repr(C)]
19835#[derive(Copy, Clone, Debug)]
19836#[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)"]
19837pub struct RenderModelAssetCreateInfoEXT {
19838    pub ty: StructureType,
19839    pub next: *const c_void,
19840    pub cache_id: UuidEXT,
19841}
19842impl RenderModelAssetCreateInfoEXT {
19843    pub const TYPE: StructureType = StructureType::RENDER_MODEL_ASSET_CREATE_INFO_EXT;
19844}
19845#[repr(C)]
19846#[derive(Copy, Clone, Debug)]
19847#[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)"]
19848pub struct RenderModelAssetDataGetInfoEXT {
19849    pub ty: StructureType,
19850    pub next: *const c_void,
19851}
19852impl RenderModelAssetDataGetInfoEXT {
19853    pub const TYPE: StructureType = StructureType::RENDER_MODEL_ASSET_DATA_GET_INFO_EXT;
19854}
19855#[repr(C)]
19856#[derive(Copy, Clone, Debug)]
19857#[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)"]
19858pub struct RenderModelAssetDataEXT {
19859    pub ty: StructureType,
19860    pub next: *mut c_void,
19861    pub buffer_capacity_input: u32,
19862    pub buffer_count_output: u32,
19863    pub buffer: *mut u8,
19864}
19865impl RenderModelAssetDataEXT {
19866    pub const TYPE: StructureType = StructureType::RENDER_MODEL_ASSET_DATA_EXT;
19867    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19868    #[inline]
19869    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19870        let mut x = MaybeUninit::<Self>::uninit();
19871        unsafe {
19872            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19873                ty: Self::TYPE,
19874                next,
19875            });
19876        }
19877        x
19878    }
19879}
19880#[repr(C)]
19881#[derive(Copy, Clone, Debug)]
19882#[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)"]
19883pub struct RenderModelAssetPropertiesGetInfoEXT {
19884    pub ty: StructureType,
19885    pub next: *const c_void,
19886}
19887impl RenderModelAssetPropertiesGetInfoEXT {
19888    pub const TYPE: StructureType = StructureType::RENDER_MODEL_ASSET_PROPERTIES_GET_INFO_EXT;
19889}
19890#[repr(C)]
19891#[derive(Copy, Clone, Debug)]
19892#[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)"]
19893pub struct RenderModelAssetNodePropertiesEXT {
19894    pub unique_name: [c_char; MAX_RENDER_MODEL_ASSET_NODE_NAME_SIZE_EXT],
19895}
19896#[repr(C)]
19897#[derive(Copy, Clone, Debug)]
19898#[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)"]
19899pub struct RenderModelAssetPropertiesEXT {
19900    pub ty: StructureType,
19901    pub next: *mut c_void,
19902    pub node_property_count: u32,
19903    pub node_properties: *mut RenderModelAssetNodePropertiesEXT,
19904}
19905impl RenderModelAssetPropertiesEXT {
19906    pub const TYPE: StructureType = StructureType::RENDER_MODEL_ASSET_PROPERTIES_EXT;
19907    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19908    #[inline]
19909    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19910        let mut x = MaybeUninit::<Self>::uninit();
19911        unsafe {
19912            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19913                ty: Self::TYPE,
19914                next,
19915            });
19916        }
19917        x
19918    }
19919}
19920#[repr(C)]
19921#[derive(Copy, Clone, Debug)]
19922#[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)"]
19923pub struct RenderModelStateGetInfoEXT {
19924    pub ty: StructureType,
19925    pub next: *const c_void,
19926    pub display_time: Time,
19927}
19928impl RenderModelStateGetInfoEXT {
19929    pub const TYPE: StructureType = StructureType::RENDER_MODEL_STATE_GET_INFO_EXT;
19930}
19931#[repr(C)]
19932#[derive(Copy, Clone, Debug, Default, PartialEq)]
19933#[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)"]
19934pub struct RenderModelNodeStateEXT {
19935    pub node_pose: Posef,
19936    pub is_visible: Bool32,
19937}
19938#[repr(C)]
19939#[derive(Copy, Clone, Debug)]
19940#[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)"]
19941pub struct RenderModelStateEXT {
19942    pub ty: StructureType,
19943    pub next: *mut c_void,
19944    pub node_state_count: u32,
19945    pub node_states: *mut RenderModelNodeStateEXT,
19946}
19947impl RenderModelStateEXT {
19948    pub const TYPE: StructureType = StructureType::RENDER_MODEL_STATE_EXT;
19949    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19950    #[inline]
19951    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19952        let mut x = MaybeUninit::<Self>::uninit();
19953        unsafe {
19954            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19955                ty: Self::TYPE,
19956                next,
19957            });
19958        }
19959        x
19960    }
19961}
19962#[repr(C)]
19963#[derive(Copy, Clone, Debug)]
19964#[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)"]
19965pub struct InteractionRenderModelIdsEnumerateInfoEXT {
19966    pub ty: StructureType,
19967    pub next: *const c_void,
19968}
19969impl InteractionRenderModelIdsEnumerateInfoEXT {
19970    pub const TYPE: StructureType = StructureType::INTERACTION_RENDER_MODEL_IDS_ENUMERATE_INFO_EXT;
19971}
19972#[repr(C)]
19973#[derive(Copy, Clone, Debug)]
19974#[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)"]
19975pub struct InteractionRenderModelSubactionPathInfoEXT {
19976    pub ty: StructureType,
19977    pub next: *const c_void,
19978}
19979impl InteractionRenderModelSubactionPathInfoEXT {
19980    pub const TYPE: StructureType = StructureType::INTERACTION_RENDER_MODEL_SUBACTION_PATH_INFO_EXT;
19981}
19982#[repr(C)]
19983#[derive(Copy, Clone, Debug)]
19984#[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)"]
19985pub struct InteractionRenderModelTopLevelUserPathGetInfoEXT {
19986    pub ty: StructureType,
19987    pub next: *const c_void,
19988    pub top_level_user_path_count: u32,
19989    pub top_level_user_paths: *const Path,
19990}
19991impl InteractionRenderModelTopLevelUserPathGetInfoEXT {
19992    pub const TYPE: StructureType =
19993        StructureType::INTERACTION_RENDER_MODEL_TOP_LEVEL_USER_PATH_GET_INFO_EXT;
19994}
19995#[repr(C)]
19996#[derive(Copy, Clone, Debug)]
19997#[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)"]
19998pub struct EventDataInteractionRenderModelsChangedEXT {
19999    pub ty: StructureType,
20000    pub next: *const c_void,
20001}
20002impl EventDataInteractionRenderModelsChangedEXT {
20003    pub const TYPE: StructureType = StructureType::EVENT_DATA_INTERACTION_RENDER_MODELS_CHANGED_EXT;
20004}
20005#[repr(C)]
20006#[derive(Copy, Clone, Debug)]
20007#[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)"]
20008pub struct SystemSpatialSensingPropertiesBD {
20009    pub ty: StructureType,
20010    pub next: *mut c_void,
20011    pub supports_spatial_sensing: Bool32,
20012}
20013impl SystemSpatialSensingPropertiesBD {
20014    pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_SENSING_PROPERTIES_BD;
20015    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20016    #[inline]
20017    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20018        let mut x = MaybeUninit::<Self>::uninit();
20019        unsafe {
20020            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20021                ty: Self::TYPE,
20022                next,
20023            });
20024        }
20025        x
20026    }
20027}
20028#[repr(C)]
20029#[derive(Copy, Clone, Debug)]
20030#[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)"]
20031pub struct SpatialEntityComponentGetInfoBD {
20032    pub ty: StructureType,
20033    pub next: *const c_void,
20034    pub entity_id: SpatialEntityIdBD,
20035    pub component_type: SpatialEntityComponentTypeBD,
20036}
20037impl SpatialEntityComponentGetInfoBD {
20038    pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_COMPONENT_GET_INFO_BD;
20039}
20040#[repr(C)]
20041#[derive(Copy, Clone, Debug)]
20042#[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)"]
20043pub struct SpatialEntityComponentDataBaseHeaderBD {
20044    pub ty: StructureType,
20045    pub next: *mut c_void,
20046}
20047#[repr(C)]
20048#[derive(Copy, Clone, Debug)]
20049#[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)"]
20050pub struct SpatialEntityLocationGetInfoBD {
20051    pub ty: StructureType,
20052    pub next: *const c_void,
20053    pub base_space: Space,
20054}
20055impl SpatialEntityLocationGetInfoBD {
20056    pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_LOCATION_GET_INFO_BD;
20057}
20058#[repr(C)]
20059#[derive(Copy, Clone, Debug)]
20060#[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)"]
20061pub struct SpatialEntityComponentDataLocationBD {
20062    pub ty: StructureType,
20063    pub next: *mut c_void,
20064    pub location: SpaceLocation,
20065}
20066impl SpatialEntityComponentDataLocationBD {
20067    pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_COMPONENT_DATA_LOCATION_BD;
20068    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20069    #[inline]
20070    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20071        let mut x = MaybeUninit::<Self>::uninit();
20072        unsafe {
20073            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20074                ty: Self::TYPE,
20075                next,
20076            });
20077        }
20078        x
20079    }
20080}
20081#[repr(C)]
20082#[derive(Copy, Clone, Debug)]
20083#[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)"]
20084pub struct SpatialEntityComponentDataSemanticBD {
20085    pub ty: StructureType,
20086    pub next: *mut c_void,
20087    pub label_capacity_input: u32,
20088    pub label_count_output: u32,
20089    pub labels: *mut SemanticLabelBD,
20090}
20091impl SpatialEntityComponentDataSemanticBD {
20092    pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_COMPONENT_DATA_SEMANTIC_BD;
20093    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20094    #[inline]
20095    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20096        let mut x = MaybeUninit::<Self>::uninit();
20097        unsafe {
20098            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20099                ty: Self::TYPE,
20100                next,
20101            });
20102        }
20103        x
20104    }
20105}
20106#[repr(C)]
20107#[derive(Copy, Clone, Debug)]
20108#[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)"]
20109pub struct SpatialEntityComponentDataBoundingBox2DBD {
20110    pub ty: StructureType,
20111    pub next: *mut c_void,
20112    pub bounding_box2_d: Rect2Df,
20113}
20114impl SpatialEntityComponentDataBoundingBox2DBD {
20115    pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_2D_BD;
20116    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20117    #[inline]
20118    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20119        let mut x = MaybeUninit::<Self>::uninit();
20120        unsafe {
20121            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20122                ty: Self::TYPE,
20123                next,
20124            });
20125        }
20126        x
20127    }
20128}
20129#[repr(C)]
20130#[derive(Copy, Clone, Debug)]
20131#[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)"]
20132pub struct SpatialEntityComponentDataPolygonBD {
20133    pub ty: StructureType,
20134    pub next: *mut c_void,
20135    pub vertex_capacity_input: u32,
20136    pub vertex_count_output: u32,
20137    pub vertices: *mut Vector2f,
20138}
20139impl SpatialEntityComponentDataPolygonBD {
20140    pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_COMPONENT_DATA_POLYGON_BD;
20141    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20142    #[inline]
20143    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20144        let mut x = MaybeUninit::<Self>::uninit();
20145        unsafe {
20146            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20147                ty: Self::TYPE,
20148                next,
20149            });
20150        }
20151        x
20152    }
20153}
20154#[repr(C)]
20155#[derive(Copy, Clone, Debug)]
20156#[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)"]
20157pub struct SpatialEntityComponentDataBoundingBox3DBD {
20158    pub ty: StructureType,
20159    pub next: *mut c_void,
20160    pub bounding_box3_d: Boxf,
20161}
20162impl SpatialEntityComponentDataBoundingBox3DBD {
20163    pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_3D_BD;
20164    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20165    #[inline]
20166    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20167        let mut x = MaybeUninit::<Self>::uninit();
20168        unsafe {
20169            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20170                ty: Self::TYPE,
20171                next,
20172            });
20173        }
20174        x
20175    }
20176}
20177#[repr(C)]
20178#[derive(Copy, Clone, Debug)]
20179#[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)"]
20180pub struct SpatialEntityComponentDataTriangleMeshBD {
20181    pub ty: StructureType,
20182    pub next: *mut c_void,
20183    pub vertex_capacity_input: u32,
20184    pub vertex_count_output: u32,
20185    pub vertices: *mut Vector3f,
20186    pub index_capacity_input: u32,
20187    pub index_count_output: u32,
20188    pub indices: *mut u16,
20189}
20190impl SpatialEntityComponentDataTriangleMeshBD {
20191    pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_COMPONENT_DATA_TRIANGLE_MESH_BD;
20192    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20193    #[inline]
20194    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20195        let mut x = MaybeUninit::<Self>::uninit();
20196        unsafe {
20197            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20198                ty: Self::TYPE,
20199                next,
20200            });
20201        }
20202        x
20203    }
20204}
20205#[repr(C)]
20206#[derive(Copy, Clone, Debug)]
20207#[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)"]
20208pub struct SenseDataProviderCreateInfoBD {
20209    pub ty: StructureType,
20210    pub next: *const c_void,
20211    pub provider_type: SenseDataProviderTypeBD,
20212}
20213impl SenseDataProviderCreateInfoBD {
20214    pub const TYPE: StructureType = StructureType::SENSE_DATA_PROVIDER_CREATE_INFO_BD;
20215}
20216#[repr(C)]
20217#[derive(Copy, Clone, Debug)]
20218#[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)"]
20219pub struct SenseDataProviderStartInfoBD {
20220    pub ty: StructureType,
20221    pub next: *const c_void,
20222}
20223impl SenseDataProviderStartInfoBD {
20224    pub const TYPE: StructureType = StructureType::SENSE_DATA_PROVIDER_START_INFO_BD;
20225}
20226#[repr(C)]
20227#[derive(Copy, Clone, Debug)]
20228#[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)"]
20229pub struct EventDataSenseDataProviderStateChangedBD {
20230    pub ty: StructureType,
20231    pub next: *const c_void,
20232    pub provider: SenseDataProviderBD,
20233    pub new_state: SenseDataProviderStateBD,
20234}
20235impl EventDataSenseDataProviderStateChangedBD {
20236    pub const TYPE: StructureType = StructureType::EVENT_DATA_SENSE_DATA_PROVIDER_STATE_CHANGED_BD;
20237}
20238#[repr(C)]
20239#[derive(Copy, Clone, Debug)]
20240#[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)"]
20241pub struct EventDataSenseDataUpdatedBD {
20242    pub ty: StructureType,
20243    pub next: *const c_void,
20244    pub provider: SenseDataProviderBD,
20245}
20246impl EventDataSenseDataUpdatedBD {
20247    pub const TYPE: StructureType = StructureType::EVENT_DATA_SENSE_DATA_UPDATED_BD;
20248}
20249#[repr(C)]
20250#[derive(Copy, Clone, Debug)]
20251#[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)"]
20252pub struct SenseDataQueryInfoBD {
20253    pub ty: StructureType,
20254    pub next: *const c_void,
20255}
20256impl SenseDataQueryInfoBD {
20257    pub const TYPE: StructureType = StructureType::SENSE_DATA_QUERY_INFO_BD;
20258}
20259#[repr(C)]
20260#[derive(Copy, Clone, Debug)]
20261#[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)"]
20262pub struct SenseDataFilterUuidBD {
20263    pub ty: StructureType,
20264    pub next: *const c_void,
20265    pub uuid_count: u32,
20266    pub uuids: *const UuidEXT,
20267}
20268impl SenseDataFilterUuidBD {
20269    pub const TYPE: StructureType = StructureType::SENSE_DATA_FILTER_UUID_BD;
20270}
20271#[repr(C)]
20272#[derive(Copy, Clone, Debug)]
20273#[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)"]
20274pub struct SenseDataFilterSemanticBD {
20275    pub ty: StructureType,
20276    pub next: *const c_void,
20277    pub label_count: u32,
20278    pub labels: *const SemanticLabelBD,
20279}
20280impl SenseDataFilterSemanticBD {
20281    pub const TYPE: StructureType = StructureType::SENSE_DATA_FILTER_SEMANTIC_BD;
20282}
20283#[repr(C)]
20284#[derive(Copy, Clone, Debug)]
20285#[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)"]
20286pub struct SenseDataQueryCompletionBD {
20287    pub ty: StructureType,
20288    pub next: *mut c_void,
20289    pub future_result: Result,
20290    pub snapshot: SenseDataSnapshotBD,
20291}
20292impl SenseDataQueryCompletionBD {
20293    pub const TYPE: StructureType = StructureType::SENSE_DATA_QUERY_COMPLETION_BD;
20294    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20295    #[inline]
20296    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20297        let mut x = MaybeUninit::<Self>::uninit();
20298        unsafe {
20299            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20300                ty: Self::TYPE,
20301                next,
20302            });
20303        }
20304        x
20305    }
20306}
20307#[repr(C)]
20308#[derive(Copy, Clone, Debug)]
20309#[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)"]
20310pub struct QueriedSenseDataGetInfoBD {
20311    pub ty: StructureType,
20312    pub next: *const c_void,
20313}
20314impl QueriedSenseDataGetInfoBD {
20315    pub const TYPE: StructureType = StructureType::QUERIED_SENSE_DATA_GET_INFO_BD;
20316}
20317#[repr(C)]
20318#[derive(Copy, Clone, Debug)]
20319#[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)"]
20320pub struct QueriedSenseDataBD {
20321    pub ty: StructureType,
20322    pub next: *mut c_void,
20323    pub state_capacity_input: u32,
20324    pub state_count_output: u32,
20325    pub states: *mut SpatialEntityStateBD,
20326}
20327impl QueriedSenseDataBD {
20328    pub const TYPE: StructureType = StructureType::QUERIED_SENSE_DATA_BD;
20329    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20330    #[inline]
20331    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20332        let mut x = MaybeUninit::<Self>::uninit();
20333        unsafe {
20334            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20335                ty: Self::TYPE,
20336                next,
20337            });
20338        }
20339        x
20340    }
20341}
20342#[repr(C)]
20343#[derive(Copy, Clone, Debug)]
20344#[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)"]
20345pub struct SpatialEntityStateBD {
20346    pub ty: StructureType,
20347    pub next: *mut c_void,
20348    pub entity_id: SpatialEntityIdBD,
20349    pub last_update_time: Time,
20350    pub uuid: UuidEXT,
20351}
20352impl SpatialEntityStateBD {
20353    pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_STATE_BD;
20354    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20355    #[inline]
20356    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20357        let mut x = MaybeUninit::<Self>::uninit();
20358        unsafe {
20359            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20360                ty: Self::TYPE,
20361                next,
20362            });
20363        }
20364        x
20365    }
20366}
20367#[repr(C)]
20368#[derive(Copy, Clone, Debug)]
20369#[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)"]
20370pub struct SpatialEntityAnchorCreateInfoBD {
20371    pub ty: StructureType,
20372    pub next: *const c_void,
20373    pub snapshot: SenseDataSnapshotBD,
20374    pub entity_id: SpatialEntityIdBD,
20375}
20376impl SpatialEntityAnchorCreateInfoBD {
20377    pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_ANCHOR_CREATE_INFO_BD;
20378}
20379#[repr(C)]
20380#[derive(Copy, Clone, Debug)]
20381#[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)"]
20382pub struct AnchorSpaceCreateInfoBD {
20383    pub ty: StructureType,
20384    pub next: *const c_void,
20385    pub anchor: AnchorBD,
20386    pub pose_in_anchor_space: Posef,
20387}
20388impl AnchorSpaceCreateInfoBD {
20389    pub const TYPE: StructureType = StructureType::ANCHOR_SPACE_CREATE_INFO_BD;
20390}
20391#[repr(C)]
20392#[derive(Copy, Clone, Debug)]
20393#[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)"]
20394pub struct SystemSpatialAnchorPropertiesBD {
20395    pub ty: StructureType,
20396    pub next: *mut c_void,
20397    pub supports_spatial_anchor: Bool32,
20398}
20399impl SystemSpatialAnchorPropertiesBD {
20400    pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_ANCHOR_PROPERTIES_BD;
20401    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20402    #[inline]
20403    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20404        let mut x = MaybeUninit::<Self>::uninit();
20405        unsafe {
20406            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20407                ty: Self::TYPE,
20408                next,
20409            });
20410        }
20411        x
20412    }
20413}
20414#[repr(C)]
20415#[derive(Copy, Clone, Debug)]
20416#[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)"]
20417pub struct SpatialAnchorCreateInfoBD {
20418    pub ty: StructureType,
20419    pub next: *const c_void,
20420    pub space: Space,
20421    pub pose: Posef,
20422    pub time: Time,
20423}
20424impl SpatialAnchorCreateInfoBD {
20425    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_CREATE_INFO_BD;
20426}
20427#[repr(C)]
20428#[derive(Copy, Clone, Debug)]
20429#[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)"]
20430pub struct SpatialAnchorCreateCompletionBD {
20431    pub ty: StructureType,
20432    pub next: *mut c_void,
20433    pub future_result: Result,
20434    pub uuid: UuidEXT,
20435    pub anchor: AnchorBD,
20436}
20437impl SpatialAnchorCreateCompletionBD {
20438    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_CREATE_COMPLETION_BD;
20439    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20440    #[inline]
20441    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20442        let mut x = MaybeUninit::<Self>::uninit();
20443        unsafe {
20444            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20445                ty: Self::TYPE,
20446                next,
20447            });
20448        }
20449        x
20450    }
20451}
20452#[repr(C)]
20453#[derive(Copy, Clone, Debug)]
20454#[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)"]
20455pub struct SpatialAnchorPersistInfoBD {
20456    pub ty: StructureType,
20457    pub next: *const c_void,
20458    pub location: PersistenceLocationBD,
20459    pub anchor: AnchorBD,
20460}
20461impl SpatialAnchorPersistInfoBD {
20462    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_PERSIST_INFO_BD;
20463}
20464#[repr(C)]
20465#[derive(Copy, Clone, Debug)]
20466#[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)"]
20467pub struct SpatialAnchorUnpersistInfoBD {
20468    pub ty: StructureType,
20469    pub next: *const c_void,
20470    pub location: PersistenceLocationBD,
20471    pub anchor: AnchorBD,
20472}
20473impl SpatialAnchorUnpersistInfoBD {
20474    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_UNPERSIST_INFO_BD;
20475}
20476#[repr(C)]
20477#[derive(Copy, Clone, Debug)]
20478#[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)"]
20479pub struct SystemSpatialAnchorSharingPropertiesBD {
20480    pub ty: StructureType,
20481    pub next: *mut c_void,
20482    pub supports_spatial_anchor_sharing: Bool32,
20483}
20484impl SystemSpatialAnchorSharingPropertiesBD {
20485    pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_ANCHOR_SHARING_PROPERTIES_BD;
20486    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20487    #[inline]
20488    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20489        let mut x = MaybeUninit::<Self>::uninit();
20490        unsafe {
20491            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20492                ty: Self::TYPE,
20493                next,
20494            });
20495        }
20496        x
20497    }
20498}
20499#[repr(C)]
20500#[derive(Copy, Clone, Debug)]
20501#[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)"]
20502pub struct SpatialAnchorShareInfoBD {
20503    pub ty: StructureType,
20504    pub next: *const c_void,
20505    pub anchor: AnchorBD,
20506}
20507impl SpatialAnchorShareInfoBD {
20508    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_SHARE_INFO_BD;
20509}
20510#[repr(C)]
20511#[derive(Copy, Clone, Debug)]
20512#[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)"]
20513pub struct SharedSpatialAnchorDownloadInfoBD {
20514    pub ty: StructureType,
20515    pub next: *const c_void,
20516    pub uuid: UuidEXT,
20517}
20518impl SharedSpatialAnchorDownloadInfoBD {
20519    pub const TYPE: StructureType = StructureType::SHARED_SPATIAL_ANCHOR_DOWNLOAD_INFO_BD;
20520}
20521#[repr(C)]
20522#[derive(Copy, Clone, Debug)]
20523#[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)"]
20524pub struct SystemSpatialMeshPropertiesBD {
20525    pub ty: StructureType,
20526    pub next: *mut c_void,
20527    pub supports_spatial_mesh: Bool32,
20528}
20529impl SystemSpatialMeshPropertiesBD {
20530    pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_MESH_PROPERTIES_BD;
20531    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20532    #[inline]
20533    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20534        let mut x = MaybeUninit::<Self>::uninit();
20535        unsafe {
20536            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20537                ty: Self::TYPE,
20538                next,
20539            });
20540        }
20541        x
20542    }
20543}
20544#[repr(C)]
20545#[derive(Copy, Clone, Debug)]
20546#[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)"]
20547pub struct SenseDataProviderCreateInfoSpatialMeshBD {
20548    pub ty: StructureType,
20549    pub next: *const c_void,
20550    pub config_flags: SpatialMeshConfigFlagsBD,
20551    pub lod: SpatialMeshLodBD,
20552}
20553impl SenseDataProviderCreateInfoSpatialMeshBD {
20554    pub const TYPE: StructureType = StructureType::SENSE_DATA_PROVIDER_CREATE_INFO_SPATIAL_MESH_BD;
20555}
20556#[repr(C)]
20557#[derive(Copy, Clone, Debug)]
20558#[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)"]
20559pub struct SystemSpatialScenePropertiesBD {
20560    pub ty: StructureType,
20561    pub next: *mut c_void,
20562    pub supports_spatial_scene: Bool32,
20563}
20564impl SystemSpatialScenePropertiesBD {
20565    pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_SCENE_PROPERTIES_BD;
20566    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20567    #[inline]
20568    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20569        let mut x = MaybeUninit::<Self>::uninit();
20570        unsafe {
20571            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20572                ty: Self::TYPE,
20573                next,
20574            });
20575        }
20576        x
20577    }
20578}
20579#[repr(C)]
20580#[derive(Copy, Clone, Debug)]
20581#[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)"]
20582pub struct SceneCaptureInfoBD {
20583    pub ty: StructureType,
20584    pub next: *const c_void,
20585}
20586impl SceneCaptureInfoBD {
20587    pub const TYPE: StructureType = StructureType::SCENE_CAPTURE_INFO_BD;
20588}
20589#[repr(C)]
20590#[derive(Copy, Clone, Debug)]
20591#[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)"]
20592pub struct SystemSpatialPlanePropertiesBD {
20593    pub ty: StructureType,
20594    pub next: *mut c_void,
20595    pub supports_spatial_plane: Bool32,
20596}
20597impl SystemSpatialPlanePropertiesBD {
20598    pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_PLANE_PROPERTIES_BD;
20599    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20600    #[inline]
20601    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20602        let mut x = MaybeUninit::<Self>::uninit();
20603        unsafe {
20604            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20605                ty: Self::TYPE,
20606                next,
20607            });
20608        }
20609        x
20610    }
20611}
20612#[repr(C)]
20613#[derive(Copy, Clone, Debug)]
20614#[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)"]
20615pub struct SpatialEntityComponentDataPlaneOrientationBD {
20616    pub ty: StructureType,
20617    pub next: *mut c_void,
20618    pub orientation: PlaneOrientationBD,
20619}
20620impl SpatialEntityComponentDataPlaneOrientationBD {
20621    pub const TYPE: StructureType =
20622        StructureType::SPATIAL_ENTITY_COMPONENT_DATA_PLANE_ORIENTATION_BD;
20623    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20624    #[inline]
20625    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20626        let mut x = MaybeUninit::<Self>::uninit();
20627        unsafe {
20628            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20629                ty: Self::TYPE,
20630                next,
20631            });
20632        }
20633        x
20634    }
20635}
20636#[repr(C)]
20637#[derive(Copy, Clone, Debug)]
20638#[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)"]
20639pub struct SenseDataFilterPlaneOrientationBD {
20640    pub ty: StructureType,
20641    pub next: *const c_void,
20642    pub orientation_count: u32,
20643    pub orientations: *mut PlaneOrientationBD,
20644}
20645impl SenseDataFilterPlaneOrientationBD {
20646    pub const TYPE: StructureType = StructureType::SENSE_DATA_FILTER_PLANE_ORIENTATION_BD;
20647}
20648#[repr(C)]
20649#[derive(Copy, Clone, Debug)]
20650#[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)"]
20651pub struct SystemSimultaneousHandsAndControllersPropertiesMETA {
20652    pub ty: StructureType,
20653    pub next: *mut c_void,
20654    pub supports_simultaneous_hands_and_controllers: Bool32,
20655}
20656impl SystemSimultaneousHandsAndControllersPropertiesMETA {
20657    pub const TYPE: StructureType =
20658        StructureType::SYSTEM_SIMULTANEOUS_HANDS_AND_CONTROLLERS_PROPERTIES_META;
20659    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20660    #[inline]
20661    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20662        let mut x = MaybeUninit::<Self>::uninit();
20663        unsafe {
20664            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20665                ty: Self::TYPE,
20666                next,
20667            });
20668        }
20669        x
20670    }
20671}
20672#[repr(C)]
20673#[derive(Copy, Clone, Debug)]
20674#[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)"]
20675pub struct SimultaneousHandsAndControllersTrackingResumeInfoMETA {
20676    pub ty: StructureType,
20677    pub next: *const c_void,
20678}
20679impl SimultaneousHandsAndControllersTrackingResumeInfoMETA {
20680    pub const TYPE: StructureType =
20681        StructureType::SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_RESUME_INFO_META;
20682}
20683#[repr(C)]
20684#[derive(Copy, Clone, Debug)]
20685#[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)"]
20686pub struct SimultaneousHandsAndControllersTrackingPauseInfoMETA {
20687    pub ty: StructureType,
20688    pub next: *const c_void,
20689}
20690impl SimultaneousHandsAndControllersTrackingPauseInfoMETA {
20691    pub const TYPE: StructureType =
20692        StructureType::SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_PAUSE_INFO_META;
20693}
20694#[repr(C)]
20695#[derive(Copy, Clone, Debug)]
20696#[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)"]
20697pub struct LoaderInitInfoPropertiesEXT {
20698    pub ty: StructureType,
20699    pub next: *const c_void,
20700    pub property_value_count: u32,
20701    pub property_values: *const LoaderInitPropertyValueEXT,
20702}
20703impl LoaderInitInfoPropertiesEXT {
20704    pub const TYPE: StructureType = StructureType::LOADER_INIT_INFO_PROPERTIES_EXT;
20705}
20706#[repr(C)]
20707#[derive(Copy, Clone, Debug)]
20708#[doc = "See [XrLoaderInitPropertyValueEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLoaderInitPropertyValueEXT)"]
20709pub struct LoaderInitPropertyValueEXT {
20710    pub name: *const c_char,
20711    pub value: *const c_char,
20712}
20713#[repr(C)]
20714#[derive(Copy, Clone, Debug)]
20715#[doc = "See [XrSpatialCapabilityConfigurationDepthRaycastANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityConfigurationDepthRaycastANDROID) - defined by [XR_ANDROID_spatial_discovery_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_discovery_raycast)"]
20716#[cfg(target_os = "android")]
20717pub struct SpatialCapabilityConfigurationDepthRaycastANDROID {
20718    pub ty: StructureType,
20719    pub next: *const c_void,
20720    pub capability: SpatialCapabilityEXT,
20721    pub enabled_component_count: u32,
20722    pub enabled_components: *const SpatialComponentTypeEXT,
20723}
20724#[cfg(target_os = "android")]
20725impl SpatialCapabilityConfigurationDepthRaycastANDROID {
20726    pub const TYPE: StructureType =
20727        StructureType::SPATIAL_CAPABILITY_CONFIGURATION_DEPTH_RAYCAST_ANDROID;
20728}
20729#[repr(C)]
20730#[derive(Copy, Clone, Debug)]
20731#[doc = "See [XrSpatialRaycastInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialRaycastInfoANDROID) - defined by [XR_ANDROID_spatial_discovery_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_discovery_raycast)"]
20732#[cfg(target_os = "android")]
20733pub struct SpatialRaycastInfoANDROID {
20734    pub ty: StructureType,
20735    pub next: *const c_void,
20736    pub space: Space,
20737    pub time: Time,
20738    pub origin: Vector3f,
20739    pub direction: Vector3f,
20740    pub max_distance: f32,
20741}
20742#[cfg(target_os = "android")]
20743impl SpatialRaycastInfoANDROID {
20744    pub const TYPE: StructureType = StructureType::SPATIAL_RAYCAST_INFO_ANDROID;
20745}
20746#[repr(C)]
20747#[derive(Copy, Clone, Debug, Default, PartialEq)]
20748#[doc = "See [XrSpatialRaycastResultDataANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialRaycastResultDataANDROID) - defined by [XR_ANDROID_spatial_discovery_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_discovery_raycast)"]
20749#[cfg(target_os = "android")]
20750pub struct SpatialRaycastResultDataANDROID {
20751    pub hit_pose: Posef,
20752    pub distance_squared: f32,
20753}
20754#[repr(C)]
20755#[derive(Copy, Clone, Debug)]
20756#[doc = "See [XrSpatialComponentRaycastResultListANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentRaycastResultListANDROID) - defined by [XR_ANDROID_spatial_discovery_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_discovery_raycast)"]
20757#[cfg(target_os = "android")]
20758pub struct SpatialComponentRaycastResultListANDROID {
20759    pub ty: StructureType,
20760    pub next: *mut c_void,
20761    pub raycast_result_count: u32,
20762    pub raycast_results: *mut SpatialRaycastResultDataANDROID,
20763}
20764#[cfg(target_os = "android")]
20765impl SpatialComponentRaycastResultListANDROID {
20766    pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_RAYCAST_RESULT_LIST_ANDROID;
20767    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20768    #[inline]
20769    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20770        let mut x = MaybeUninit::<Self>::uninit();
20771        unsafe {
20772            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20773                ty: Self::TYPE,
20774                next,
20775            });
20776        }
20777        x
20778    }
20779}
20780#[repr(C)]
20781#[derive(Copy, Clone, Debug)]
20782#[doc = "See [XrSpatialRaycastSnapshotCreateInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialRaycastSnapshotCreateInfoANDROID) - defined by [XR_ANDROID_spatial_discovery_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_discovery_raycast)"]
20783#[cfg(target_os = "android")]
20784pub struct SpatialRaycastSnapshotCreateInfoANDROID {
20785    pub ty: StructureType,
20786    pub next: *const c_void,
20787    pub component_type_count: u32,
20788    pub component_types: *const SpatialComponentTypeEXT,
20789    pub raycast_info: *const SpatialRaycastInfoANDROID,
20790}
20791#[cfg(target_os = "android")]
20792impl SpatialRaycastSnapshotCreateInfoANDROID {
20793    pub const TYPE: StructureType = StructureType::SPATIAL_RAYCAST_SNAPSHOT_CREATE_INFO_ANDROID;
20794}
20795#[repr(C)]
20796#[derive(Copy, Clone, Debug)]
20797#[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)"]
20798pub struct SpatialCapabilityConfigurationArucoMarkerEXT {
20799    pub ty: StructureType,
20800    pub next: *const c_void,
20801    pub capability: SpatialCapabilityEXT,
20802    pub enabled_component_count: u32,
20803    pub enabled_components: *const SpatialComponentTypeEXT,
20804    pub ar_uco_dict: SpatialMarkerArucoDictEXT,
20805}
20806impl SpatialCapabilityConfigurationArucoMarkerEXT {
20807    pub const TYPE: StructureType =
20808        StructureType::SPATIAL_CAPABILITY_CONFIGURATION_ARUCO_MARKER_EXT;
20809}
20810#[repr(C)]
20811#[derive(Copy, Clone, Debug)]
20812#[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)"]
20813pub struct SpatialCapabilityConfigurationAprilTagEXT {
20814    pub ty: StructureType,
20815    pub next: *const c_void,
20816    pub capability: SpatialCapabilityEXT,
20817    pub enabled_component_count: u32,
20818    pub enabled_components: *const SpatialComponentTypeEXT,
20819    pub april_dict: SpatialMarkerAprilTagDictEXT,
20820}
20821impl SpatialCapabilityConfigurationAprilTagEXT {
20822    pub const TYPE: StructureType = StructureType::SPATIAL_CAPABILITY_CONFIGURATION_APRIL_TAG_EXT;
20823}
20824#[repr(C)]
20825#[derive(Copy, Clone, Debug)]
20826#[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)"]
20827pub struct SpatialCapabilityConfigurationQrCodeEXT {
20828    pub ty: StructureType,
20829    pub next: *const c_void,
20830    pub capability: SpatialCapabilityEXT,
20831    pub enabled_component_count: u32,
20832    pub enabled_components: *const SpatialComponentTypeEXT,
20833}
20834impl SpatialCapabilityConfigurationQrCodeEXT {
20835    pub const TYPE: StructureType = StructureType::SPATIAL_CAPABILITY_CONFIGURATION_QR_CODE_EXT;
20836}
20837#[repr(C)]
20838#[derive(Copy, Clone, Debug)]
20839#[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)"]
20840pub struct SpatialCapabilityConfigurationMicroQrCodeEXT {
20841    pub ty: StructureType,
20842    pub next: *const c_void,
20843    pub capability: SpatialCapabilityEXT,
20844    pub enabled_component_count: u32,
20845    pub enabled_components: *const SpatialComponentTypeEXT,
20846}
20847impl SpatialCapabilityConfigurationMicroQrCodeEXT {
20848    pub const TYPE: StructureType =
20849        StructureType::SPATIAL_CAPABILITY_CONFIGURATION_MICRO_QR_CODE_EXT;
20850}
20851#[repr(C)]
20852#[derive(Copy, Clone, Debug)]
20853#[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)"]
20854pub struct SpatialMarkerSizeEXT {
20855    pub ty: StructureType,
20856    pub next: *const c_void,
20857    pub marker_side_length: f32,
20858}
20859impl SpatialMarkerSizeEXT {
20860    pub const TYPE: StructureType = StructureType::SPATIAL_MARKER_SIZE_EXT;
20861}
20862#[repr(C)]
20863#[derive(Copy, Clone, Debug)]
20864#[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)"]
20865pub struct SpatialMarkerStaticOptimizationEXT {
20866    pub ty: StructureType,
20867    pub next: *const c_void,
20868    pub optimize_for_static_marker: Bool32,
20869}
20870impl SpatialMarkerStaticOptimizationEXT {
20871    pub const TYPE: StructureType = StructureType::SPATIAL_MARKER_STATIC_OPTIMIZATION_EXT;
20872}
20873#[repr(C)]
20874#[derive(Copy, Clone, Debug, PartialEq)]
20875#[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)"]
20876pub struct SpatialMarkerDataEXT {
20877    pub capability: SpatialCapabilityEXT,
20878    pub marker_id: u32,
20879    pub data: SpatialBufferEXT,
20880}
20881#[repr(C)]
20882#[derive(Copy, Clone, Debug)]
20883#[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)"]
20884pub struct SpatialComponentMarkerListEXT {
20885    pub ty: StructureType,
20886    pub next: *mut c_void,
20887    pub marker_count: u32,
20888    pub markers: *mut SpatialMarkerDataEXT,
20889}
20890impl SpatialComponentMarkerListEXT {
20891    pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_MARKER_LIST_EXT;
20892    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20893    #[inline]
20894    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20895        let mut x = MaybeUninit::<Self>::uninit();
20896        unsafe {
20897            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20898                ty: Self::TYPE,
20899                next,
20900            });
20901        }
20902        x
20903    }
20904}
20905#[repr(C)]
20906#[derive(Copy, Clone, Debug, Default, PartialEq)]
20907#[doc = "See [XrExtent3DiMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExtent3DiMETA) - defined by [XR_META_tile_properties_hint](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_tile_properties_hint)"]
20908pub struct Extent3DiMETA {
20909    pub width: i32,
20910    pub height: i32,
20911    pub depth: i32,
20912}
20913#[repr(C)]
20914#[derive(Copy, Clone, Debug)]
20915#[doc = "See [XrTilePropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTilePropertiesMETA) - defined by [XR_META_tile_properties_hint](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_tile_properties_hint)"]
20916pub struct TilePropertiesMETA {
20917    pub ty: StructureType,
20918    pub next: *mut c_void,
20919    pub tile_dimensions: Extent3DiMETA,
20920    pub apron_dimensions: Extent2Di,
20921    pub origin: Offset2Di,
20922}
20923impl TilePropertiesMETA {
20924    pub const TYPE: StructureType = StructureType::TILE_PROPERTIES_META;
20925    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20926    #[inline]
20927    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20928        let mut x = MaybeUninit::<Self>::uninit();
20929        unsafe {
20930            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20931                ty: Self::TYPE,
20932                next,
20933            });
20934        }
20935        x
20936    }
20937}
20938#[repr(C)]
20939#[derive(Copy, Clone, Debug)]
20940#[doc = "See [XrTilePropertiesHintMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTilePropertiesHintMETA) - defined by [XR_META_tile_properties_hint](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_tile_properties_hint)"]
20941pub struct TilePropertiesHintMETA {
20942    pub ty: StructureType,
20943    pub next: *mut c_void,
20944    pub properties_count: u32,
20945    pub properties: *const TilePropertiesMETA,
20946}
20947impl TilePropertiesHintMETA {
20948    pub const TYPE: StructureType = StructureType::TILE_PROPERTIES_HINT_META;
20949    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20950    #[inline]
20951    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20952        let mut x = MaybeUninit::<Self>::uninit();
20953        unsafe {
20954            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20955                ty: Self::TYPE,
20956                next,
20957            });
20958        }
20959        x
20960    }
20961}
20962#[repr(C)]
20963#[derive(Copy, Clone, Debug)]
20964#[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)"]
20965pub struct SystemFacialSimulationPropertiesBD {
20966    pub ty: StructureType,
20967    pub next: *mut c_void,
20968    pub supports_face_tracking: Bool32,
20969}
20970impl SystemFacialSimulationPropertiesBD {
20971    pub const TYPE: StructureType = StructureType::SYSTEM_FACIAL_SIMULATION_PROPERTIES_BD;
20972    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20973    #[inline]
20974    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20975        let mut x = MaybeUninit::<Self>::uninit();
20976        unsafe {
20977            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20978                ty: Self::TYPE,
20979                next,
20980            });
20981        }
20982        x
20983    }
20984}
20985#[repr(C)]
20986#[derive(Copy, Clone, Debug)]
20987#[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)"]
20988pub struct FaceTrackerCreateInfoBD {
20989    pub ty: StructureType,
20990    pub next: *const c_void,
20991    pub mode: FacialSimulationModeBD,
20992}
20993impl FaceTrackerCreateInfoBD {
20994    pub const TYPE: StructureType = StructureType::FACE_TRACKER_CREATE_INFO_BD;
20995}
20996#[repr(C)]
20997#[derive(Copy, Clone, Debug)]
20998#[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)"]
20999pub struct FacialSimulationDataGetInfoBD {
21000    pub ty: StructureType,
21001    pub next: *const c_void,
21002    pub time: Time,
21003}
21004impl FacialSimulationDataGetInfoBD {
21005    pub const TYPE: StructureType = StructureType::FACIAL_SIMULATION_DATA_GET_INFO_BD;
21006}
21007#[repr(C)]
21008#[derive(Copy, Clone, Debug)]
21009#[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)"]
21010pub struct FacialSimulationDataBD {
21011    pub ty: StructureType,
21012    pub next: *mut c_void,
21013    pub face_expression_weight_count: u32,
21014    pub face_expression_weights: *mut f32,
21015    pub is_upper_face_data_valid: Bool32,
21016    pub is_lower_face_data_valid: Bool32,
21017    pub time: Time,
21018}
21019impl FacialSimulationDataBD {
21020    pub const TYPE: StructureType = StructureType::FACIAL_SIMULATION_DATA_BD;
21021    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
21022    #[inline]
21023    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
21024        let mut x = MaybeUninit::<Self>::uninit();
21025        unsafe {
21026            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
21027                ty: Self::TYPE,
21028                next,
21029            });
21030        }
21031        x
21032    }
21033}
21034#[repr(C)]
21035#[derive(Copy, Clone, Debug)]
21036#[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)"]
21037pub struct LipExpressionDataBD {
21038    pub ty: StructureType,
21039    pub next: *mut c_void,
21040    pub lipsync_expression_weight_count: u32,
21041    pub lipsync_expression_weights: *mut f32,
21042}
21043impl LipExpressionDataBD {
21044    pub const TYPE: StructureType = StructureType::LIP_EXPRESSION_DATA_BD;
21045    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
21046    #[inline]
21047    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
21048        let mut x = MaybeUninit::<Self>::uninit();
21049        unsafe {
21050            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
21051                ty: Self::TYPE,
21052                next,
21053            });
21054        }
21055        x
21056    }
21057}
21058#[repr(C)]
21059#[derive(Copy, Clone, Debug)]
21060#[doc = "See [XrSystemImageTrackingPropertiesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemImageTrackingPropertiesANDROID) - defined by [XR_ANDROID_trackables_image](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_image)"]
21061#[cfg(target_os = "android")]
21062pub struct SystemImageTrackingPropertiesANDROID {
21063    pub ty: StructureType,
21064    pub next: *mut c_void,
21065    pub supports_image_tracking: Bool32,
21066    pub supports_physical_size_estimation: Bool32,
21067    pub max_tracked_image_count: u32,
21068    pub max_loaded_image_count: u32,
21069}
21070#[cfg(target_os = "android")]
21071impl SystemImageTrackingPropertiesANDROID {
21072    pub const TYPE: StructureType = StructureType::SYSTEM_IMAGE_TRACKING_PROPERTIES_ANDROID;
21073    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
21074    #[inline]
21075    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
21076        let mut x = MaybeUninit::<Self>::uninit();
21077        unsafe {
21078            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
21079                ty: Self::TYPE,
21080                next,
21081            });
21082        }
21083        x
21084    }
21085}
21086#[repr(C)]
21087#[derive(Copy, Clone, Debug)]
21088#[doc = "See [XrTrackableImageDatabaseEntryANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableImageDatabaseEntryANDROID) - defined by [XR_ANDROID_trackables_image](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_image)"]
21089#[cfg(target_os = "android")]
21090pub struct TrackableImageDatabaseEntryANDROID {
21091    pub ty: StructureType,
21092    pub next: *const c_void,
21093    pub tracking_mode: TrackableImageTrackingModeANDROID,
21094    pub physical_width: f32,
21095    pub image_width: u32,
21096    pub image_height: u32,
21097    pub format: TrackableImageFormatANDROID,
21098    pub buffer_size: u32,
21099    pub buffer: *const u8,
21100}
21101#[cfg(target_os = "android")]
21102impl TrackableImageDatabaseEntryANDROID {
21103    pub const TYPE: StructureType = StructureType::TRACKABLE_IMAGE_DATABASE_ENTRY_ANDROID;
21104}
21105#[repr(C)]
21106#[derive(Copy, Clone, Debug)]
21107#[doc = "See [XrTrackableImageDatabaseCreateInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableImageDatabaseCreateInfoANDROID) - defined by [XR_ANDROID_trackables_image](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_image)"]
21108#[cfg(target_os = "android")]
21109pub struct TrackableImageDatabaseCreateInfoANDROID {
21110    pub ty: StructureType,
21111    pub next: *const c_void,
21112    pub entry_count: u32,
21113    pub entries: *const TrackableImageDatabaseEntryANDROID,
21114}
21115#[cfg(target_os = "android")]
21116impl TrackableImageDatabaseCreateInfoANDROID {
21117    pub const TYPE: StructureType = StructureType::TRACKABLE_IMAGE_DATABASE_CREATE_INFO_ANDROID;
21118}
21119#[repr(C)]
21120#[derive(Copy, Clone, Debug)]
21121#[doc = "See [XrCreateTrackableImageDatabaseCompletionANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCreateTrackableImageDatabaseCompletionANDROID) - defined by [XR_ANDROID_trackables_image](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_image)"]
21122#[cfg(target_os = "android")]
21123pub struct CreateTrackableImageDatabaseCompletionANDROID {
21124    pub ty: StructureType,
21125    pub next: *mut c_void,
21126    pub future_result: Result,
21127    pub database: TrackableImageDatabaseANDROID,
21128}
21129#[cfg(target_os = "android")]
21130impl CreateTrackableImageDatabaseCompletionANDROID {
21131    pub const TYPE: StructureType =
21132        StructureType::CREATE_TRACKABLE_IMAGE_DATABASE_COMPLETION_ANDROID;
21133    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
21134    #[inline]
21135    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
21136        let mut x = MaybeUninit::<Self>::uninit();
21137        unsafe {
21138            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
21139                ty: Self::TYPE,
21140                next,
21141            });
21142        }
21143        x
21144    }
21145}
21146#[repr(C)]
21147#[derive(Copy, Clone, Debug)]
21148#[doc = "See [XrTrackableImageConfigurationANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableImageConfigurationANDROID) - defined by [XR_ANDROID_trackables_image](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_image)"]
21149#[cfg(target_os = "android")]
21150pub struct TrackableImageConfigurationANDROID {
21151    pub ty: StructureType,
21152    pub next: *const c_void,
21153    pub database_count: u32,
21154    pub databases: *const TrackableImageDatabaseANDROID,
21155}
21156#[cfg(target_os = "android")]
21157impl TrackableImageConfigurationANDROID {
21158    pub const TYPE: StructureType = StructureType::TRACKABLE_IMAGE_CONFIGURATION_ANDROID;
21159}
21160#[repr(C)]
21161#[derive(Copy, Clone, Debug)]
21162#[doc = "See [XrTrackableImageANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableImageANDROID) - defined by [XR_ANDROID_trackables_image](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_image)"]
21163#[cfg(target_os = "android")]
21164pub struct TrackableImageANDROID {
21165    pub ty: StructureType,
21166    pub next: *const c_void,
21167    pub tracking_state: TrackingStateANDROID,
21168    pub last_updated_time: Time,
21169    pub database: TrackableImageDatabaseANDROID,
21170    pub database_entry_index: u32,
21171    pub center_pose: Posef,
21172    pub extents: Extent2Df,
21173}
21174#[cfg(target_os = "android")]
21175impl TrackableImageANDROID {
21176    pub const TYPE: StructureType = StructureType::TRACKABLE_IMAGE_ANDROID;
21177}
21178#[repr(C)]
21179#[derive(Copy, Clone, Debug)]
21180#[doc = "See [XrEventDataImageTrackingLostANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataImageTrackingLostANDROID) - defined by [XR_ANDROID_trackables_image](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_image)"]
21181#[cfg(target_os = "android")]
21182pub struct EventDataImageTrackingLostANDROID {
21183    pub ty: StructureType,
21184    pub next: *const c_void,
21185    pub time: Time,
21186}
21187#[cfg(target_os = "android")]
21188impl EventDataImageTrackingLostANDROID {
21189    pub const TYPE: StructureType = StructureType::EVENT_DATA_IMAGE_TRACKING_LOST_ANDROID;
21190}
21191#[repr(C)]
21192#[derive(Copy, Clone, Debug)]
21193#[doc = "See [XrSpatialCapabilityConfigurationObjectTrackingANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityConfigurationObjectTrackingANDROID) - defined by [XR_ANDROID_spatial_object_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_object_tracking)"]
21194#[cfg(target_os = "android")]
21195pub struct SpatialCapabilityConfigurationObjectTrackingANDROID {
21196    pub ty: StructureType,
21197    pub next: *const c_void,
21198    pub capability: SpatialCapabilityEXT,
21199    pub enabled_component_count: u32,
21200    pub enabled_components: *const SpatialComponentTypeEXT,
21201    pub active_semantic_label_count: u32,
21202    pub active_semantic_labels: *const SpatialObjectSemanticLabelANDROID,
21203}
21204#[cfg(target_os = "android")]
21205impl SpatialCapabilityConfigurationObjectTrackingANDROID {
21206    pub const TYPE: StructureType =
21207        StructureType::SPATIAL_CAPABILITY_CONFIGURATION_OBJECT_TRACKING_ANDROID;
21208}
21209#[repr(C)]
21210#[derive(Copy, Clone, Debug)]
21211#[doc = "See [XrSpatialComponentObjectSemanticLabelListANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentObjectSemanticLabelListANDROID) - defined by [XR_ANDROID_spatial_object_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_object_tracking)"]
21212#[cfg(target_os = "android")]
21213pub struct SpatialComponentObjectSemanticLabelListANDROID {
21214    pub ty: StructureType,
21215    pub next: *mut c_void,
21216    pub semantic_label_count: u32,
21217    pub semantic_labels: *mut SpatialObjectSemanticLabelANDROID,
21218}
21219#[cfg(target_os = "android")]
21220impl SpatialComponentObjectSemanticLabelListANDROID {
21221    pub const TYPE: StructureType =
21222        StructureType::SPATIAL_COMPONENT_OBJECT_SEMANTIC_LABEL_LIST_ANDROID;
21223    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
21224    #[inline]
21225    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
21226        let mut x = MaybeUninit::<Self>::uninit();
21227        unsafe {
21228            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
21229                ty: Self::TYPE,
21230                next,
21231            });
21232        }
21233        x
21234    }
21235}
21236#[repr(C)]
21237#[derive(Copy, Clone, Debug)]
21238#[doc = "See [XrSpatialAnchorParentANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorParentANDROID) - defined by [XR_ANDROID_spatial_entity_bound_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_entity_bound_anchor)"]
21239#[cfg(target_os = "android")]
21240pub struct SpatialAnchorParentANDROID {
21241    pub ty: StructureType,
21242    pub next: *const c_void,
21243    pub parent_id: SpatialEntityIdEXT,
21244}
21245#[cfg(target_os = "android")]
21246impl SpatialAnchorParentANDROID {
21247    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_PARENT_ANDROID;
21248}
21249#[repr(C)]
21250#[derive(Copy, Clone, Debug)]
21251#[doc = "See [XrSpatialAnchorSpaceFromIdCreateInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorSpaceFromIdCreateInfoANDROID) - defined by [XR_ANDROID_spatial_anchor_space](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_anchor_space)"]
21252#[cfg(target_os = "android")]
21253pub struct SpatialAnchorSpaceFromIdCreateInfoANDROID {
21254    pub ty: StructureType,
21255    pub next: *const c_void,
21256    pub anchor_entity_id: SpatialEntityIdEXT,
21257}
21258#[cfg(target_os = "android")]
21259impl SpatialAnchorSpaceFromIdCreateInfoANDROID {
21260    pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_SPACE_FROM_ID_CREATE_INFO_ANDROID;
21261}
21262#[repr(C)]
21263#[derive(Copy, Clone, Debug)]
21264#[doc = "See [XrSpatialDiscoveryUniqueEntitiesFilterANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialDiscoveryUniqueEntitiesFilterANDROID) - defined by [XR_ANDROID_spatial_component_subsumed_by](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_component_subsumed_by)"]
21265#[cfg(target_os = "android")]
21266pub struct SpatialDiscoveryUniqueEntitiesFilterANDROID {
21267    pub ty: StructureType,
21268    pub next: *const c_void,
21269}
21270#[cfg(target_os = "android")]
21271impl SpatialDiscoveryUniqueEntitiesFilterANDROID {
21272    pub const TYPE: StructureType = StructureType::SPATIAL_DISCOVERY_UNIQUE_ENTITIES_FILTER_ANDROID;
21273}
21274#[repr(C)]
21275#[derive(Copy, Clone, Debug)]
21276#[doc = "See [XrSpatialComponentSubsumedByListANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentSubsumedByListANDROID) - defined by [XR_ANDROID_spatial_component_subsumed_by](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_component_subsumed_by)"]
21277#[cfg(target_os = "android")]
21278pub struct SpatialComponentSubsumedByListANDROID {
21279    pub ty: StructureType,
21280    pub next: *mut c_void,
21281    pub subsumed_unique_id_count: u32,
21282    pub subsumed_unique_ids: *mut SpatialEntityIdEXT,
21283}
21284#[cfg(target_os = "android")]
21285impl SpatialComponentSubsumedByListANDROID {
21286    pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_SUBSUMED_BY_LIST_ANDROID;
21287    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
21288    #[inline]
21289    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
21290        let mut x = MaybeUninit::<Self>::uninit();
21291        unsafe {
21292            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
21293                ty: Self::TYPE,
21294                next,
21295            });
21296        }
21297        x
21298    }
21299}
21300#[repr(C)]
21301#[derive(Copy, Clone, Debug)]
21302#[doc = "See [XrEventDataViewConfigurationViewsChangedEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataViewConfigurationViewsChangedEXT) - defined by [XR_EXT_view_configuration_views_change](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_view_configuration_views_change)"]
21303pub struct EventDataViewConfigurationViewsChangedEXT {
21304    pub ty: StructureType,
21305    pub next: *const c_void,
21306    pub system_id: SystemId,
21307    pub view_configuration_type: ViewConfigurationType,
21308}
21309impl EventDataViewConfigurationViewsChangedEXT {
21310    pub const TYPE: StructureType = StructureType::EVENT_DATA_VIEW_CONFIGURATION_VIEWS_CHANGED_EXT;
21311}
21312#[repr(C)]
21313#[derive(Copy, Clone, Debug)]
21314#[doc = "See [XrBatteryStateDisplayEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBatteryStateDisplayEXT) - defined by [XR_EXT_interaction_profile_battery_state_display](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_interaction_profile_battery_state_display)"]
21315pub struct BatteryStateDisplayEXT {
21316    pub ty: StructureType,
21317    pub next: *mut c_void,
21318    pub state_flags: BatteryStateDisplayStateFlagsEXT,
21319    pub battery_level: f32,
21320}
21321impl BatteryStateDisplayEXT {
21322    pub const TYPE: StructureType = StructureType::BATTERY_STATE_DISPLAY_EXT;
21323    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
21324    #[inline]
21325    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
21326        let mut x = MaybeUninit::<Self>::uninit();
21327        unsafe {
21328            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
21329                ty: Self::TYPE,
21330                next,
21331            });
21332        }
21333        x
21334    }
21335}
21336#[repr(C)]
21337#[derive(Copy, Clone, Debug)]
21338#[doc = "See [XrSystemEnvironmentRaycastPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemEnvironmentRaycastPropertiesMETA) - defined by [XR_META_environment_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_raycast)"]
21339pub struct SystemEnvironmentRaycastPropertiesMETA {
21340    pub ty: StructureType,
21341    pub next: *mut c_void,
21342    pub supports_environment_raycast: Bool32,
21343}
21344impl SystemEnvironmentRaycastPropertiesMETA {
21345    pub const TYPE: StructureType = StructureType::SYSTEM_ENVIRONMENT_RAYCAST_PROPERTIES_META;
21346    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
21347    #[inline]
21348    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
21349        let mut x = MaybeUninit::<Self>::uninit();
21350        unsafe {
21351            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
21352                ty: Self::TYPE,
21353                next,
21354            });
21355        }
21356        x
21357    }
21358}
21359#[repr(C)]
21360#[derive(Copy, Clone, Debug)]
21361#[doc = "See [XrEnvironmentRaycasterCreateInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentRaycasterCreateInfoMETA) - defined by [XR_META_environment_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_raycast)"]
21362pub struct EnvironmentRaycasterCreateInfoMETA {
21363    pub ty: StructureType,
21364    pub next: *const c_void,
21365}
21366impl EnvironmentRaycasterCreateInfoMETA {
21367    pub const TYPE: StructureType = StructureType::ENVIRONMENT_RAYCASTER_CREATE_INFO_META;
21368}
21369#[repr(C)]
21370#[derive(Copy, Clone, Debug)]
21371#[doc = "See [XrEnvironmentRaycasterCreateCompletionMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentRaycasterCreateCompletionMETA) - defined by [XR_META_environment_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_raycast)"]
21372pub struct EnvironmentRaycasterCreateCompletionMETA {
21373    pub ty: StructureType,
21374    pub next: *mut c_void,
21375    pub future_result: Result,
21376    pub environment_raycaster: EnvironmentRaycasterMETA,
21377}
21378impl EnvironmentRaycasterCreateCompletionMETA {
21379    pub const TYPE: StructureType = StructureType::ENVIRONMENT_RAYCASTER_CREATE_COMPLETION_META;
21380    #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
21381    #[inline]
21382    pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
21383        let mut x = MaybeUninit::<Self>::uninit();
21384        unsafe {
21385            (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
21386                ty: Self::TYPE,
21387                next,
21388            });
21389        }
21390        x
21391    }
21392}
21393#[repr(C)]
21394#[derive(Copy, Clone, Debug)]
21395#[doc = "See [XrEnvironmentRaycastFilterBaseHeaderMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentRaycastFilterBaseHeaderMETA) - defined by [XR_META_environment_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_raycast)"]
21396pub struct EnvironmentRaycastFilterBaseHeaderMETA {
21397    pub ty: StructureType,
21398    pub next: *const c_void,
21399}
21400#[repr(C)]
21401#[derive(Copy, Clone, Debug)]
21402#[doc = "See [XrEnvironmentRaycastFilterDistanceMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentRaycastFilterDistanceMETA) - defined by [XR_META_environment_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_raycast)"]
21403pub struct EnvironmentRaycastFilterDistanceMETA {
21404    pub ty: StructureType,
21405    pub next: *const c_void,
21406    pub max_distance: f32,
21407}
21408impl EnvironmentRaycastFilterDistanceMETA {
21409    pub const TYPE: StructureType = StructureType::ENVIRONMENT_RAYCAST_FILTER_DISTANCE_META;
21410}
21411#[repr(C)]
21412#[derive(Copy, Clone, Debug)]
21413#[doc = "See [XrEnvironmentRaycastHitGetInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentRaycastHitGetInfoMETA) - defined by [XR_META_environment_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_raycast)"]
21414pub struct EnvironmentRaycastHitGetInfoMETA {
21415    pub ty: StructureType,
21416    pub next: *const c_void,
21417    pub base_space: Space,
21418    pub time: Time,
21419    pub origin: Vector3f,
21420    pub direction: Vector3f,
21421    pub filter_count: u32,
21422    pub filters: *const *const EnvironmentRaycastFilterBaseHeaderMETA,
21423}
21424impl EnvironmentRaycastHitGetInfoMETA {
21425    pub const TYPE: StructureType = StructureType::ENVIRONMENT_RAYCAST_HIT_GET_INFO_META;
21426}
21427#[repr(C)]
21428#[derive(Copy, Clone, Debug)]
21429#[doc = "See [XrEnvironmentRaycastHitMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentRaycastHitMETA) - defined by [XR_META_environment_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_raycast)"]
21430pub struct EnvironmentRaycastHitMETA {
21431    pub ty: StructureType,
21432    pub next: *const c_void,
21433    pub status: EnvironmentRaycastHitStatusMETA,
21434    pub pose: Posef,
21435}
21436impl EnvironmentRaycastHitMETA {
21437    pub const TYPE: StructureType = StructureType::ENVIRONMENT_RAYCAST_HIT_META;
21438}
21439#[repr(C)]
21440#[derive(Copy, Clone, Debug, Default, PartialEq)]
21441#[doc = "See [XrHandGestureQCOM](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandGestureQCOM) - defined by [XR_QCOM_hand_tracking_gesture](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_QCOM_hand_tracking_gesture)"]
21442pub struct HandGestureQCOM {
21443    pub gesture: HandGestureTypeQCOM,
21444    pub gesture_ratio: f32,
21445    pub flip_ratio: f32,
21446}
21447#[doc = r" Function pointer prototypes"]
21448pub mod pfn {
21449    use super::*;
21450    pub use crate::platform::EglGetProcAddressMNDX;
21451    pub type VoidFunction = unsafe extern "system" fn();
21452    pub type DebugUtilsMessengerCallbackEXT = unsafe extern "system" fn(
21453        DebugUtilsMessageSeverityFlagsEXT,
21454        DebugUtilsMessageTypeFlagsEXT,
21455        *const DebugUtilsMessengerCallbackDataEXT,
21456        *mut c_void,
21457    ) -> Bool32;
21458    #[doc = "See [xrNegotiateLoaderRuntimeInterface](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrNegotiateLoaderRuntimeInterface)"]
21459    pub type NegotiateLoaderRuntimeInterface = unsafe extern "system" fn(
21460        loader_info: *const NegotiateLoaderInfo,
21461        runtime_request: *mut NegotiateRuntimeRequest,
21462    ) -> Result;
21463    #[doc = "See [xrNegotiateLoaderApiLayerInterface](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrNegotiateLoaderApiLayerInterface)"]
21464    pub type NegotiateLoaderApiLayerInterface = unsafe extern "system" fn(
21465        loader_info: *const NegotiateLoaderInfo,
21466        layer_name: *const c_char,
21467        api_layer_request: *mut NegotiateApiLayerRequest,
21468    ) -> Result;
21469    #[doc = "See [xrCreateApiLayerInstance](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateApiLayerInstance)"]
21470    pub type CreateApiLayerInstance = unsafe extern "system" fn(
21471        info: *const InstanceCreateInfo,
21472        layer_info: *const ApiLayerCreateInfo,
21473        instance: *mut Instance,
21474    ) -> Result;
21475    #[doc = "See [xrGetInstanceProcAddr](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetInstanceProcAddr)"]
21476    pub type GetInstanceProcAddr = unsafe extern "system" fn(
21477        instance: Instance,
21478        name: *const c_char,
21479        function: *mut Option<pfn::VoidFunction>,
21480    ) -> Result;
21481    #[doc = "See [xrEnumerateApiLayerProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateApiLayerProperties)"]
21482    pub type EnumerateApiLayerProperties = unsafe extern "system" fn(
21483        property_capacity_input: u32,
21484        property_count_output: *mut u32,
21485        properties: *mut ApiLayerProperties,
21486    ) -> Result;
21487    #[doc = "See [xrEnumerateInstanceExtensionProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateInstanceExtensionProperties)"]
21488    pub type EnumerateInstanceExtensionProperties = unsafe extern "system" fn(
21489        layer_name: *const c_char,
21490        property_capacity_input: u32,
21491        property_count_output: *mut u32,
21492        properties: *mut ExtensionProperties,
21493    ) -> Result;
21494    #[doc = "See [xrCreateInstance](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateInstance)"]
21495    pub type CreateInstance = unsafe extern "system" fn(
21496        create_info: *const InstanceCreateInfo,
21497        instance: *mut Instance,
21498    ) -> Result;
21499    #[doc = "See [xrDestroyInstance](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyInstance)"]
21500    pub type DestroyInstance = unsafe extern "system" fn(instance: Instance) -> Result;
21501    #[doc = "See [xrResultToString](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrResultToString)"]
21502    pub type ResultToString =
21503        unsafe extern "system" fn(instance: Instance, value: Result, buffer: *mut c_char) -> Result;
21504    #[doc = "See [xrStructureTypeToString](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStructureTypeToString)"]
21505    pub type StructureTypeToString = unsafe extern "system" fn(
21506        instance: Instance,
21507        value: StructureType,
21508        buffer: *mut c_char,
21509    ) -> Result;
21510    #[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)"]
21511    pub type StructureTypeToString2KHR = unsafe extern "system" fn(
21512        instance: Instance,
21513        value: StructureType,
21514        buffer: *mut c_char,
21515    ) -> Result;
21516    #[doc = "See [xrGetInstanceProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetInstanceProperties)"]
21517    pub type GetInstanceProperties = unsafe extern "system" fn(
21518        instance: Instance,
21519        instance_properties: *mut InstanceProperties,
21520    ) -> Result;
21521    #[doc = "See [xrGetSystem](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSystem)"]
21522    pub type GetSystem = unsafe extern "system" fn(
21523        instance: Instance,
21524        get_info: *const SystemGetInfo,
21525        system_id: *mut SystemId,
21526    ) -> Result;
21527    #[doc = "See [xrGetSystemProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSystemProperties)"]
21528    pub type GetSystemProperties = unsafe extern "system" fn(
21529        instance: Instance,
21530        system_id: SystemId,
21531        properties: *mut SystemProperties,
21532    ) -> Result;
21533    #[doc = "See [xrCreateSession](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSession)"]
21534    pub type CreateSession = unsafe extern "system" fn(
21535        instance: Instance,
21536        create_info: *const SessionCreateInfo,
21537        session: *mut Session,
21538    ) -> Result;
21539    #[doc = "See [xrDestroySession](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySession)"]
21540    pub type DestroySession = unsafe extern "system" fn(session: Session) -> Result;
21541    #[doc = "See [xrDestroySpace](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpace)"]
21542    pub type DestroySpace = unsafe extern "system" fn(space: Space) -> Result;
21543    #[doc = "See [xrEnumerateSwapchainFormats](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSwapchainFormats)"]
21544    pub type EnumerateSwapchainFormats = unsafe extern "system" fn(
21545        session: Session,
21546        format_capacity_input: u32,
21547        format_count_output: *mut u32,
21548        formats: *mut i64,
21549    ) -> Result;
21550    #[doc = "See [xrCreateSwapchain](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSwapchain)"]
21551    pub type CreateSwapchain = unsafe extern "system" fn(
21552        session: Session,
21553        create_info: *const SwapchainCreateInfo,
21554        swapchain: *mut Swapchain,
21555    ) -> Result;
21556    #[doc = "See [xrDestroySwapchain](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySwapchain)"]
21557    pub type DestroySwapchain = unsafe extern "system" fn(swapchain: Swapchain) -> Result;
21558    #[doc = "See [xrEnumerateSwapchainImages](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSwapchainImages)"]
21559    pub type EnumerateSwapchainImages = unsafe extern "system" fn(
21560        swapchain: Swapchain,
21561        image_capacity_input: u32,
21562        image_count_output: *mut u32,
21563        images: *mut SwapchainImageBaseHeader,
21564    ) -> Result;
21565    #[doc = "See [xrAcquireSwapchainImage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrAcquireSwapchainImage)"]
21566    pub type AcquireSwapchainImage = unsafe extern "system" fn(
21567        swapchain: Swapchain,
21568        acquire_info: *const SwapchainImageAcquireInfo,
21569        index: *mut u32,
21570    ) -> Result;
21571    #[doc = "See [xrWaitSwapchainImage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrWaitSwapchainImage)"]
21572    pub type WaitSwapchainImage = unsafe extern "system" fn(
21573        swapchain: Swapchain,
21574        wait_info: *const SwapchainImageWaitInfo,
21575    ) -> Result;
21576    #[doc = "See [xrReleaseSwapchainImage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrReleaseSwapchainImage)"]
21577    pub type ReleaseSwapchainImage = unsafe extern "system" fn(
21578        swapchain: Swapchain,
21579        release_info: *const SwapchainImageReleaseInfo,
21580    ) -> Result;
21581    #[doc = "See [xrBeginSession](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrBeginSession)"]
21582    pub type BeginSession =
21583        unsafe extern "system" fn(session: Session, begin_info: *const SessionBeginInfo) -> Result;
21584    #[doc = "See [xrEndSession](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEndSession)"]
21585    pub type EndSession = unsafe extern "system" fn(session: Session) -> Result;
21586    #[doc = "See [xrRequestExitSession](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRequestExitSession)"]
21587    pub type RequestExitSession = unsafe extern "system" fn(session: Session) -> Result;
21588    #[doc = "See [xrEnumerateReferenceSpaces](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateReferenceSpaces)"]
21589    pub type EnumerateReferenceSpaces = unsafe extern "system" fn(
21590        session: Session,
21591        space_capacity_input: u32,
21592        space_count_output: *mut u32,
21593        spaces: *mut ReferenceSpaceType,
21594    ) -> Result;
21595    #[doc = "See [xrCreateReferenceSpace](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateReferenceSpace)"]
21596    pub type CreateReferenceSpace = unsafe extern "system" fn(
21597        session: Session,
21598        create_info: *const ReferenceSpaceCreateInfo,
21599        space: *mut Space,
21600    ) -> Result;
21601    #[doc = "See [xrCreateActionSpace](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateActionSpace)"]
21602    pub type CreateActionSpace = unsafe extern "system" fn(
21603        session: Session,
21604        create_info: *const ActionSpaceCreateInfo,
21605        space: *mut Space,
21606    ) -> Result;
21607    #[doc = "See [xrLocateSpace](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLocateSpace)"]
21608    pub type LocateSpace = unsafe extern "system" fn(
21609        space: Space,
21610        base_space: Space,
21611        time: Time,
21612        location: *mut SpaceLocation,
21613    ) -> Result;
21614    #[doc = "See [xrEnumerateViewConfigurations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateViewConfigurations)"]
21615    pub type EnumerateViewConfigurations = unsafe extern "system" fn(
21616        instance: Instance,
21617        system_id: SystemId,
21618        view_configuration_type_capacity_input: u32,
21619        view_configuration_type_count_output: *mut u32,
21620        view_configuration_types: *mut ViewConfigurationType,
21621    ) -> Result;
21622    #[doc = "See [xrEnumerateEnvironmentBlendModes](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateEnvironmentBlendModes)"]
21623    pub type EnumerateEnvironmentBlendModes = unsafe extern "system" fn(
21624        instance: Instance,
21625        system_id: SystemId,
21626        view_configuration_type: ViewConfigurationType,
21627        environment_blend_mode_capacity_input: u32,
21628        environment_blend_mode_count_output: *mut u32,
21629        environment_blend_modes: *mut EnvironmentBlendMode,
21630    ) -> Result;
21631    #[doc = "See [xrGetViewConfigurationProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetViewConfigurationProperties)"]
21632    pub type GetViewConfigurationProperties = unsafe extern "system" fn(
21633        instance: Instance,
21634        system_id: SystemId,
21635        view_configuration_type: ViewConfigurationType,
21636        configuration_properties: *mut ViewConfigurationProperties,
21637    ) -> Result;
21638    #[doc = "See [xrEnumerateViewConfigurationViews](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateViewConfigurationViews)"]
21639    pub type EnumerateViewConfigurationViews = unsafe extern "system" fn(
21640        instance: Instance,
21641        system_id: SystemId,
21642        view_configuration_type: ViewConfigurationType,
21643        view_capacity_input: u32,
21644        view_count_output: *mut u32,
21645        views: *mut ViewConfigurationView,
21646    ) -> Result;
21647    #[doc = "See [xrBeginFrame](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrBeginFrame)"]
21648    pub type BeginFrame = unsafe extern "system" fn(
21649        session: Session,
21650        frame_begin_info: *const FrameBeginInfo,
21651    ) -> Result;
21652    #[doc = "See [xrLocateViews](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLocateViews)"]
21653    pub type LocateViews = unsafe extern "system" fn(
21654        session: Session,
21655        view_locate_info: *const ViewLocateInfo,
21656        view_state: *mut ViewState,
21657        view_capacity_input: u32,
21658        view_count_output: *mut u32,
21659        views: *mut View,
21660    ) -> Result;
21661    #[doc = "See [xrEndFrame](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEndFrame)"]
21662    pub type EndFrame =
21663        unsafe extern "system" fn(session: Session, frame_end_info: *const FrameEndInfo) -> Result;
21664    #[doc = "See [xrWaitFrame](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrWaitFrame)"]
21665    pub type WaitFrame = unsafe extern "system" fn(
21666        session: Session,
21667        frame_wait_info: *const FrameWaitInfo,
21668        frame_state: *mut FrameState,
21669    ) -> Result;
21670    #[doc = "See [xrApplyHapticFeedback](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrApplyHapticFeedback)"]
21671    pub type ApplyHapticFeedback = unsafe extern "system" fn(
21672        session: Session,
21673        haptic_action_info: *const HapticActionInfo,
21674        haptic_feedback: *const HapticBaseHeader,
21675    ) -> Result;
21676    #[doc = "See [xrStopHapticFeedback](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStopHapticFeedback)"]
21677    pub type StopHapticFeedback = unsafe extern "system" fn(
21678        session: Session,
21679        haptic_action_info: *const HapticActionInfo,
21680    ) -> Result;
21681    #[doc = "See [xrPollEvent](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPollEvent)"]
21682    pub type PollEvent =
21683        unsafe extern "system" fn(instance: Instance, event_data: *mut EventDataBuffer) -> Result;
21684    #[doc = "See [xrStringToPath](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStringToPath)"]
21685    pub type StringToPath = unsafe extern "system" fn(
21686        instance: Instance,
21687        path_string: *const c_char,
21688        path: *mut Path,
21689    ) -> Result;
21690    #[doc = "See [xrPathToString](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPathToString)"]
21691    pub type PathToString = unsafe extern "system" fn(
21692        instance: Instance,
21693        path: Path,
21694        buffer_capacity_input: u32,
21695        buffer_count_output: *mut u32,
21696        buffer: *mut c_char,
21697    ) -> Result;
21698    #[doc = "See [xrGetReferenceSpaceBoundsRect](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetReferenceSpaceBoundsRect)"]
21699    pub type GetReferenceSpaceBoundsRect = unsafe extern "system" fn(
21700        session: Session,
21701        reference_space_type: ReferenceSpaceType,
21702        bounds: *mut Extent2Df,
21703    ) -> Result;
21704    #[cfg(target_os = "android")]
21705    #[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)"]
21706    pub type SetAndroidApplicationThreadKHR = unsafe extern "system" fn(
21707        session: Session,
21708        thread_type: AndroidThreadTypeKHR,
21709        thread_id: u32,
21710    ) -> Result;
21711    #[cfg(target_os = "android")]
21712    #[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)"]
21713    pub type CreateSwapchainAndroidSurfaceKHR = unsafe extern "system" fn(
21714        session: Session,
21715        info: *const SwapchainCreateInfo,
21716        swapchain: *mut Swapchain,
21717        surface: *mut jobject,
21718    ) -> Result;
21719    #[doc = "See [xrGetActionStateBoolean](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetActionStateBoolean)"]
21720    pub type GetActionStateBoolean = unsafe extern "system" fn(
21721        session: Session,
21722        get_info: *const ActionStateGetInfo,
21723        state: *mut ActionStateBoolean,
21724    ) -> Result;
21725    #[doc = "See [xrGetActionStateFloat](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetActionStateFloat)"]
21726    pub type GetActionStateFloat = unsafe extern "system" fn(
21727        session: Session,
21728        get_info: *const ActionStateGetInfo,
21729        state: *mut ActionStateFloat,
21730    ) -> Result;
21731    #[doc = "See [xrGetActionStateVector2f](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetActionStateVector2f)"]
21732    pub type GetActionStateVector2f = unsafe extern "system" fn(
21733        session: Session,
21734        get_info: *const ActionStateGetInfo,
21735        state: *mut ActionStateVector2f,
21736    ) -> Result;
21737    #[doc = "See [xrGetActionStatePose](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetActionStatePose)"]
21738    pub type GetActionStatePose = unsafe extern "system" fn(
21739        session: Session,
21740        get_info: *const ActionStateGetInfo,
21741        state: *mut ActionStatePose,
21742    ) -> Result;
21743    #[doc = "See [xrCreateActionSet](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateActionSet)"]
21744    pub type CreateActionSet = unsafe extern "system" fn(
21745        instance: Instance,
21746        create_info: *const ActionSetCreateInfo,
21747        action_set: *mut ActionSet,
21748    ) -> Result;
21749    #[doc = "See [xrDestroyActionSet](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyActionSet)"]
21750    pub type DestroyActionSet = unsafe extern "system" fn(action_set: ActionSet) -> Result;
21751    #[doc = "See [xrCreateAction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateAction)"]
21752    pub type CreateAction = unsafe extern "system" fn(
21753        action_set: ActionSet,
21754        create_info: *const ActionCreateInfo,
21755        action: *mut Action,
21756    ) -> Result;
21757    #[doc = "See [xrDestroyAction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyAction)"]
21758    pub type DestroyAction = unsafe extern "system" fn(action: Action) -> Result;
21759    #[doc = "See [xrSuggestInteractionProfileBindings](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSuggestInteractionProfileBindings)"]
21760    pub type SuggestInteractionProfileBindings = unsafe extern "system" fn(
21761        instance: Instance,
21762        suggested_bindings: *const InteractionProfileSuggestedBinding,
21763    ) -> Result;
21764    #[doc = "See [xrAttachSessionActionSets](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrAttachSessionActionSets)"]
21765    pub type AttachSessionActionSets = unsafe extern "system" fn(
21766        session: Session,
21767        attach_info: *const SessionActionSetsAttachInfo,
21768    ) -> Result;
21769    #[doc = "See [xrGetCurrentInteractionProfile](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetCurrentInteractionProfile)"]
21770    pub type GetCurrentInteractionProfile = unsafe extern "system" fn(
21771        session: Session,
21772        top_level_user_path: Path,
21773        interaction_profile: *mut InteractionProfileState,
21774    ) -> Result;
21775    #[doc = "See [xrSyncActions](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSyncActions)"]
21776    pub type SyncActions =
21777        unsafe extern "system" fn(session: Session, sync_info: *const ActionsSyncInfo) -> Result;
21778    #[doc = "See [xrEnumerateBoundSourcesForAction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateBoundSourcesForAction)"]
21779    pub type EnumerateBoundSourcesForAction = unsafe extern "system" fn(
21780        session: Session,
21781        enumerate_info: *const BoundSourcesForActionEnumerateInfo,
21782        source_capacity_input: u32,
21783        source_count_output: *mut u32,
21784        sources: *mut Path,
21785    ) -> Result;
21786    #[doc = "See [xrGetInputSourceLocalizedName](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetInputSourceLocalizedName)"]
21787    pub type GetInputSourceLocalizedName = unsafe extern "system" fn(
21788        session: Session,
21789        get_info: *const InputSourceLocalizedNameGetInfo,
21790        buffer_capacity_input: u32,
21791        buffer_count_output: *mut u32,
21792        buffer: *mut c_char,
21793    ) -> Result;
21794    #[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)"]
21795    pub type GetVulkanInstanceExtensionsKHR = unsafe extern "system" fn(
21796        instance: Instance,
21797        system_id: SystemId,
21798        buffer_capacity_input: u32,
21799        buffer_count_output: *mut u32,
21800        buffer: *mut c_char,
21801    ) -> Result;
21802    #[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)"]
21803    pub type GetVulkanDeviceExtensionsKHR = unsafe extern "system" fn(
21804        instance: Instance,
21805        system_id: SystemId,
21806        buffer_capacity_input: u32,
21807        buffer_count_output: *mut u32,
21808        buffer: *mut c_char,
21809    ) -> Result;
21810    #[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)"]
21811    pub type GetVulkanGraphicsDeviceKHR = unsafe extern "system" fn(
21812        instance: Instance,
21813        system_id: SystemId,
21814        vk_instance: VkInstance,
21815        vk_physical_device: *mut VkPhysicalDevice,
21816    ) -> Result;
21817    #[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)"]
21818    pub type GetOpenGLGraphicsRequirementsKHR = unsafe extern "system" fn(
21819        instance: Instance,
21820        system_id: SystemId,
21821        graphics_requirements: *mut GraphicsRequirementsOpenGLKHR,
21822    ) -> Result;
21823    #[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)"]
21824    pub type GetOpenGLESGraphicsRequirementsKHR = unsafe extern "system" fn(
21825        instance: Instance,
21826        system_id: SystemId,
21827        graphics_requirements: *mut GraphicsRequirementsOpenGLESKHR,
21828    ) -> Result;
21829    #[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)"]
21830    pub type GetVulkanGraphicsRequirementsKHR = unsafe extern "system" fn(
21831        instance: Instance,
21832        system_id: SystemId,
21833        graphics_requirements: *mut GraphicsRequirementsVulkanKHR,
21834    ) -> Result;
21835    #[cfg(windows)]
21836    #[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)"]
21837    pub type GetD3D11GraphicsRequirementsKHR = unsafe extern "system" fn(
21838        instance: Instance,
21839        system_id: SystemId,
21840        graphics_requirements: *mut GraphicsRequirementsD3D11KHR,
21841    ) -> Result;
21842    #[cfg(windows)]
21843    #[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)"]
21844    pub type GetD3D12GraphicsRequirementsKHR = unsafe extern "system" fn(
21845        instance: Instance,
21846        system_id: SystemId,
21847        graphics_requirements: *mut GraphicsRequirementsD3D12KHR,
21848    ) -> Result;
21849    #[cfg(target_vendor = "apple")]
21850    #[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)"]
21851    pub type GetMetalGraphicsRequirementsKHR = unsafe extern "system" fn(
21852        instance: Instance,
21853        system_id: SystemId,
21854        graphics_requirements: *mut GraphicsRequirementsMetalKHR,
21855    ) -> Result;
21856    #[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)"]
21857    pub type PerfSettingsSetPerformanceLevelEXT = unsafe extern "system" fn(
21858        session: Session,
21859        domain: PerfSettingsDomainEXT,
21860        level: PerfSettingsLevelEXT,
21861    ) -> Result;
21862    #[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)"]
21863    pub type ThermalGetTemperatureTrendEXT = unsafe extern "system" fn(
21864        session: Session,
21865        domain: PerfSettingsDomainEXT,
21866        notification_level: *mut PerfSettingsNotificationLevelEXT,
21867        temp_headroom: *mut f32,
21868        temp_slope: *mut f32,
21869    ) -> Result;
21870    #[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)"]
21871    pub type SetDebugUtilsObjectNameEXT = unsafe extern "system" fn(
21872        instance: Instance,
21873        name_info: *const DebugUtilsObjectNameInfoEXT,
21874    ) -> Result;
21875    #[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)"]
21876    pub type CreateDebugUtilsMessengerEXT = unsafe extern "system" fn(
21877        instance: Instance,
21878        create_info: *const DebugUtilsMessengerCreateInfoEXT,
21879        messenger: *mut DebugUtilsMessengerEXT,
21880    ) -> Result;
21881    #[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)"]
21882    pub type DestroyDebugUtilsMessengerEXT =
21883        unsafe extern "system" fn(messenger: DebugUtilsMessengerEXT) -> Result;
21884    #[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)"]
21885    pub type SubmitDebugUtilsMessageEXT = unsafe extern "system" fn(
21886        instance: Instance,
21887        message_severity: DebugUtilsMessageSeverityFlagsEXT,
21888        message_types: DebugUtilsMessageTypeFlagsEXT,
21889        callback_data: *const DebugUtilsMessengerCallbackDataEXT,
21890    ) -> Result;
21891    #[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)"]
21892    pub type SessionBeginDebugUtilsLabelRegionEXT = unsafe extern "system" fn(
21893        session: Session,
21894        label_info: *const DebugUtilsLabelEXT,
21895    ) -> Result;
21896    #[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)"]
21897    pub type SessionEndDebugUtilsLabelRegionEXT =
21898        unsafe extern "system" fn(session: Session) -> Result;
21899    #[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)"]
21900    pub type SessionInsertDebugUtilsLabelEXT = unsafe extern "system" fn(
21901        session: Session,
21902        label_info: *const DebugUtilsLabelEXT,
21903    ) -> Result;
21904    #[cfg(windows)]
21905    #[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)"]
21906    pub type ConvertTimeToWin32PerformanceCounterKHR = unsafe extern "system" fn(
21907        instance: Instance,
21908        time: Time,
21909        performance_counter: *mut LARGE_INTEGER,
21910    ) -> Result;
21911    #[cfg(windows)]
21912    #[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)"]
21913    pub type ConvertWin32PerformanceCounterToTimeKHR = unsafe extern "system" fn(
21914        instance: Instance,
21915        performance_counter: *const LARGE_INTEGER,
21916        time: *mut Time,
21917    ) -> Result;
21918    #[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)"]
21919    pub type CreateVulkanInstanceKHR = unsafe extern "system" fn(
21920        instance: Instance,
21921        create_info: *const VulkanInstanceCreateInfoKHR,
21922        vulkan_instance: *mut VkInstance,
21923        vulkan_result: *mut VkResult,
21924    ) -> Result;
21925    #[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)"]
21926    pub type CreateVulkanDeviceKHR = unsafe extern "system" fn(
21927        instance: Instance,
21928        create_info: *const VulkanDeviceCreateInfoKHR,
21929        vulkan_device: *mut VkDevice,
21930        vulkan_result: *mut VkResult,
21931    ) -> Result;
21932    #[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)"]
21933    pub type GetVulkanGraphicsDevice2KHR = unsafe extern "system" fn(
21934        instance: Instance,
21935        get_info: *const VulkanGraphicsDeviceGetInfoKHR,
21936        vulkan_physical_device: *mut VkPhysicalDevice,
21937    ) -> Result;
21938    #[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)"]
21939    pub type ConvertTimeToTimespecTimeKHR = unsafe extern "system" fn(
21940        instance: Instance,
21941        time: Time,
21942        timespec_time: *mut timespec,
21943    ) -> Result;
21944    #[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)"]
21945    pub type ConvertTimespecTimeToTimeKHR = unsafe extern "system" fn(
21946        instance: Instance,
21947        timespec_time: *const timespec,
21948        time: *mut Time,
21949    ) -> Result;
21950    #[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)"]
21951    pub type GetVisibilityMaskKHR = unsafe extern "system" fn(
21952        session: Session,
21953        view_configuration_type: ViewConfigurationType,
21954        view_index: u32,
21955        visibility_mask_type: VisibilityMaskTypeKHR,
21956        visibility_mask: *mut VisibilityMaskKHR,
21957    ) -> Result;
21958    #[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)"]
21959    pub type CreateSpatialAnchorMSFT = unsafe extern "system" fn(
21960        session: Session,
21961        create_info: *const SpatialAnchorCreateInfoMSFT,
21962        anchor: *mut SpatialAnchorMSFT,
21963    ) -> Result;
21964    #[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)"]
21965    pub type CreateSpatialAnchorSpaceMSFT = unsafe extern "system" fn(
21966        session: Session,
21967        create_info: *const SpatialAnchorSpaceCreateInfoMSFT,
21968        space: *mut Space,
21969    ) -> Result;
21970    #[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)"]
21971    pub type DestroySpatialAnchorMSFT =
21972        unsafe extern "system" fn(anchor: SpatialAnchorMSFT) -> Result;
21973    #[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)"]
21974    pub type SetInputDeviceActiveEXT = unsafe extern "system" fn(
21975        session: Session,
21976        interaction_profile: Path,
21977        top_level_path: Path,
21978        is_active: Bool32,
21979    ) -> Result;
21980    #[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)"]
21981    pub type SetInputDeviceStateBoolEXT = unsafe extern "system" fn(
21982        session: Session,
21983        top_level_path: Path,
21984        input_source_path: Path,
21985        state: Bool32,
21986    ) -> Result;
21987    #[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)"]
21988    pub type SetInputDeviceStateFloatEXT = unsafe extern "system" fn(
21989        session: Session,
21990        top_level_path: Path,
21991        input_source_path: Path,
21992        state: f32,
21993    ) -> Result;
21994    #[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)"]
21995    pub type SetInputDeviceStateVector2fEXT = unsafe extern "system" fn(
21996        session: Session,
21997        top_level_path: Path,
21998        input_source_path: Path,
21999        state: Vector2f,
22000    ) -> Result;
22001    #[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)"]
22002    pub type SetInputDeviceLocationEXT = unsafe extern "system" fn(
22003        session: Session,
22004        top_level_path: Path,
22005        input_source_path: Path,
22006        space: Space,
22007        pose: Posef,
22008    ) -> Result;
22009    #[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)"]
22010    pub type InitializeLoaderKHR =
22011        unsafe extern "system" fn(loader_init_info: *const LoaderInitInfoBaseHeaderKHR) -> Result;
22012    #[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)"]
22013    pub type CreateSpatialGraphNodeSpaceMSFT = unsafe extern "system" fn(
22014        session: Session,
22015        create_info: *const SpatialGraphNodeSpaceCreateInfoMSFT,
22016        space: *mut Space,
22017    ) -> Result;
22018    #[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)"]
22019    pub type TryCreateSpatialGraphStaticNodeBindingMSFT = unsafe extern "system" fn(
22020        session: Session,
22021        create_info: *const SpatialGraphStaticNodeBindingCreateInfoMSFT,
22022        node_binding: *mut SpatialGraphNodeBindingMSFT,
22023    ) -> Result;
22024    #[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)"]
22025    pub type DestroySpatialGraphNodeBindingMSFT =
22026        unsafe extern "system" fn(node_binding: SpatialGraphNodeBindingMSFT) -> Result;
22027    #[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)"]
22028    pub type GetSpatialGraphNodeBindingPropertiesMSFT = unsafe extern "system" fn(
22029        node_binding: SpatialGraphNodeBindingMSFT,
22030        get_info: *const SpatialGraphNodeBindingPropertiesGetInfoMSFT,
22031        properties: *mut SpatialGraphNodeBindingPropertiesMSFT,
22032    ) -> Result;
22033    #[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)"]
22034    pub type CreateHandTrackerEXT = unsafe extern "system" fn(
22035        session: Session,
22036        create_info: *const HandTrackerCreateInfoEXT,
22037        hand_tracker: *mut HandTrackerEXT,
22038    ) -> Result;
22039    #[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)"]
22040    pub type DestroyHandTrackerEXT =
22041        unsafe extern "system" fn(hand_tracker: HandTrackerEXT) -> Result;
22042    #[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)"]
22043    pub type LocateHandJointsEXT = unsafe extern "system" fn(
22044        hand_tracker: HandTrackerEXT,
22045        locate_info: *const HandJointsLocateInfoEXT,
22046        locations: *mut HandJointLocationsEXT,
22047    ) -> Result;
22048    #[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)"]
22049    pub type CreateFaceTrackerFB = unsafe extern "system" fn(
22050        session: Session,
22051        create_info: *const FaceTrackerCreateInfoFB,
22052        face_tracker: *mut FaceTrackerFB,
22053    ) -> Result;
22054    #[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)"]
22055    pub type DestroyFaceTrackerFB =
22056        unsafe extern "system" fn(face_tracker: FaceTrackerFB) -> Result;
22057    #[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)"]
22058    pub type GetFaceExpressionWeightsFB = unsafe extern "system" fn(
22059        face_tracker: FaceTrackerFB,
22060        expression_info: *const FaceExpressionInfoFB,
22061        expression_weights: *mut FaceExpressionWeightsFB,
22062    ) -> Result;
22063    #[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)"]
22064    pub type CreateFaceTracker2FB = unsafe extern "system" fn(
22065        session: Session,
22066        create_info: *const FaceTrackerCreateInfo2FB,
22067        face_tracker: *mut FaceTracker2FB,
22068    ) -> Result;
22069    #[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)"]
22070    pub type DestroyFaceTracker2FB =
22071        unsafe extern "system" fn(face_tracker: FaceTracker2FB) -> Result;
22072    #[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)"]
22073    pub type GetFaceExpressionWeights2FB = unsafe extern "system" fn(
22074        face_tracker: FaceTracker2FB,
22075        expression_info: *const FaceExpressionInfo2FB,
22076        expression_weights: *mut FaceExpressionWeights2FB,
22077    ) -> Result;
22078    #[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)"]
22079    pub type CreateBodyTrackerFB = unsafe extern "system" fn(
22080        session: Session,
22081        create_info: *const BodyTrackerCreateInfoFB,
22082        body_tracker: *mut BodyTrackerFB,
22083    ) -> Result;
22084    #[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)"]
22085    pub type DestroyBodyTrackerFB =
22086        unsafe extern "system" fn(body_tracker: BodyTrackerFB) -> Result;
22087    #[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)"]
22088    pub type LocateBodyJointsFB = unsafe extern "system" fn(
22089        body_tracker: BodyTrackerFB,
22090        locate_info: *const BodyJointsLocateInfoFB,
22091        locations: *mut BodyJointLocationsFB,
22092    ) -> Result;
22093    #[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)"]
22094    pub type GetBodySkeletonFB = unsafe extern "system" fn(
22095        body_tracker: BodyTrackerFB,
22096        skeleton: *mut BodySkeletonFB,
22097    ) -> Result;
22098    #[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)"]
22099    pub type SuggestBodyTrackingCalibrationOverrideMETA = unsafe extern "system" fn(
22100        body_tracker: BodyTrackerFB,
22101        calibration_info: *const BodyTrackingCalibrationInfoMETA,
22102    ) -> Result;
22103    #[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)"]
22104    pub type ResetBodyTrackingCalibrationMETA =
22105        unsafe extern "system" fn(body_tracker: BodyTrackerFB) -> Result;
22106    #[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)"]
22107    pub type CreateEyeTrackerFB = unsafe extern "system" fn(
22108        session: Session,
22109        create_info: *const EyeTrackerCreateInfoFB,
22110        eye_tracker: *mut EyeTrackerFB,
22111    ) -> Result;
22112    #[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)"]
22113    pub type DestroyEyeTrackerFB = unsafe extern "system" fn(eye_tracker: EyeTrackerFB) -> Result;
22114    #[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)"]
22115    pub type GetEyeGazesFB = unsafe extern "system" fn(
22116        eye_tracker: EyeTrackerFB,
22117        gaze_info: *const EyeGazesInfoFB,
22118        eye_gazes: *mut EyeGazesFB,
22119    ) -> Result;
22120    #[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)"]
22121    pub type CreateHandMeshSpaceMSFT = unsafe extern "system" fn(
22122        hand_tracker: HandTrackerEXT,
22123        create_info: *const HandMeshSpaceCreateInfoMSFT,
22124        space: *mut Space,
22125    ) -> Result;
22126    #[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)"]
22127    pub type UpdateHandMeshMSFT = unsafe extern "system" fn(
22128        hand_tracker: HandTrackerEXT,
22129        update_info: *const HandMeshUpdateInfoMSFT,
22130        hand_mesh: *mut HandMeshMSFT,
22131    ) -> Result;
22132    #[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)"]
22133    pub type GetControllerModelKeyMSFT = unsafe extern "system" fn(
22134        session: Session,
22135        top_level_user_path: Path,
22136        controller_model_key_state: *mut ControllerModelKeyStateMSFT,
22137    ) -> Result;
22138    #[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)"]
22139    pub type LoadControllerModelMSFT = unsafe extern "system" fn(
22140        session: Session,
22141        model_key: ControllerModelKeyMSFT,
22142        buffer_capacity_input: u32,
22143        buffer_count_output: *mut u32,
22144        buffer: *mut u8,
22145    ) -> Result;
22146    #[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)"]
22147    pub type GetControllerModelPropertiesMSFT = unsafe extern "system" fn(
22148        session: Session,
22149        model_key: ControllerModelKeyMSFT,
22150        properties: *mut ControllerModelPropertiesMSFT,
22151    ) -> Result;
22152    #[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)"]
22153    pub type GetControllerModelStateMSFT = unsafe extern "system" fn(
22154        session: Session,
22155        model_key: ControllerModelKeyMSFT,
22156        state: *mut ControllerModelStateMSFT,
22157    ) -> Result;
22158    #[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)"]
22159    pub type EnumerateDisplayRefreshRatesFB = unsafe extern "system" fn(
22160        session: Session,
22161        display_refresh_rate_capacity_input: u32,
22162        display_refresh_rate_count_output: *mut u32,
22163        display_refresh_rates: *mut f32,
22164    ) -> Result;
22165    #[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)"]
22166    pub type GetDisplayRefreshRateFB =
22167        unsafe extern "system" fn(session: Session, display_refresh_rate: *mut f32) -> Result;
22168    #[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)"]
22169    pub type RequestDisplayRefreshRateFB =
22170        unsafe extern "system" fn(session: Session, display_refresh_rate: f32) -> Result;
22171    #[cfg(windows)]
22172    #[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)"]
22173    pub type CreateSpatialAnchorFromPerceptionAnchorMSFT = unsafe extern "system" fn(
22174        session: Session,
22175        perception_anchor: *mut IUnknown,
22176        anchor: *mut SpatialAnchorMSFT,
22177    ) -> Result;
22178    #[cfg(windows)]
22179    #[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)"]
22180    pub type TryGetPerceptionAnchorFromSpatialAnchorMSFT = unsafe extern "system" fn(
22181        session: Session,
22182        anchor: SpatialAnchorMSFT,
22183        perception_anchor: *mut *mut IUnknown,
22184    ) -> Result;
22185    #[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)"]
22186    pub type UpdateSwapchainFB = unsafe extern "system" fn(
22187        swapchain: Swapchain,
22188        state: *const SwapchainStateBaseHeaderFB,
22189    ) -> Result;
22190    #[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)"]
22191    pub type GetSwapchainStateFB = unsafe extern "system" fn(
22192        swapchain: Swapchain,
22193        state: *mut SwapchainStateBaseHeaderFB,
22194    ) -> Result;
22195    #[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)"]
22196    pub type EnumerateColorSpacesFB = unsafe extern "system" fn(
22197        session: Session,
22198        color_space_capacity_input: u32,
22199        color_space_count_output: *mut u32,
22200        color_spaces: *mut ColorSpaceFB,
22201    ) -> Result;
22202    #[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)"]
22203    pub type SetColorSpaceFB =
22204        unsafe extern "system" fn(session: Session, color_space: ColorSpaceFB) -> Result;
22205    #[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)"]
22206    pub type CreateFoveationProfileFB = unsafe extern "system" fn(
22207        session: Session,
22208        create_info: *const FoveationProfileCreateInfoFB,
22209        profile: *mut FoveationProfileFB,
22210    ) -> Result;
22211    #[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)"]
22212    pub type DestroyFoveationProfileFB =
22213        unsafe extern "system" fn(profile: FoveationProfileFB) -> Result;
22214    #[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)"]
22215    pub type GetFoveationEyeTrackedStateMETA = unsafe extern "system" fn(
22216        session: Session,
22217        foveation_state: *mut FoveationEyeTrackedStateMETA,
22218    ) -> Result;
22219    #[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)"]
22220    pub type GetHandMeshFB = unsafe extern "system" fn(
22221        hand_tracker: HandTrackerEXT,
22222        mesh: *mut HandTrackingMeshFB,
22223    ) -> Result;
22224    #[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)"]
22225    pub type EnumerateRenderModelPathsFB = unsafe extern "system" fn(
22226        session: Session,
22227        path_capacity_input: u32,
22228        path_count_output: *mut u32,
22229        paths: *mut RenderModelPathInfoFB,
22230    ) -> Result;
22231    #[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)"]
22232    pub type GetRenderModelPropertiesFB = unsafe extern "system" fn(
22233        session: Session,
22234        path: Path,
22235        properties: *mut RenderModelPropertiesFB,
22236    ) -> Result;
22237    #[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)"]
22238    pub type LoadRenderModelFB = unsafe extern "system" fn(
22239        session: Session,
22240        info: *const RenderModelLoadInfoFB,
22241        buffer: *mut RenderModelBufferFB,
22242    ) -> Result;
22243    #[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)"]
22244    pub type QuerySystemTrackedKeyboardFB = unsafe extern "system" fn(
22245        session: Session,
22246        query_info: *const KeyboardTrackingQueryFB,
22247        keyboard: *mut KeyboardTrackingDescriptionFB,
22248    ) -> Result;
22249    #[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)"]
22250    pub type CreateKeyboardSpaceFB = unsafe extern "system" fn(
22251        session: Session,
22252        create_info: *const KeyboardSpaceCreateInfoFB,
22253        keyboard_space: *mut Space,
22254    ) -> Result;
22255    #[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)"]
22256    pub type SetEnvironmentDepthEstimationVARJO =
22257        unsafe extern "system" fn(session: Session, enabled: Bool32) -> Result;
22258    #[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)"]
22259    pub type EnumerateReprojectionModesMSFT = unsafe extern "system" fn(
22260        instance: Instance,
22261        system_id: SystemId,
22262        view_configuration_type: ViewConfigurationType,
22263        mode_capacity_input: u32,
22264        mode_count_output: *mut u32,
22265        modes: *mut ReprojectionModeMSFT,
22266    ) -> Result;
22267    #[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)"]
22268    pub type GetAudioOutputDeviceGuidOculus =
22269        unsafe extern "system" fn(instance: Instance, buffer: *mut wchar_t) -> Result;
22270    #[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)"]
22271    pub type GetAudioInputDeviceGuidOculus =
22272        unsafe extern "system" fn(instance: Instance, buffer: *mut wchar_t) -> Result;
22273    #[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)"]
22274    pub type CreateSpatialAnchorFB = unsafe extern "system" fn(
22275        session: Session,
22276        info: *const SpatialAnchorCreateInfoFB,
22277        request_id: *mut AsyncRequestIdFB,
22278    ) -> Result;
22279    #[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)"]
22280    pub type GetSpaceUuidFB = unsafe extern "system" fn(space: Space, uuid: *mut UuidEXT) -> Result;
22281    #[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)"]
22282    pub type EnumerateSpaceSupportedComponentsFB = unsafe extern "system" fn(
22283        space: Space,
22284        component_type_capacity_input: u32,
22285        component_type_count_output: *mut u32,
22286        component_types: *mut SpaceComponentTypeFB,
22287    ) -> Result;
22288    #[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)"]
22289    pub type SetSpaceComponentStatusFB = unsafe extern "system" fn(
22290        space: Space,
22291        info: *const SpaceComponentStatusSetInfoFB,
22292        request_id: *mut AsyncRequestIdFB,
22293    ) -> Result;
22294    #[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)"]
22295    pub type GetSpaceComponentStatusFB = unsafe extern "system" fn(
22296        space: Space,
22297        component_type: SpaceComponentTypeFB,
22298        status: *mut SpaceComponentStatusFB,
22299    ) -> Result;
22300    #[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)"]
22301    pub type CreateTriangleMeshFB = unsafe extern "system" fn(
22302        session: Session,
22303        create_info: *const TriangleMeshCreateInfoFB,
22304        out_triangle_mesh: *mut TriangleMeshFB,
22305    ) -> Result;
22306    #[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)"]
22307    pub type DestroyTriangleMeshFB = unsafe extern "system" fn(mesh: TriangleMeshFB) -> Result;
22308    #[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)"]
22309    pub type TriangleMeshGetVertexBufferFB = unsafe extern "system" fn(
22310        mesh: TriangleMeshFB,
22311        out_vertex_buffer: *mut *mut Vector3f,
22312    ) -> Result;
22313    #[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)"]
22314    pub type TriangleMeshGetIndexBufferFB =
22315        unsafe extern "system" fn(mesh: TriangleMeshFB, out_index_buffer: *mut *mut u32) -> Result;
22316    #[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)"]
22317    pub type TriangleMeshBeginUpdateFB = unsafe extern "system" fn(mesh: TriangleMeshFB) -> Result;
22318    #[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)"]
22319    pub type TriangleMeshEndUpdateFB = unsafe extern "system" fn(
22320        mesh: TriangleMeshFB,
22321        vertex_count: u32,
22322        triangle_count: u32,
22323    ) -> Result;
22324    #[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)"]
22325    pub type TriangleMeshBeginVertexBufferUpdateFB =
22326        unsafe extern "system" fn(mesh: TriangleMeshFB, out_vertex_count: *mut u32) -> Result;
22327    #[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)"]
22328    pub type TriangleMeshEndVertexBufferUpdateFB =
22329        unsafe extern "system" fn(mesh: TriangleMeshFB) -> Result;
22330    #[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)"]
22331    pub type CreatePassthroughFB = unsafe extern "system" fn(
22332        session: Session,
22333        create_info: *const PassthroughCreateInfoFB,
22334        out_passthrough: *mut PassthroughFB,
22335    ) -> Result;
22336    #[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)"]
22337    pub type DestroyPassthroughFB = unsafe extern "system" fn(passthrough: PassthroughFB) -> Result;
22338    #[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)"]
22339    pub type PassthroughStartFB = unsafe extern "system" fn(passthrough: PassthroughFB) -> Result;
22340    #[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)"]
22341    pub type PassthroughPauseFB = unsafe extern "system" fn(passthrough: PassthroughFB) -> Result;
22342    #[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)"]
22343    pub type CreatePassthroughLayerFB = unsafe extern "system" fn(
22344        session: Session,
22345        create_info: *const PassthroughLayerCreateInfoFB,
22346        out_layer: *mut PassthroughLayerFB,
22347    ) -> Result;
22348    #[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)"]
22349    pub type DestroyPassthroughLayerFB =
22350        unsafe extern "system" fn(layer: PassthroughLayerFB) -> Result;
22351    #[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)"]
22352    pub type PassthroughLayerPauseFB =
22353        unsafe extern "system" fn(layer: PassthroughLayerFB) -> Result;
22354    #[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)"]
22355    pub type PassthroughLayerResumeFB =
22356        unsafe extern "system" fn(layer: PassthroughLayerFB) -> Result;
22357    #[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)"]
22358    pub type PassthroughLayerSetStyleFB = unsafe extern "system" fn(
22359        layer: PassthroughLayerFB,
22360        style: *const PassthroughStyleFB,
22361    ) -> Result;
22362    #[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)"]
22363    pub type CreateGeometryInstanceFB = unsafe extern "system" fn(
22364        session: Session,
22365        create_info: *const GeometryInstanceCreateInfoFB,
22366        out_geometry_instance: *mut GeometryInstanceFB,
22367    ) -> Result;
22368    #[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)"]
22369    pub type DestroyGeometryInstanceFB =
22370        unsafe extern "system" fn(instance: GeometryInstanceFB) -> Result;
22371    #[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)"]
22372    pub type GeometryInstanceSetTransformFB = unsafe extern "system" fn(
22373        instance: GeometryInstanceFB,
22374        transformation: *const GeometryInstanceTransformFB,
22375    ) -> Result;
22376    #[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)"]
22377    pub type QuerySpacesFB = unsafe extern "system" fn(
22378        session: Session,
22379        info: *const SpaceQueryInfoBaseHeaderFB,
22380        request_id: *mut AsyncRequestIdFB,
22381    ) -> Result;
22382    #[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)"]
22383    pub type RetrieveSpaceQueryResultsFB = unsafe extern "system" fn(
22384        session: Session,
22385        request_id: AsyncRequestIdFB,
22386        results: *mut SpaceQueryResultsFB,
22387    ) -> Result;
22388    #[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)"]
22389    pub type SaveSpaceFB = unsafe extern "system" fn(
22390        session: Session,
22391        info: *const SpaceSaveInfoFB,
22392        request_id: *mut AsyncRequestIdFB,
22393    ) -> Result;
22394    #[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)"]
22395    pub type EraseSpaceFB = unsafe extern "system" fn(
22396        session: Session,
22397        info: *const SpaceEraseInfoFB,
22398        request_id: *mut AsyncRequestIdFB,
22399    ) -> Result;
22400    #[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)"]
22401    pub type SaveSpaceListFB = unsafe extern "system" fn(
22402        session: Session,
22403        info: *const SpaceListSaveInfoFB,
22404        request_id: *mut AsyncRequestIdFB,
22405    ) -> Result;
22406    #[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)"]
22407    pub type ShareSpacesFB = unsafe extern "system" fn(
22408        session: Session,
22409        info: *const SpaceShareInfoFB,
22410        request_id: *mut AsyncRequestIdFB,
22411    ) -> Result;
22412    #[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)"]
22413    pub type GetSpaceContainerFB = unsafe extern "system" fn(
22414        session: Session,
22415        space: Space,
22416        space_container_output: *mut SpaceContainerFB,
22417    ) -> Result;
22418    #[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)"]
22419    pub type GetSpaceTriangleMeshMETA = unsafe extern "system" fn(
22420        space: Space,
22421        get_info: *const SpaceTriangleMeshGetInfoMETA,
22422        triangle_mesh_output: *mut SpaceTriangleMeshMETA,
22423    ) -> Result;
22424    #[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)"]
22425    pub type GetSpaceBoundingBox2DFB = unsafe extern "system" fn(
22426        session: Session,
22427        space: Space,
22428        bounding_box2_d_output: *mut Rect2Df,
22429    ) -> Result;
22430    #[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)"]
22431    pub type GetSpaceBoundingBox3DFB = unsafe extern "system" fn(
22432        session: Session,
22433        space: Space,
22434        bounding_box3_d_output: *mut Rect3DfFB,
22435    ) -> Result;
22436    #[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)"]
22437    pub type GetSpaceSemanticLabelsFB = unsafe extern "system" fn(
22438        session: Session,
22439        space: Space,
22440        semantic_labels_output: *mut SemanticLabelsFB,
22441    ) -> Result;
22442    #[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)"]
22443    pub type GetSpaceBoundary2DFB = unsafe extern "system" fn(
22444        session: Session,
22445        space: Space,
22446        boundary2_d_output: *mut Boundary2DFB,
22447    ) -> Result;
22448    #[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)"]
22449    pub type GetSpaceRoomLayoutFB = unsafe extern "system" fn(
22450        session: Session,
22451        space: Space,
22452        room_layout_output: *mut RoomLayoutFB,
22453    ) -> Result;
22454    #[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)"]
22455    pub type RequestSceneCaptureFB = unsafe extern "system" fn(
22456        session: Session,
22457        info: *const SceneCaptureRequestInfoFB,
22458        request_id: *mut AsyncRequestIdFB,
22459    ) -> Result;
22460    #[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)"]
22461    pub type PassthroughLayerSetKeyboardHandsIntensityFB = unsafe extern "system" fn(
22462        layer: PassthroughLayerFB,
22463        intensity: *const PassthroughKeyboardHandsIntensityFB,
22464    ) -> Result;
22465    #[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)"]
22466    pub type StartColocationDiscoveryMETA = unsafe extern "system" fn(
22467        session: Session,
22468        info: *const ColocationDiscoveryStartInfoMETA,
22469        discovery_request_id: *mut AsyncRequestIdFB,
22470    ) -> Result;
22471    #[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)"]
22472    pub type StopColocationDiscoveryMETA = unsafe extern "system" fn(
22473        session: Session,
22474        info: *const ColocationDiscoveryStopInfoMETA,
22475        request_id: *mut AsyncRequestIdFB,
22476    ) -> Result;
22477    #[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)"]
22478    pub type StartColocationAdvertisementMETA = unsafe extern "system" fn(
22479        session: Session,
22480        info: *const ColocationAdvertisementStartInfoMETA,
22481        advertisement_request_id: *mut AsyncRequestIdFB,
22482    ) -> Result;
22483    #[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)"]
22484    pub type StopColocationAdvertisementMETA = unsafe extern "system" fn(
22485        session: Session,
22486        info: *const ColocationAdvertisementStopInfoMETA,
22487        request_id: *mut AsyncRequestIdFB,
22488    ) -> Result;
22489    #[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)"]
22490    pub type ShareSpacesMETA = unsafe extern "system" fn(
22491        session: Session,
22492        info: *const ShareSpacesInfoMETA,
22493        request_id: *mut AsyncRequestIdFB,
22494    ) -> Result;
22495    #[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)"]
22496    pub type CreateSpatialAnchorStoreConnectionMSFT = unsafe extern "system" fn(
22497        session: Session,
22498        spatial_anchor_store: *mut SpatialAnchorStoreConnectionMSFT,
22499    ) -> Result;
22500    #[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)"]
22501    pub type DestroySpatialAnchorStoreConnectionMSFT =
22502        unsafe extern "system" fn(spatial_anchor_store: SpatialAnchorStoreConnectionMSFT) -> Result;
22503    #[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)"]
22504    pub type PersistSpatialAnchorMSFT = unsafe extern "system" fn(
22505        spatial_anchor_store: SpatialAnchorStoreConnectionMSFT,
22506        spatial_anchor_persistence_info: *const SpatialAnchorPersistenceInfoMSFT,
22507    ) -> Result;
22508    #[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)"]
22509    pub type EnumeratePersistedSpatialAnchorNamesMSFT = unsafe extern "system" fn(
22510        spatial_anchor_store: SpatialAnchorStoreConnectionMSFT,
22511        spatial_anchor_name_capacity_input: u32,
22512        spatial_anchor_name_count_output: *mut u32,
22513        spatial_anchor_names: *mut SpatialAnchorPersistenceNameMSFT,
22514    ) -> Result;
22515    #[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)"]
22516    pub type CreateSpatialAnchorFromPersistedNameMSFT = unsafe extern "system" fn(
22517        session: Session,
22518        spatial_anchor_create_info: *const SpatialAnchorFromPersistedAnchorCreateInfoMSFT,
22519        spatial_anchor: *mut SpatialAnchorMSFT,
22520    ) -> Result;
22521    #[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)"]
22522    pub type UnpersistSpatialAnchorMSFT = unsafe extern "system" fn(
22523        spatial_anchor_store: SpatialAnchorStoreConnectionMSFT,
22524        spatial_anchor_persistence_name: *const SpatialAnchorPersistenceNameMSFT,
22525    ) -> Result;
22526    #[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)"]
22527    pub type ClearSpatialAnchorStoreMSFT =
22528        unsafe extern "system" fn(spatial_anchor_store: SpatialAnchorStoreConnectionMSFT) -> Result;
22529    #[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)"]
22530    pub type CreateBodyTrackerBD = unsafe extern "system" fn(
22531        session: Session,
22532        create_info: *const BodyTrackerCreateInfoBD,
22533        body_tracker: *mut BodyTrackerBD,
22534    ) -> Result;
22535    #[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)"]
22536    pub type DestroyBodyTrackerBD =
22537        unsafe extern "system" fn(body_tracker: BodyTrackerBD) -> Result;
22538    #[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)"]
22539    pub type LocateBodyJointsBD = unsafe extern "system" fn(
22540        body_tracker: BodyTrackerBD,
22541        locate_info: *const BodyJointsLocateInfoBD,
22542        locations: *mut BodyJointLocationsBD,
22543    ) -> Result;
22544    #[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)"]
22545    pub type CreateFacialTrackerHTC = unsafe extern "system" fn(
22546        session: Session,
22547        create_info: *const FacialTrackerCreateInfoHTC,
22548        facial_tracker: *mut FacialTrackerHTC,
22549    ) -> Result;
22550    #[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)"]
22551    pub type DestroyFacialTrackerHTC =
22552        unsafe extern "system" fn(facial_tracker: FacialTrackerHTC) -> Result;
22553    #[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)"]
22554    pub type GetFacialExpressionsHTC = unsafe extern "system" fn(
22555        facial_tracker: FacialTrackerHTC,
22556        facial_expressions: *mut FacialExpressionsHTC,
22557    ) -> Result;
22558    #[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)"]
22559    pub type CreatePassthroughHTC = unsafe extern "system" fn(
22560        session: Session,
22561        create_info: *const PassthroughCreateInfoHTC,
22562        passthrough: *mut PassthroughHTC,
22563    ) -> Result;
22564    #[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)"]
22565    pub type DestroyPassthroughHTC =
22566        unsafe extern "system" fn(passthrough: PassthroughHTC) -> Result;
22567    #[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)"]
22568    pub type CreateSpatialAnchorHTC = unsafe extern "system" fn(
22569        session: Session,
22570        create_info: *const SpatialAnchorCreateInfoHTC,
22571        anchor: *mut Space,
22572    ) -> Result;
22573    #[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)"]
22574    pub type GetSpatialAnchorNameHTC =
22575        unsafe extern "system" fn(anchor: Space, name: *mut SpatialAnchorNameHTC) -> Result;
22576    #[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)"]
22577    pub type EnumerateViveTrackerPathsHTCX = unsafe extern "system" fn(
22578        instance: Instance,
22579        path_capacity_input: u32,
22580        path_count_output: *mut u32,
22581        paths: *mut ViveTrackerPathsHTCX,
22582    ) -> Result;
22583    #[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)"]
22584    pub type CreateBodyTrackerHTC = unsafe extern "system" fn(
22585        session: Session,
22586        create_info: *const BodyTrackerCreateInfoHTC,
22587        body_tracker: *mut BodyTrackerHTC,
22588    ) -> Result;
22589    #[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)"]
22590    pub type DestroyBodyTrackerHTC =
22591        unsafe extern "system" fn(body_tracker: BodyTrackerHTC) -> Result;
22592    #[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)"]
22593    pub type LocateBodyJointsHTC = unsafe extern "system" fn(
22594        body_tracker: BodyTrackerHTC,
22595        locate_info: *const BodyJointsLocateInfoHTC,
22596        locations: *mut BodyJointLocationsHTC,
22597    ) -> Result;
22598    #[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)"]
22599    pub type GetBodySkeletonHTC = unsafe extern "system" fn(
22600        body_tracker: BodyTrackerHTC,
22601        base_space: Space,
22602        skeleton_generation_id: u32,
22603        skeleton: *mut BodySkeletonHTC,
22604    ) -> Result;
22605    #[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)"]
22606    pub type SetMarkerTrackingVARJO =
22607        unsafe extern "system" fn(session: Session, enabled: Bool32) -> Result;
22608    #[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)"]
22609    pub type SetMarkerTrackingTimeoutVARJO =
22610        unsafe extern "system" fn(session: Session, marker_id: u64, timeout: Duration) -> Result;
22611    #[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)"]
22612    pub type SetMarkerTrackingPredictionVARJO =
22613        unsafe extern "system" fn(session: Session, marker_id: u64, enable: Bool32) -> Result;
22614    #[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)"]
22615    pub type GetMarkerSizeVARJO =
22616        unsafe extern "system" fn(session: Session, marker_id: u64, size: *mut Extent2Df) -> Result;
22617    #[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)"]
22618    pub type CreateMarkerSpaceVARJO = unsafe extern "system" fn(
22619        session: Session,
22620        create_info: *const MarkerSpaceCreateInfoVARJO,
22621        space: *mut Space,
22622    ) -> Result;
22623    #[doc = "See [xrRequestBodyTrackingFidelityMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRequestBodyTrackingFidelityMETA) - defined by [XR_META_body_tracking_fidelity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_body_tracking_fidelity)"]
22624    pub type RequestBodyTrackingFidelityMETA = unsafe extern "system" fn(
22625        body_tracker: BodyTrackerFB,
22626        fidelity: BodyTrackingFidelityMETA,
22627    ) -> Result;
22628    #[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)"]
22629    pub type SetDigitalLensControlALMALENCE = unsafe extern "system" fn(
22630        session: Session,
22631        digital_lens_control: *const DigitalLensControlALMALENCE,
22632    ) -> Result;
22633    #[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)"]
22634    pub type SetViewOffsetVARJO =
22635        unsafe extern "system" fn(session: Session, offset: f32) -> Result;
22636    #[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)"]
22637    pub type EnumerateExternalCamerasOCULUS = unsafe extern "system" fn(
22638        session: Session,
22639        camera_capacity_input: u32,
22640        camera_count_output: *mut u32,
22641        cameras: *mut ExternalCameraOCULUS,
22642    ) -> Result;
22643    #[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)"]
22644    pub type CreatePassthroughColorLutMETA = unsafe extern "system" fn(
22645        passthrough: PassthroughFB,
22646        create_info: *const PassthroughColorLutCreateInfoMETA,
22647        color_lut: *mut PassthroughColorLutMETA,
22648    ) -> Result;
22649    #[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)"]
22650    pub type DestroyPassthroughColorLutMETA =
22651        unsafe extern "system" fn(color_lut: PassthroughColorLutMETA) -> Result;
22652    #[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)"]
22653    pub type UpdatePassthroughColorLutMETA = unsafe extern "system" fn(
22654        color_lut: PassthroughColorLutMETA,
22655        update_info: *const PassthroughColorLutUpdateInfoMETA,
22656    ) -> Result;
22657    #[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)"]
22658    pub type EnumeratePerformanceMetricsCounterPathsMETA = unsafe extern "system" fn(
22659        instance: Instance,
22660        counter_path_capacity_input: u32,
22661        counter_path_count_output: *mut u32,
22662        counter_paths: *mut Path,
22663    ) -> Result;
22664    #[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)"]
22665    pub type SetPerformanceMetricsStateMETA = unsafe extern "system" fn(
22666        session: Session,
22667        state: *const PerformanceMetricsStateMETA,
22668    ) -> Result;
22669    #[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)"]
22670    pub type GetPerformanceMetricsStateMETA = unsafe extern "system" fn(
22671        session: Session,
22672        state: *mut PerformanceMetricsStateMETA,
22673    ) -> Result;
22674    #[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)"]
22675    pub type QueryPerformanceMetricsCounterMETA = unsafe extern "system" fn(
22676        session: Session,
22677        counter_path: Path,
22678        counter: *mut PerformanceMetricsCounterMETA,
22679    ) -> Result;
22680    #[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)"]
22681    pub type GetPassthroughPreferencesMETA = unsafe extern "system" fn(
22682        session: Session,
22683        preferences: *mut PassthroughPreferencesMETA,
22684    ) -> Result;
22685    #[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)"]
22686    pub type ApplyFoveationHTC = unsafe extern "system" fn(
22687        session: Session,
22688        apply_info: *const FoveationApplyInfoHTC,
22689    ) -> Result;
22690    #[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)"]
22691    pub type CreateSpaceFromCoordinateFrameUIDML = unsafe extern "system" fn(
22692        session: Session,
22693        create_info: *const CoordinateSpaceCreateInfoML,
22694        space: *mut Space,
22695    ) -> Result;
22696    #[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)"]
22697    pub type GetDeviceSampleRateFB = unsafe extern "system" fn(
22698        session: Session,
22699        haptic_action_info: *const HapticActionInfo,
22700        device_sample_rate: *mut DevicePcmSampleRateGetInfoFB,
22701    ) -> Result;
22702    #[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)"]
22703    pub type SetTrackingOptimizationSettingsHintQCOM = unsafe extern "system" fn(
22704        session: Session,
22705        domain: TrackingOptimizationSettingsDomainQCOM,
22706        hint: TrackingOptimizationSettingsHintQCOM,
22707    ) -> Result;
22708    #[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)"]
22709    pub type CreateSpaceUserFB = unsafe extern "system" fn(
22710        session: Session,
22711        info: *const SpaceUserCreateInfoFB,
22712        user: *mut SpaceUserFB,
22713    ) -> Result;
22714    #[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)"]
22715    pub type GetSpaceUserIdFB =
22716        unsafe extern "system" fn(user: SpaceUserFB, user_id: *mut SpaceUserIdFB) -> Result;
22717    #[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)"]
22718    pub type DestroySpaceUserFB = unsafe extern "system" fn(user: SpaceUserFB) -> Result;
22719    #[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)"]
22720    pub type GetRecommendedLayerResolutionMETA = unsafe extern "system" fn(
22721        session: Session,
22722        info: *const RecommendedLayerResolutionGetInfoMETA,
22723        resolution: *mut RecommendedLayerResolutionMETA,
22724    ) -> Result;
22725    #[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)"]
22726    pub type SaveSpacesMETA = unsafe extern "system" fn(
22727        session: Session,
22728        info: *const SpacesSaveInfoMETA,
22729        request_id: *mut AsyncRequestIdFB,
22730    ) -> Result;
22731    #[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)"]
22732    pub type EraseSpacesMETA = unsafe extern "system" fn(
22733        session: Session,
22734        info: *const SpacesEraseInfoMETA,
22735        request_id: *mut AsyncRequestIdFB,
22736    ) -> Result;
22737    #[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)"]
22738    pub type DiscoverSpacesMETA = unsafe extern "system" fn(
22739        session: Session,
22740        info: *const SpaceDiscoveryInfoMETA,
22741        request_id: *mut AsyncRequestIdFB,
22742    ) -> Result;
22743    #[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)"]
22744    pub type RetrieveSpaceDiscoveryResultsMETA = unsafe extern "system" fn(
22745        session: Session,
22746        request_id: AsyncRequestIdFB,
22747        results: *mut SpaceDiscoveryResultsMETA,
22748    ) -> Result;
22749    #[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)"]
22750    pub type ApplyForceFeedbackCurlMNDX = unsafe extern "system" fn(
22751        hand_tracker: HandTrackerEXT,
22752        locations: *const ForceFeedbackCurlApplyLocationsMNDX,
22753    ) -> Result;
22754    #[cfg(target_os = "android")]
22755    #[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)"]
22756    pub type CreateFaceTrackerANDROID = unsafe extern "system" fn(
22757        session: Session,
22758        create_info: *const FaceTrackerCreateInfoANDROID,
22759        face_tracker: *mut FaceTrackerANDROID,
22760    ) -> Result;
22761    #[cfg(target_os = "android")]
22762    #[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)"]
22763    pub type DestroyFaceTrackerANDROID =
22764        unsafe extern "system" fn(face_tracker: FaceTrackerANDROID) -> Result;
22765    #[cfg(target_os = "android")]
22766    #[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)"]
22767    pub type GetFaceStateANDROID = unsafe extern "system" fn(
22768        face_tracker: FaceTrackerANDROID,
22769        get_info: *const FaceStateGetInfoANDROID,
22770        face_state_output: *mut FaceStateANDROID,
22771    ) -> Result;
22772    #[cfg(target_os = "android")]
22773    #[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)"]
22774    pub type GetFaceCalibrationStateANDROID = unsafe extern "system" fn(
22775        face_tracker: FaceTrackerANDROID,
22776        face_is_calibrated_output: *mut Bool32,
22777    ) -> Result;
22778    #[cfg(target_os = "android")]
22779    #[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)"]
22780    pub type GetPassthroughCameraStateANDROID = unsafe extern "system" fn(
22781        session: Session,
22782        get_info: *const PassthroughCameraStateGetInfoANDROID,
22783        camera_state_output: *mut PassthroughCameraStateANDROID,
22784    ) -> Result;
22785    #[cfg(target_os = "android")]
22786    #[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)"]
22787    pub type EnumerateSupportedTrackableTypesANDROID = unsafe extern "system" fn(
22788        instance: Instance,
22789        system_id: SystemId,
22790        trackable_type_capacity_input: u32,
22791        trackable_type_count_output: *mut u32,
22792        trackable_types: *mut TrackableTypeANDROID,
22793    ) -> Result;
22794    #[cfg(target_os = "android")]
22795    #[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)"]
22796    pub type EnumerateSupportedAnchorTrackableTypesANDROID = unsafe extern "system" fn(
22797        instance: Instance,
22798        system_id: SystemId,
22799        trackable_type_capacity_input: u32,
22800        trackable_type_count_output: *mut u32,
22801        trackable_types: *mut TrackableTypeANDROID,
22802    )
22803        -> Result;
22804    #[cfg(target_os = "android")]
22805    #[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)"]
22806    pub type CreateTrackableTrackerANDROID = unsafe extern "system" fn(
22807        session: Session,
22808        create_info: *const TrackableTrackerCreateInfoANDROID,
22809        trackable_tracker: *mut TrackableTrackerANDROID,
22810    ) -> Result;
22811    #[cfg(target_os = "android")]
22812    #[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)"]
22813    pub type DestroyTrackableTrackerANDROID =
22814        unsafe extern "system" fn(trackable_tracker: TrackableTrackerANDROID) -> Result;
22815    #[cfg(target_os = "android")]
22816    #[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)"]
22817    pub type GetAllTrackablesANDROID = unsafe extern "system" fn(
22818        trackable_tracker: TrackableTrackerANDROID,
22819        trackable_capacity_input: u32,
22820        trackable_count_output: *mut u32,
22821        trackables: *mut TrackableANDROID,
22822    ) -> Result;
22823    #[cfg(target_os = "android")]
22824    #[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)"]
22825    pub type GetTrackablePlaneANDROID = unsafe extern "system" fn(
22826        trackable_tracker: TrackableTrackerANDROID,
22827        get_info: *const TrackableGetInfoANDROID,
22828        plane_output: *mut TrackablePlaneANDROID,
22829    ) -> Result;
22830    #[cfg(target_os = "android")]
22831    #[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)"]
22832    pub type CreateAnchorSpaceANDROID = unsafe extern "system" fn(
22833        session: Session,
22834        create_info: *const AnchorSpaceCreateInfoANDROID,
22835        anchor_output: *mut Space,
22836    ) -> Result;
22837    #[cfg(target_os = "android")]
22838    #[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)"]
22839    pub type ShareAnchorANDROID = unsafe extern "system" fn(
22840        session: Session,
22841        sharing_info: *const AnchorSharingInfoANDROID,
22842        anchor_token: *mut AnchorSharingTokenANDROID,
22843    ) -> Result;
22844    #[cfg(target_os = "android")]
22845    #[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)"]
22846    pub type UnshareAnchorANDROID =
22847        unsafe extern "system" fn(session: Session, anchor: Space) -> Result;
22848    #[cfg(target_os = "android")]
22849    #[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)"]
22850    pub type GetTrackableObjectANDROID = unsafe extern "system" fn(
22851        tracker: TrackableTrackerANDROID,
22852        get_info: *const TrackableGetInfoANDROID,
22853        object_output: *mut TrackableObjectANDROID,
22854    ) -> Result;
22855    #[cfg(target_os = "android")]
22856    #[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)"]
22857    pub type EnumerateRaycastSupportedTrackableTypesANDROID = unsafe extern "system" fn(
22858        instance: Instance,
22859        system_id: SystemId,
22860        trackable_type_capacity_input: u32,
22861        trackable_type_count_output: *mut u32,
22862        trackable_types: *mut TrackableTypeANDROID,
22863    )
22864        -> Result;
22865    #[cfg(target_os = "android")]
22866    #[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)"]
22867    pub type RaycastANDROID = unsafe extern "system" fn(
22868        session: Session,
22869        ray_info: *const RaycastInfoANDROID,
22870        results: *mut RaycastHitResultsANDROID,
22871    ) -> Result;
22872    #[cfg(target_os = "android")]
22873    #[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)"]
22874    pub type GetTrackableMarkerANDROID = unsafe extern "system" fn(
22875        tracker: TrackableTrackerANDROID,
22876        get_info: *const TrackableGetInfoANDROID,
22877        marker_output: *mut TrackableMarkerANDROID,
22878    ) -> Result;
22879    #[cfg(target_os = "android")]
22880    #[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)"]
22881    pub type EnumerateSupportedPersistenceAnchorTypesANDROID = unsafe extern "system" fn(
22882        instance: Instance,
22883        system_id: SystemId,
22884        trackable_type_capacity_input: u32,
22885        trackable_type_count_output: *mut u32,
22886        trackable_types: *mut TrackableTypeANDROID,
22887    )
22888        -> Result;
22889    #[cfg(target_os = "android")]
22890    #[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)"]
22891    pub type CreateDeviceAnchorPersistenceANDROID = unsafe extern "system" fn(
22892        session: Session,
22893        create_info: *const DeviceAnchorPersistenceCreateInfoANDROID,
22894        out_handle: *mut DeviceAnchorPersistenceANDROID,
22895    ) -> Result;
22896    #[cfg(target_os = "android")]
22897    #[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)"]
22898    pub type DestroyDeviceAnchorPersistenceANDROID =
22899        unsafe extern "system" fn(handle: DeviceAnchorPersistenceANDROID) -> Result;
22900    #[cfg(target_os = "android")]
22901    #[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)"]
22902    pub type PersistAnchorANDROID = unsafe extern "system" fn(
22903        handle: DeviceAnchorPersistenceANDROID,
22904        persisted_info: *const PersistedAnchorSpaceInfoANDROID,
22905        anchor_id_output: *mut UuidEXT,
22906    ) -> Result;
22907    #[cfg(target_os = "android")]
22908    #[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)"]
22909    pub type GetAnchorPersistStateANDROID = unsafe extern "system" fn(
22910        handle: DeviceAnchorPersistenceANDROID,
22911        anchor_id: *const UuidEXT,
22912        persist_state: *mut AnchorPersistStateANDROID,
22913    ) -> Result;
22914    #[cfg(target_os = "android")]
22915    #[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)"]
22916    pub type CreatePersistedAnchorSpaceANDROID = unsafe extern "system" fn(
22917        handle: DeviceAnchorPersistenceANDROID,
22918        create_info: *const PersistedAnchorSpaceCreateInfoANDROID,
22919        anchor_output: *mut Space,
22920    ) -> Result;
22921    #[cfg(target_os = "android")]
22922    #[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)"]
22923    pub type EnumeratePersistedAnchorsANDROID = unsafe extern "system" fn(
22924        handle: DeviceAnchorPersistenceANDROID,
22925        anchor_id_capacity_input: u32,
22926        anchor_id_count_output: *mut u32,
22927        anchor_ids: *mut UuidEXT,
22928    ) -> Result;
22929    #[cfg(target_os = "android")]
22930    #[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)"]
22931    pub type UnpersistAnchorANDROID = unsafe extern "system" fn(
22932        handle: DeviceAnchorPersistenceANDROID,
22933        anchor_id: *const UuidEXT,
22934    ) -> Result;
22935    #[cfg(target_os = "android")]
22936    #[doc = "See [xrEnumeratePerformanceMetricsCounterPathsANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumeratePerformanceMetricsCounterPathsANDROID) - defined by [XR_ANDROID_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_performance_metrics)"]
22937    pub type EnumeratePerformanceMetricsCounterPathsANDROID = unsafe extern "system" fn(
22938        instance: Instance,
22939        counter_path_capacity_input: u32,
22940        counter_path_count_output: *mut u32,
22941        counter_paths: *mut Path,
22942    )
22943        -> Result;
22944    #[cfg(target_os = "android")]
22945    #[doc = "See [xrSetPerformanceMetricsStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetPerformanceMetricsStateANDROID) - defined by [XR_ANDROID_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_performance_metrics)"]
22946    pub type SetPerformanceMetricsStateANDROID = unsafe extern "system" fn(
22947        session: Session,
22948        state: *const PerformanceMetricsStateANDROID,
22949    ) -> Result;
22950    #[cfg(target_os = "android")]
22951    #[doc = "See [xrGetPerformanceMetricsStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetPerformanceMetricsStateANDROID) - defined by [XR_ANDROID_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_performance_metrics)"]
22952    pub type GetPerformanceMetricsStateANDROID = unsafe extern "system" fn(
22953        session: Session,
22954        state: *mut PerformanceMetricsStateANDROID,
22955    ) -> Result;
22956    #[cfg(target_os = "android")]
22957    #[doc = "See [xrQueryPerformanceMetricsCounterANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQueryPerformanceMetricsCounterANDROID) - defined by [XR_ANDROID_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_performance_metrics)"]
22958    pub type QueryPerformanceMetricsCounterANDROID = unsafe extern "system" fn(
22959        session: Session,
22960        counter_path: Path,
22961        counter: *mut PerformanceMetricsCounterANDROID,
22962    ) -> Result;
22963    #[cfg(target_os = "android")]
22964    #[doc = "See [xrGetTrackableQrCodeANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetTrackableQrCodeANDROID) - defined by [XR_ANDROID_trackables_qr_code](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_qr_code)"]
22965    pub type GetTrackableQrCodeANDROID = unsafe extern "system" fn(
22966        tracker: TrackableTrackerANDROID,
22967        get_info: *const TrackableGetInfoANDROID,
22968        qr_code_output: *mut TrackableQrCodeANDROID,
22969    ) -> Result;
22970    #[cfg(target_os = "android")]
22971    #[doc = "See [xrCreatePassthroughLayerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreatePassthroughLayerANDROID) - defined by [XR_ANDROID_composition_layer_passthrough_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_composition_layer_passthrough_mesh)"]
22972    pub type CreatePassthroughLayerANDROID = unsafe extern "system" fn(
22973        session: Session,
22974        create_info: *const PassthroughLayerCreateInfoANDROID,
22975        layer: *mut PassthroughLayerANDROID,
22976    ) -> Result;
22977    #[cfg(target_os = "android")]
22978    #[doc = "See [xrDestroyPassthroughLayerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyPassthroughLayerANDROID) - defined by [XR_ANDROID_composition_layer_passthrough_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_composition_layer_passthrough_mesh)"]
22979    pub type DestroyPassthroughLayerANDROID =
22980        unsafe extern "system" fn(layer: PassthroughLayerANDROID) -> Result;
22981    #[cfg(target_os = "android")]
22982    #[doc = "See [xrSetPassthroughLayerMeshANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetPassthroughLayerMeshANDROID) - defined by [XR_ANDROID_composition_layer_passthrough_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_composition_layer_passthrough_mesh)"]
22983    pub type SetPassthroughLayerMeshANDROID = unsafe extern "system" fn(
22984        layer: PassthroughLayerANDROID,
22985        mesh: *const PassthroughLayerMeshANDROID,
22986    ) -> Result;
22987    #[cfg(target_os = "android")]
22988    #[doc = "See [xrEnumerateSupportedSemanticLabelSetsANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSupportedSemanticLabelSetsANDROID) - defined by [XR_ANDROID_scene_meshing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_scene_meshing)"]
22989    pub type EnumerateSupportedSemanticLabelSetsANDROID = unsafe extern "system" fn(
22990        instance: Instance,
22991        system_id: SystemId,
22992        supported_semantic_label_sets_input_capacity: u32,
22993        supported_semantic_label_sets_output_count: *mut u32,
22994        supported_semantic_label_sets: *mut SceneMeshSemanticLabelSetANDROID,
22995    ) -> Result;
22996    #[cfg(target_os = "android")]
22997    #[doc = "See [xrCreateSceneMeshingTrackerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSceneMeshingTrackerANDROID) - defined by [XR_ANDROID_scene_meshing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_scene_meshing)"]
22998    pub type CreateSceneMeshingTrackerANDROID = unsafe extern "system" fn(
22999        session: Session,
23000        create_info: *const SceneMeshingTrackerCreateInfoANDROID,
23001        tracker: *mut SceneMeshingTrackerANDROID,
23002    ) -> Result;
23003    #[cfg(target_os = "android")]
23004    #[doc = "See [xrDestroySceneMeshingTrackerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySceneMeshingTrackerANDROID) - defined by [XR_ANDROID_scene_meshing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_scene_meshing)"]
23005    pub type DestroySceneMeshingTrackerANDROID =
23006        unsafe extern "system" fn(tracker: SceneMeshingTrackerANDROID) -> Result;
23007    #[cfg(target_os = "android")]
23008    #[doc = "See [xrCreateSceneMeshSnapshotANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSceneMeshSnapshotANDROID) - defined by [XR_ANDROID_scene_meshing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_scene_meshing)"]
23009    pub type CreateSceneMeshSnapshotANDROID = unsafe extern "system" fn(
23010        tracker: SceneMeshingTrackerANDROID,
23011        create_info: *const SceneMeshSnapshotCreateInfoANDROID,
23012        out_snapshot_creation_result: *mut SceneMeshSnapshotCreationResultANDROID,
23013    ) -> Result;
23014    #[cfg(target_os = "android")]
23015    #[doc = "See [xrDestroySceneMeshSnapshotANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySceneMeshSnapshotANDROID) - defined by [XR_ANDROID_scene_meshing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_scene_meshing)"]
23016    pub type DestroySceneMeshSnapshotANDROID =
23017        unsafe extern "system" fn(snapshot: SceneMeshSnapshotANDROID) -> Result;
23018    #[cfg(target_os = "android")]
23019    #[doc = "See [xrGetAllSubmeshStatesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetAllSubmeshStatesANDROID) - defined by [XR_ANDROID_scene_meshing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_scene_meshing)"]
23020    pub type GetAllSubmeshStatesANDROID = unsafe extern "system" fn(
23021        snapshot: SceneMeshSnapshotANDROID,
23022        submesh_state_capacity_input: u32,
23023        submesh_state_count_output: *mut u32,
23024        submesh_states: *mut SceneSubmeshStateANDROID,
23025    ) -> Result;
23026    #[cfg(target_os = "android")]
23027    #[doc = "See [xrGetSubmeshDataANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSubmeshDataANDROID) - defined by [XR_ANDROID_scene_meshing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_scene_meshing)"]
23028    pub type GetSubmeshDataANDROID = unsafe extern "system" fn(
23029        snapshot: SceneMeshSnapshotANDROID,
23030        submesh_data_count: u32,
23031        inout_submesh_data: *mut SceneSubmeshDataANDROID,
23032    ) -> Result;
23033    #[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)"]
23034    pub type CreatePlaneDetectorEXT = unsafe extern "system" fn(
23035        session: Session,
23036        create_info: *const PlaneDetectorCreateInfoEXT,
23037        plane_detector: *mut PlaneDetectorEXT,
23038    ) -> Result;
23039    #[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)"]
23040    pub type DestroyPlaneDetectorEXT =
23041        unsafe extern "system" fn(plane_detector: PlaneDetectorEXT) -> Result;
23042    #[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)"]
23043    pub type BeginPlaneDetectionEXT = unsafe extern "system" fn(
23044        plane_detector: PlaneDetectorEXT,
23045        begin_info: *const PlaneDetectorBeginInfoEXT,
23046    ) -> Result;
23047    #[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)"]
23048    pub type GetPlaneDetectionStateEXT = unsafe extern "system" fn(
23049        plane_detector: PlaneDetectorEXT,
23050        state: *mut PlaneDetectionStateEXT,
23051    ) -> Result;
23052    #[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)"]
23053    pub type GetPlaneDetectionsEXT = unsafe extern "system" fn(
23054        plane_detector: PlaneDetectorEXT,
23055        info: *const PlaneDetectorGetInfoEXT,
23056        locations: *mut PlaneDetectorLocationsEXT,
23057    ) -> Result;
23058    #[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)"]
23059    pub type GetPlanePolygonBufferEXT = unsafe extern "system" fn(
23060        plane_detector: PlaneDetectorEXT,
23061        plane_id: u64,
23062        polygon_buffer_index: u32,
23063        polygon_buffer: *mut PlaneDetectorPolygonBufferEXT,
23064    ) -> Result;
23065    #[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)"]
23066    pub type CreateVirtualKeyboardMETA = unsafe extern "system" fn(
23067        session: Session,
23068        create_info: *const VirtualKeyboardCreateInfoMETA,
23069        keyboard: *mut VirtualKeyboardMETA,
23070    ) -> Result;
23071    #[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)"]
23072    pub type DestroyVirtualKeyboardMETA =
23073        unsafe extern "system" fn(keyboard: VirtualKeyboardMETA) -> Result;
23074    #[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)"]
23075    pub type CreateVirtualKeyboardSpaceMETA = unsafe extern "system" fn(
23076        session: Session,
23077        keyboard: VirtualKeyboardMETA,
23078        create_info: *const VirtualKeyboardSpaceCreateInfoMETA,
23079        keyboard_space: *mut Space,
23080    ) -> Result;
23081    #[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)"]
23082    pub type SuggestVirtualKeyboardLocationMETA = unsafe extern "system" fn(
23083        keyboard: VirtualKeyboardMETA,
23084        location_info: *const VirtualKeyboardLocationInfoMETA,
23085    ) -> Result;
23086    #[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)"]
23087    pub type GetVirtualKeyboardScaleMETA =
23088        unsafe extern "system" fn(keyboard: VirtualKeyboardMETA, scale: *mut f32) -> Result;
23089    #[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)"]
23090    pub type SetVirtualKeyboardModelVisibilityMETA = unsafe extern "system" fn(
23091        keyboard: VirtualKeyboardMETA,
23092        model_visibility: *const VirtualKeyboardModelVisibilitySetInfoMETA,
23093    ) -> Result;
23094    #[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)"]
23095    pub type GetVirtualKeyboardModelAnimationStatesMETA = unsafe extern "system" fn(
23096        keyboard: VirtualKeyboardMETA,
23097        animation_states: *mut VirtualKeyboardModelAnimationStatesMETA,
23098    ) -> Result;
23099    #[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)"]
23100    pub type GetVirtualKeyboardDirtyTexturesMETA = unsafe extern "system" fn(
23101        keyboard: VirtualKeyboardMETA,
23102        texture_id_capacity_input: u32,
23103        texture_id_count_output: *mut u32,
23104        texture_ids: *mut u64,
23105    ) -> Result;
23106    #[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)"]
23107    pub type GetVirtualKeyboardTextureDataMETA = unsafe extern "system" fn(
23108        keyboard: VirtualKeyboardMETA,
23109        texture_id: u64,
23110        texture_data: *mut VirtualKeyboardTextureDataMETA,
23111    ) -> Result;
23112    #[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)"]
23113    pub type SendVirtualKeyboardInputMETA = unsafe extern "system" fn(
23114        keyboard: VirtualKeyboardMETA,
23115        info: *const VirtualKeyboardInputInfoMETA,
23116        interactor_root_pose: *mut Posef,
23117    ) -> Result;
23118    #[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)"]
23119    pub type ChangeVirtualKeyboardTextContextMETA = unsafe extern "system" fn(
23120        keyboard: VirtualKeyboardMETA,
23121        change_info: *const VirtualKeyboardTextContextChangeInfoMETA,
23122    ) -> Result;
23123    #[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)"]
23124    pub type EnableUserCalibrationEventsML = unsafe extern "system" fn(
23125        instance: Instance,
23126        enable_info: *const UserCalibrationEnableEventsInfoML,
23127    ) -> Result;
23128    #[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)"]
23129    pub type EnableLocalizationEventsML = unsafe extern "system" fn(
23130        session: Session,
23131        info: *const LocalizationEnableEventsInfoML,
23132    ) -> Result;
23133    #[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)"]
23134    pub type QueryLocalizationMapsML = unsafe extern "system" fn(
23135        session: Session,
23136        query_info: *const LocalizationMapQueryInfoBaseHeaderML,
23137        map_capacity_input: u32,
23138        map_count_output: *mut u32,
23139        maps: *mut LocalizationMapML,
23140    ) -> Result;
23141    #[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)"]
23142    pub type RequestMapLocalizationML = unsafe extern "system" fn(
23143        session: Session,
23144        request_info: *const MapLocalizationRequestInfoML,
23145    ) -> Result;
23146    #[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)"]
23147    pub type ImportLocalizationMapML = unsafe extern "system" fn(
23148        session: Session,
23149        import_info: *const LocalizationMapImportInfoML,
23150        map_uuid: *mut UuidEXT,
23151    ) -> Result;
23152    #[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)"]
23153    pub type CreateExportedLocalizationMapML = unsafe extern "system" fn(
23154        session: Session,
23155        map_uuid: *const UuidEXT,
23156        map: *mut ExportedLocalizationMapML,
23157    ) -> Result;
23158    #[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)"]
23159    pub type DestroyExportedLocalizationMapML =
23160        unsafe extern "system" fn(map: ExportedLocalizationMapML) -> Result;
23161    #[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)"]
23162    pub type GetExportedLocalizationMapDataML = unsafe extern "system" fn(
23163        map: ExportedLocalizationMapML,
23164        buffer_capacity_input: u32,
23165        buffer_count_output: *mut u32,
23166        buffer: *mut c_char,
23167    ) -> Result;
23168    #[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)"]
23169    pub type CreateMarkerDetectorML = unsafe extern "system" fn(
23170        session: Session,
23171        create_info: *const MarkerDetectorCreateInfoML,
23172        marker_detector: *mut MarkerDetectorML,
23173    ) -> Result;
23174    #[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)"]
23175    pub type DestroyMarkerDetectorML =
23176        unsafe extern "system" fn(marker_detector: MarkerDetectorML) -> Result;
23177    #[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)"]
23178    pub type SnapshotMarkerDetectorML = unsafe extern "system" fn(
23179        marker_detector: MarkerDetectorML,
23180        snapshot_info: *mut MarkerDetectorSnapshotInfoML,
23181    ) -> Result;
23182    #[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)"]
23183    pub type GetMarkerDetectorStateML = unsafe extern "system" fn(
23184        marker_detector: MarkerDetectorML,
23185        state: *mut MarkerDetectorStateML,
23186    ) -> Result;
23187    #[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)"]
23188    pub type GetMarkersML = unsafe extern "system" fn(
23189        marker_detector: MarkerDetectorML,
23190        marker_capacity_input: u32,
23191        marker_count_output: *mut u32,
23192        markers: *mut MarkerML,
23193    ) -> Result;
23194    #[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)"]
23195    pub type GetMarkerReprojectionErrorML = unsafe extern "system" fn(
23196        marker_detector: MarkerDetectorML,
23197        marker: MarkerML,
23198        reprojection_error_meters: *mut f32,
23199    ) -> Result;
23200    #[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)"]
23201    pub type GetMarkerLengthML = unsafe extern "system" fn(
23202        marker_detector: MarkerDetectorML,
23203        marker: MarkerML,
23204        meters: *mut f32,
23205    ) -> Result;
23206    #[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)"]
23207    pub type GetMarkerNumberML = unsafe extern "system" fn(
23208        marker_detector: MarkerDetectorML,
23209        marker: MarkerML,
23210        number: *mut u64,
23211    ) -> Result;
23212    #[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)"]
23213    pub type GetMarkerStringML = unsafe extern "system" fn(
23214        marker_detector: MarkerDetectorML,
23215        marker: MarkerML,
23216        buffer_capacity_input: u32,
23217        buffer_count_output: *mut u32,
23218        buffer: *mut c_char,
23219    ) -> Result;
23220    #[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)"]
23221    pub type CreateMarkerSpaceML = unsafe extern "system" fn(
23222        session: Session,
23223        create_info: *const MarkerSpaceCreateInfoML,
23224        space: *mut Space,
23225    ) -> Result;
23226    #[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)"]
23227    pub type PollFutureEXT = unsafe extern "system" fn(
23228        instance: Instance,
23229        poll_info: *const FuturePollInfoEXT,
23230        poll_result: *mut FuturePollResultEXT,
23231    ) -> Result;
23232    #[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)"]
23233    pub type CancelFutureEXT = unsafe extern "system" fn(
23234        instance: Instance,
23235        cancel_info: *const FutureCancelInfoEXT,
23236    ) -> Result;
23237    #[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)"]
23238    pub type CreateEnvironmentDepthProviderMETA = unsafe extern "system" fn(
23239        session: Session,
23240        create_info: *const EnvironmentDepthProviderCreateInfoMETA,
23241        environment_depth_provider: *mut EnvironmentDepthProviderMETA,
23242    ) -> Result;
23243    #[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)"]
23244    pub type DestroyEnvironmentDepthProviderMETA = unsafe extern "system" fn(
23245        environment_depth_provider: EnvironmentDepthProviderMETA,
23246    ) -> Result;
23247    #[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)"]
23248    pub type StartEnvironmentDepthProviderMETA = unsafe extern "system" fn(
23249        environment_depth_provider: EnvironmentDepthProviderMETA,
23250    ) -> Result;
23251    #[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)"]
23252    pub type StopEnvironmentDepthProviderMETA = unsafe extern "system" fn(
23253        environment_depth_provider: EnvironmentDepthProviderMETA,
23254    ) -> Result;
23255    #[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)"]
23256    pub type CreateEnvironmentDepthSwapchainMETA = unsafe extern "system" fn(
23257        environment_depth_provider: EnvironmentDepthProviderMETA,
23258        create_info: *const EnvironmentDepthSwapchainCreateInfoMETA,
23259        swapchain: *mut EnvironmentDepthSwapchainMETA,
23260    ) -> Result;
23261    #[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)"]
23262    pub type DestroyEnvironmentDepthSwapchainMETA =
23263        unsafe extern "system" fn(swapchain: EnvironmentDepthSwapchainMETA) -> Result;
23264    #[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)"]
23265    pub type EnumerateEnvironmentDepthSwapchainImagesMETA = unsafe extern "system" fn(
23266        swapchain: EnvironmentDepthSwapchainMETA,
23267        image_capacity_input: u32,
23268        image_count_output: *mut u32,
23269        images: *mut SwapchainImageBaseHeader,
23270    )
23271        -> Result;
23272    #[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)"]
23273    pub type GetEnvironmentDepthSwapchainStateMETA = unsafe extern "system" fn(
23274        swapchain: EnvironmentDepthSwapchainMETA,
23275        state: *mut EnvironmentDepthSwapchainStateMETA,
23276    ) -> Result;
23277    #[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)"]
23278    pub type AcquireEnvironmentDepthImageMETA = unsafe extern "system" fn(
23279        environment_depth_provider: EnvironmentDepthProviderMETA,
23280        acquire_info: *const EnvironmentDepthImageAcquireInfoMETA,
23281        environment_depth_image: *mut EnvironmentDepthImageMETA,
23282    ) -> Result;
23283    #[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)"]
23284    pub type SetEnvironmentDepthHandRemovalMETA = unsafe extern "system" fn(
23285        environment_depth_provider: EnvironmentDepthProviderMETA,
23286        set_info: *const EnvironmentDepthHandRemovalSetInfoMETA,
23287    ) -> Result;
23288    #[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)"]
23289    pub type CreateFacialExpressionClientML = unsafe extern "system" fn(
23290        session: Session,
23291        create_info: *const FacialExpressionClientCreateInfoML,
23292        facial_expression_client: *mut FacialExpressionClientML,
23293    ) -> Result;
23294    #[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)"]
23295    pub type DestroyFacialExpressionClientML =
23296        unsafe extern "system" fn(facial_expression_client: FacialExpressionClientML) -> Result;
23297    #[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)"]
23298    pub type GetFacialExpressionBlendShapePropertiesML = unsafe extern "system" fn(
23299        facial_expression_client: FacialExpressionClientML,
23300        blend_shape_get_info: *const FacialExpressionBlendShapeGetInfoML,
23301        blend_shape_count: u32,
23302        blend_shapes: *mut FacialExpressionBlendShapePropertiesML,
23303    ) -> Result;
23304    #[doc = "See [xrLocateSpaces](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLocateSpaces)"]
23305    pub type LocateSpaces = unsafe extern "system" fn(
23306        session: Session,
23307        locate_info: *const SpacesLocateInfo,
23308        space_locations: *mut SpaceLocations,
23309    ) -> Result;
23310    #[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)"]
23311    pub type EnumerateSpatialCapabilitiesEXT = unsafe extern "system" fn(
23312        instance: Instance,
23313        system_id: SystemId,
23314        capability_capacity_input: u32,
23315        capability_count_output: *mut u32,
23316        capabilities: *mut SpatialCapabilityEXT,
23317    ) -> Result;
23318    #[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)"]
23319    pub type EnumerateSpatialCapabilityComponentTypesEXT = unsafe extern "system" fn(
23320        instance: Instance,
23321        system_id: SystemId,
23322        capability: SpatialCapabilityEXT,
23323        capability_components: *mut SpatialCapabilityComponentTypesEXT,
23324    ) -> Result;
23325    #[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)"]
23326    pub type EnumerateSpatialCapabilityFeaturesEXT = unsafe extern "system" fn(
23327        instance: Instance,
23328        system_id: SystemId,
23329        capability: SpatialCapabilityEXT,
23330        capability_feature_capacity_input: u32,
23331        capability_feature_count_output: *mut u32,
23332        capability_features: *mut SpatialCapabilityFeatureEXT,
23333    ) -> Result;
23334    #[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)"]
23335    pub type CreateSpatialContextAsyncEXT = unsafe extern "system" fn(
23336        session: Session,
23337        create_info: *const SpatialContextCreateInfoEXT,
23338        future: *mut FutureEXT,
23339    ) -> Result;
23340    #[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)"]
23341    pub type CreateSpatialContextCompleteEXT = unsafe extern "system" fn(
23342        session: Session,
23343        future: FutureEXT,
23344        completion: *mut CreateSpatialContextCompletionEXT,
23345    ) -> Result;
23346    #[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)"]
23347    pub type DestroySpatialContextEXT =
23348        unsafe extern "system" fn(spatial_context: SpatialContextEXT) -> Result;
23349    #[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)"]
23350    pub type CreateSpatialDiscoverySnapshotAsyncEXT = unsafe extern "system" fn(
23351        spatial_context: SpatialContextEXT,
23352        create_info: *const SpatialDiscoverySnapshotCreateInfoEXT,
23353        future: *mut FutureEXT,
23354    ) -> Result;
23355    #[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)"]
23356    pub type CreateSpatialDiscoverySnapshotCompleteEXT = unsafe extern "system" fn(
23357        spatial_context: SpatialContextEXT,
23358        create_snapshot_completion_info: *const CreateSpatialDiscoverySnapshotCompletionInfoEXT,
23359        completion: *mut CreateSpatialDiscoverySnapshotCompletionEXT,
23360    ) -> Result;
23361    #[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)"]
23362    pub type QuerySpatialComponentDataEXT = unsafe extern "system" fn(
23363        snapshot: SpatialSnapshotEXT,
23364        query_condition: *const SpatialComponentDataQueryConditionEXT,
23365        query_result: *mut SpatialComponentDataQueryResultEXT,
23366    ) -> Result;
23367    #[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)"]
23368    pub type DestroySpatialSnapshotEXT =
23369        unsafe extern "system" fn(snapshot: SpatialSnapshotEXT) -> Result;
23370    #[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)"]
23371    pub type CreateSpatialEntityFromIdEXT = unsafe extern "system" fn(
23372        spatial_context: SpatialContextEXT,
23373        create_info: *const SpatialEntityFromIdCreateInfoEXT,
23374        spatial_entity: *mut SpatialEntityEXT,
23375    ) -> Result;
23376    #[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)"]
23377    pub type DestroySpatialEntityEXT =
23378        unsafe extern "system" fn(spatial_entity: SpatialEntityEXT) -> Result;
23379    #[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)"]
23380    pub type CreateSpatialUpdateSnapshotEXT = unsafe extern "system" fn(
23381        spatial_context: SpatialContextEXT,
23382        create_info: *const SpatialUpdateSnapshotCreateInfoEXT,
23383        snapshot: *mut SpatialSnapshotEXT,
23384    ) -> Result;
23385    #[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)"]
23386    pub type GetSpatialBufferStringEXT = unsafe extern "system" fn(
23387        snapshot: SpatialSnapshotEXT,
23388        info: *const SpatialBufferGetInfoEXT,
23389        buffer_capacity_input: u32,
23390        buffer_count_output: *mut u32,
23391        buffer: *mut c_char,
23392    ) -> Result;
23393    #[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)"]
23394    pub type GetSpatialBufferUint8EXT = unsafe extern "system" fn(
23395        snapshot: SpatialSnapshotEXT,
23396        info: *const SpatialBufferGetInfoEXT,
23397        buffer_capacity_input: u32,
23398        buffer_count_output: *mut u32,
23399        buffer: *mut u8,
23400    ) -> Result;
23401    #[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)"]
23402    pub type GetSpatialBufferUint16EXT = unsafe extern "system" fn(
23403        snapshot: SpatialSnapshotEXT,
23404        info: *const SpatialBufferGetInfoEXT,
23405        buffer_capacity_input: u32,
23406        buffer_count_output: *mut u32,
23407        buffer: *mut u16,
23408    ) -> Result;
23409    #[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)"]
23410    pub type GetSpatialBufferUint32EXT = unsafe extern "system" fn(
23411        snapshot: SpatialSnapshotEXT,
23412        info: *const SpatialBufferGetInfoEXT,
23413        buffer_capacity_input: u32,
23414        buffer_count_output: *mut u32,
23415        buffer: *mut u32,
23416    ) -> Result;
23417    #[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)"]
23418    pub type GetSpatialBufferFloatEXT = unsafe extern "system" fn(
23419        snapshot: SpatialSnapshotEXT,
23420        info: *const SpatialBufferGetInfoEXT,
23421        buffer_capacity_input: u32,
23422        buffer_count_output: *mut u32,
23423        buffer: *mut f32,
23424    ) -> Result;
23425    #[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)"]
23426    pub type GetSpatialBufferVector2fEXT = unsafe extern "system" fn(
23427        snapshot: SpatialSnapshotEXT,
23428        info: *const SpatialBufferGetInfoEXT,
23429        buffer_capacity_input: u32,
23430        buffer_count_output: *mut u32,
23431        buffer: *mut Vector2f,
23432    ) -> Result;
23433    #[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)"]
23434    pub type GetSpatialBufferVector3fEXT = unsafe extern "system" fn(
23435        snapshot: SpatialSnapshotEXT,
23436        info: *const SpatialBufferGetInfoEXT,
23437        buffer_capacity_input: u32,
23438        buffer_count_output: *mut u32,
23439        buffer: *mut Vector3f,
23440    ) -> Result;
23441    #[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)"]
23442    pub type CreateSpatialAnchorEXT = unsafe extern "system" fn(
23443        spatial_context: SpatialContextEXT,
23444        create_info: *const SpatialAnchorCreateInfoEXT,
23445        anchor_entity_id: *mut SpatialEntityIdEXT,
23446        anchor_entity: *mut SpatialEntityEXT,
23447    ) -> Result;
23448    #[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)"]
23449    pub type EnumerateSpatialPersistenceScopesEXT = unsafe extern "system" fn(
23450        instance: Instance,
23451        system_id: SystemId,
23452        persistence_scope_capacity_input: u32,
23453        persistence_scope_count_output: *mut u32,
23454        persistence_scopes: *mut SpatialPersistenceScopeEXT,
23455    ) -> Result;
23456    #[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)"]
23457    pub type CreateSpatialPersistenceContextAsyncEXT = unsafe extern "system" fn(
23458        session: Session,
23459        create_info: *const SpatialPersistenceContextCreateInfoEXT,
23460        future: *mut FutureEXT,
23461    ) -> Result;
23462    #[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)"]
23463    pub type CreateSpatialPersistenceContextCompleteEXT = unsafe extern "system" fn(
23464        session: Session,
23465        future: FutureEXT,
23466        completion: *mut CreateSpatialPersistenceContextCompletionEXT,
23467    ) -> Result;
23468    #[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)"]
23469    pub type DestroySpatialPersistenceContextEXT =
23470        unsafe extern "system" fn(persistence_context: SpatialPersistenceContextEXT) -> Result;
23471    #[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)"]
23472    pub type PersistSpatialEntityAsyncEXT = unsafe extern "system" fn(
23473        persistence_context: SpatialPersistenceContextEXT,
23474        persist_info: *const SpatialEntityPersistInfoEXT,
23475        future: *mut FutureEXT,
23476    ) -> Result;
23477    #[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)"]
23478    pub type PersistSpatialEntityCompleteEXT = unsafe extern "system" fn(
23479        persistence_context: SpatialPersistenceContextEXT,
23480        future: FutureEXT,
23481        completion: *mut PersistSpatialEntityCompletionEXT,
23482    ) -> Result;
23483    #[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)"]
23484    pub type UnpersistSpatialEntityAsyncEXT = unsafe extern "system" fn(
23485        persistence_context: SpatialPersistenceContextEXT,
23486        unpersist_info: *const SpatialEntityUnpersistInfoEXT,
23487        future: *mut FutureEXT,
23488    ) -> Result;
23489    #[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)"]
23490    pub type UnpersistSpatialEntityCompleteEXT = unsafe extern "system" fn(
23491        persistence_context: SpatialPersistenceContextEXT,
23492        future: FutureEXT,
23493        completion: *mut UnpersistSpatialEntityCompletionEXT,
23494    ) -> Result;
23495    #[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)"]
23496    pub type SetSystemNotificationsML = unsafe extern "system" fn(
23497        instance: Instance,
23498        info: *const SystemNotificationsSetInfoML,
23499    ) -> Result;
23500    #[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)"]
23501    pub type CreateSpatialAnchorsAsyncML = unsafe extern "system" fn(
23502        session: Session,
23503        create_info: *const SpatialAnchorsCreateInfoBaseHeaderML,
23504        future: *mut FutureEXT,
23505    ) -> Result;
23506    #[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)"]
23507    pub type CreateSpatialAnchorsCompleteML = unsafe extern "system" fn(
23508        session: Session,
23509        future: FutureEXT,
23510        completion: *mut CreateSpatialAnchorsCompletionML,
23511    ) -> Result;
23512    #[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)"]
23513    pub type GetSpatialAnchorStateML =
23514        unsafe extern "system" fn(anchor: Space, state: *mut SpatialAnchorStateML) -> Result;
23515    #[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)"]
23516    pub type CreateSpatialAnchorsStorageML = unsafe extern "system" fn(
23517        session: Session,
23518        create_info: *const SpatialAnchorsCreateStorageInfoML,
23519        storage: *mut SpatialAnchorsStorageML,
23520    ) -> Result;
23521    #[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)"]
23522    pub type DestroySpatialAnchorsStorageML =
23523        unsafe extern "system" fn(storage: SpatialAnchorsStorageML) -> Result;
23524    #[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)"]
23525    pub type QuerySpatialAnchorsAsyncML = unsafe extern "system" fn(
23526        storage: SpatialAnchorsStorageML,
23527        query_info: *const SpatialAnchorsQueryInfoBaseHeaderML,
23528        future: *mut FutureEXT,
23529    ) -> Result;
23530    #[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)"]
23531    pub type QuerySpatialAnchorsCompleteML = unsafe extern "system" fn(
23532        storage: SpatialAnchorsStorageML,
23533        future: FutureEXT,
23534        completion: *mut SpatialAnchorsQueryCompletionML,
23535    ) -> Result;
23536    #[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)"]
23537    pub type PublishSpatialAnchorsAsyncML = unsafe extern "system" fn(
23538        storage: SpatialAnchorsStorageML,
23539        publish_info: *const SpatialAnchorsPublishInfoML,
23540        future: *mut FutureEXT,
23541    ) -> Result;
23542    #[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)"]
23543    pub type PublishSpatialAnchorsCompleteML = unsafe extern "system" fn(
23544        storage: SpatialAnchorsStorageML,
23545        future: FutureEXT,
23546        completion: *mut SpatialAnchorsPublishCompletionML,
23547    ) -> Result;
23548    #[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)"]
23549    pub type DeleteSpatialAnchorsAsyncML = unsafe extern "system" fn(
23550        storage: SpatialAnchorsStorageML,
23551        delete_info: *const SpatialAnchorsDeleteInfoML,
23552        future: *mut FutureEXT,
23553    ) -> Result;
23554    #[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)"]
23555    pub type DeleteSpatialAnchorsCompleteML = unsafe extern "system" fn(
23556        storage: SpatialAnchorsStorageML,
23557        future: FutureEXT,
23558        completion: *mut SpatialAnchorsDeleteCompletionML,
23559    ) -> Result;
23560    #[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)"]
23561    pub type UpdateSpatialAnchorsExpirationAsyncML = unsafe extern "system" fn(
23562        storage: SpatialAnchorsStorageML,
23563        update_info: *const SpatialAnchorsUpdateExpirationInfoML,
23564        future: *mut FutureEXT,
23565    ) -> Result;
23566    #[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)"]
23567    pub type UpdateSpatialAnchorsExpirationCompleteML = unsafe extern "system" fn(
23568        storage: SpatialAnchorsStorageML,
23569        future: FutureEXT,
23570        completion: *mut SpatialAnchorsUpdateExpirationCompletionML,
23571    ) -> Result;
23572    #[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)"]
23573    pub type CreateWorldMeshDetectorML = unsafe extern "system" fn(
23574        session: Session,
23575        create_info: *const WorldMeshDetectorCreateInfoML,
23576        detector: *mut WorldMeshDetectorML,
23577    ) -> Result;
23578    #[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)"]
23579    pub type DestroyWorldMeshDetectorML =
23580        unsafe extern "system" fn(detector: WorldMeshDetectorML) -> Result;
23581    #[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)"]
23582    pub type RequestWorldMeshStateAsyncML = unsafe extern "system" fn(
23583        detector: WorldMeshDetectorML,
23584        state_request: *const WorldMeshStateRequestInfoML,
23585        future: *mut FutureEXT,
23586    ) -> Result;
23587    #[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)"]
23588    pub type RequestWorldMeshStateCompleteML = unsafe extern "system" fn(
23589        detector: WorldMeshDetectorML,
23590        future: FutureEXT,
23591        completion: *mut WorldMeshStateRequestCompletionML,
23592    ) -> Result;
23593    #[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)"]
23594    pub type GetWorldMeshBufferRecommendSizeML = unsafe extern "system" fn(
23595        detector: WorldMeshDetectorML,
23596        size_info: *const WorldMeshBufferRecommendedSizeInfoML,
23597        size: *mut WorldMeshBufferSizeML,
23598    ) -> Result;
23599    #[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)"]
23600    pub type AllocateWorldMeshBufferML = unsafe extern "system" fn(
23601        detector: WorldMeshDetectorML,
23602        size: *const WorldMeshBufferSizeML,
23603        buffer: *mut WorldMeshBufferML,
23604    ) -> Result;
23605    #[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)"]
23606    pub type FreeWorldMeshBufferML = unsafe extern "system" fn(
23607        detector: WorldMeshDetectorML,
23608        buffer: *const WorldMeshBufferML,
23609    ) -> Result;
23610    #[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)"]
23611    pub type RequestWorldMeshAsyncML = unsafe extern "system" fn(
23612        detector: WorldMeshDetectorML,
23613        get_info: *const WorldMeshGetInfoML,
23614        buffer: *mut WorldMeshBufferML,
23615        future: *mut FutureEXT,
23616    ) -> Result;
23617    #[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)"]
23618    pub type RequestWorldMeshCompleteML = unsafe extern "system" fn(
23619        detector: WorldMeshDetectorML,
23620        completion_info: *const WorldMeshRequestCompletionInfoML,
23621        future: FutureEXT,
23622        completion: *mut WorldMeshRequestCompletionML,
23623    ) -> Result;
23624    #[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)"]
23625    pub type CreateRenderModelEXT = unsafe extern "system" fn(
23626        session: Session,
23627        create_info: *const RenderModelCreateInfoEXT,
23628        render_model: *mut RenderModelEXT,
23629    ) -> Result;
23630    #[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)"]
23631    pub type DestroyRenderModelEXT =
23632        unsafe extern "system" fn(render_model: RenderModelEXT) -> Result;
23633    #[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)"]
23634    pub type GetRenderModelPropertiesEXT = unsafe extern "system" fn(
23635        render_model: RenderModelEXT,
23636        get_info: *const RenderModelPropertiesGetInfoEXT,
23637        properties: *mut RenderModelPropertiesEXT,
23638    ) -> Result;
23639    #[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)"]
23640    pub type CreateRenderModelSpaceEXT = unsafe extern "system" fn(
23641        session: Session,
23642        create_info: *const RenderModelSpaceCreateInfoEXT,
23643        space: *mut Space,
23644    ) -> Result;
23645    #[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)"]
23646    pub type CreateRenderModelAssetEXT = unsafe extern "system" fn(
23647        session: Session,
23648        create_info: *const RenderModelAssetCreateInfoEXT,
23649        asset: *mut RenderModelAssetEXT,
23650    ) -> Result;
23651    #[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)"]
23652    pub type DestroyRenderModelAssetEXT =
23653        unsafe extern "system" fn(asset: RenderModelAssetEXT) -> Result;
23654    #[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)"]
23655    pub type GetRenderModelAssetDataEXT = unsafe extern "system" fn(
23656        asset: RenderModelAssetEXT,
23657        get_info: *const RenderModelAssetDataGetInfoEXT,
23658        buffer: *mut RenderModelAssetDataEXT,
23659    ) -> Result;
23660    #[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)"]
23661    pub type GetRenderModelAssetPropertiesEXT = unsafe extern "system" fn(
23662        asset: RenderModelAssetEXT,
23663        get_info: *const RenderModelAssetPropertiesGetInfoEXT,
23664        properties: *mut RenderModelAssetPropertiesEXT,
23665    ) -> Result;
23666    #[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)"]
23667    pub type GetRenderModelStateEXT = unsafe extern "system" fn(
23668        render_model: RenderModelEXT,
23669        get_info: *const RenderModelStateGetInfoEXT,
23670        state: *mut RenderModelStateEXT,
23671    ) -> Result;
23672    #[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)"]
23673    pub type EnumerateInteractionRenderModelIdsEXT = unsafe extern "system" fn(
23674        session: Session,
23675        get_info: *const InteractionRenderModelIdsEnumerateInfoEXT,
23676        render_model_id_capacity_input: u32,
23677        render_model_id_count_output: *mut u32,
23678        render_model_ids: *mut RenderModelIdEXT,
23679    ) -> Result;
23680    #[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)"]
23681    pub type EnumerateRenderModelSubactionPathsEXT = unsafe extern "system" fn(
23682        render_model: RenderModelEXT,
23683        info: *const InteractionRenderModelSubactionPathInfoEXT,
23684        path_capacity_input: u32,
23685        path_count_output: *mut u32,
23686        paths: *mut Path,
23687    ) -> Result;
23688    #[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)"]
23689    pub type GetRenderModelPoseTopLevelUserPathEXT = unsafe extern "system" fn(
23690        render_model: RenderModelEXT,
23691        info: *const InteractionRenderModelTopLevelUserPathGetInfoEXT,
23692        top_level_user_path: *mut Path,
23693    ) -> Result;
23694    #[doc = "See [xrEnumerateSupportedAudioSampleRateBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSupportedAudioSampleRateBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23695    pub type EnumerateSupportedAudioSampleRateBD = unsafe extern "system" fn(
23696        session: Session,
23697        sample_rate_capacity_input: u32,
23698        sample_rate_count_output: *mut u32,
23699        sample_rates: *mut AudioSampleRateBD,
23700    ) -> Result;
23701    #[doc = "See [xrQueryFramesPerBufferRangeBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQueryFramesPerBufferRangeBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23702    pub type QueryFramesPerBufferRangeBD = unsafe extern "system" fn(
23703        session: Session,
23704        sample_rate: AudioSampleRateBD,
23705        min: *mut u32,
23706        max: *mut u32,
23707    ) -> Result;
23708    #[doc = "See [xrCreateSpatialAudioRendererBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAudioRendererBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23709    pub type CreateSpatialAudioRendererBD = unsafe extern "system" fn(
23710        session: Session,
23711        create_info: *const SpatialAudioRendererCreateInfoBD,
23712        renderer: *mut SpatialAudioRendererBD,
23713    ) -> Result;
23714    #[doc = "See [xrDestroySpatialAudioRendererBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpatialAudioRendererBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23715    pub type DestroySpatialAudioRendererBD =
23716        unsafe extern "system" fn(renderer: SpatialAudioRendererBD) -> Result;
23717    #[doc = "See [xrCreateSoundObstacleMaterialBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSoundObstacleMaterialBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23718    pub type CreateSoundObstacleMaterialBD = unsafe extern "system" fn(
23719        renderer: SpatialAudioRendererBD,
23720        config: *const SoundObstacleMaterialConfigBD,
23721        material: *mut SoundObstacleMaterialBD,
23722    ) -> Result;
23723    #[doc = "See [xrUpdateSoundObstacleMaterialConfigBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUpdateSoundObstacleMaterialConfigBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23724    pub type UpdateSoundObstacleMaterialConfigBD = unsafe extern "system" fn(
23725        material: SoundObstacleMaterialBD,
23726        config: *const SoundObstacleMaterialConfigBD,
23727    ) -> Result;
23728    #[doc = "See [xrDestroySoundObstacleMaterialBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySoundObstacleMaterialBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23729    pub type DestroySoundObstacleMaterialBD =
23730        unsafe extern "system" fn(material: SoundObstacleMaterialBD) -> Result;
23731    #[doc = "See [xrCreateSoundObstacleBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSoundObstacleBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23732    pub type CreateSoundObstacleBD = unsafe extern "system" fn(
23733        renderer: SpatialAudioRendererBD,
23734        config: *const SoundObstacleConfigBD,
23735        mesh: *const SoundTriangleMeshBD,
23736        sound_obstacle: *mut SoundObstacleBD,
23737    ) -> Result;
23738    #[doc = "See [xrUpdateSoundObstacleConfigBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUpdateSoundObstacleConfigBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23739    pub type UpdateSoundObstacleConfigBD = unsafe extern "system" fn(
23740        sound_obstacle: SoundObstacleBD,
23741        config: *const SoundObstacleConfigBD,
23742        mesh: *const SoundTriangleMeshBD,
23743        flags: SoundObstacleFlagsBD,
23744    ) -> Result;
23745    #[doc = "See [xrDestroySoundObstacleBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySoundObstacleBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23746    pub type DestroySoundObstacleBD =
23747        unsafe extern "system" fn(sound_obstacle: SoundObstacleBD) -> Result;
23748    #[doc = "See [xrCreateSoundObjectBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSoundObjectBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23749    pub type CreateSoundObjectBD = unsafe extern "system" fn(
23750        renderer: SpatialAudioRendererBD,
23751        config: *const SoundObjectConfigBD,
23752        sound_object: *mut SoundObjectBD,
23753    ) -> Result;
23754    #[doc = "See [xrUpdateSoundObjectConfigBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUpdateSoundObjectConfigBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23755    pub type UpdateSoundObjectConfigBD = unsafe extern "system" fn(
23756        sound_object: SoundObjectBD,
23757        config: *const SoundObjectConfigBD,
23758        flags: SoundObjectFlagsBD,
23759    ) -> Result;
23760    #[doc = "See [xrSubmitSoundObjectBufferBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSubmitSoundObjectBufferBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23761    pub type SubmitSoundObjectBufferBD = unsafe extern "system" fn(
23762        sound_object: SoundObjectBD,
23763        buffer: *const AudioBufferBD,
23764    ) -> Result;
23765    #[doc = "See [xrDestroySoundObjectBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySoundObjectBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23766    pub type DestroySoundObjectBD =
23767        unsafe extern "system" fn(sound_object: SoundObjectBD) -> Result;
23768    #[doc = "See [xrCreateSoundFieldBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSoundFieldBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23769    pub type CreateSoundFieldBD = unsafe extern "system" fn(
23770        renderer: SpatialAudioRendererBD,
23771        config: *const SoundFieldConfigBD,
23772        sound_field: *mut SoundFieldBD,
23773    ) -> Result;
23774    #[doc = "See [xrUpdateSoundFieldConfigBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUpdateSoundFieldConfigBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23775    pub type UpdateSoundFieldConfigBD = unsafe extern "system" fn(
23776        sound_field: SoundFieldBD,
23777        config: *const SoundFieldConfigBD,
23778        flags: SoundFieldFlagsBD,
23779    ) -> Result;
23780    #[doc = "See [xrSubmitSoundFieldBufferBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSubmitSoundFieldBufferBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23781    pub type SubmitSoundFieldBufferBD = unsafe extern "system" fn(
23782        sound_field: SoundFieldBD,
23783        buffer: *const AudioBufferBD,
23784    ) -> Result;
23785    #[doc = "See [xrDestroySoundFieldBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySoundFieldBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23786    pub type DestroySoundFieldBD = unsafe extern "system" fn(sound_field: SoundFieldBD) -> Result;
23787    #[doc = "See [xrWaitAudioPeriodBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrWaitAudioPeriodBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23788    pub type WaitAudioPeriodBD =
23789        unsafe extern "system" fn(renderer: SpatialAudioRendererBD, timeout: Duration) -> Result;
23790    #[doc = "See [xrEndAudioPeriodBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEndAudioPeriodBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23791    pub type EndAudioPeriodBD =
23792        unsafe extern "system" fn(renderer: SpatialAudioRendererBD) -> Result;
23793    #[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)"]
23794    pub type GetSpatialEntityUuidBD = unsafe extern "system" fn(
23795        snapshot: SenseDataSnapshotBD,
23796        entity_id: SpatialEntityIdBD,
23797        uuid: *mut UuidEXT,
23798    ) -> Result;
23799    #[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)"]
23800    pub type EnumerateSpatialEntityComponentTypesBD = unsafe extern "system" fn(
23801        snapshot: SenseDataSnapshotBD,
23802        entity_id: SpatialEntityIdBD,
23803        component_type_capacity_input: u32,
23804        component_type_count_output: *mut u32,
23805        component_types: *mut SpatialEntityComponentTypeBD,
23806    ) -> Result;
23807    #[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)"]
23808    pub type GetSpatialEntityComponentDataBD = unsafe extern "system" fn(
23809        snapshot: SenseDataSnapshotBD,
23810        get_info: *const SpatialEntityComponentGetInfoBD,
23811        component_data: *mut SpatialEntityComponentDataBaseHeaderBD,
23812    ) -> Result;
23813    #[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)"]
23814    pub type CreateSenseDataProviderBD = unsafe extern "system" fn(
23815        session: Session,
23816        create_info: *const SenseDataProviderCreateInfoBD,
23817        provider: *mut SenseDataProviderBD,
23818    ) -> Result;
23819    #[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)"]
23820    pub type StartSenseDataProviderAsyncBD = unsafe extern "system" fn(
23821        provider: SenseDataProviderBD,
23822        start_info: *const SenseDataProviderStartInfoBD,
23823        future: *mut FutureEXT,
23824    ) -> Result;
23825    #[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)"]
23826    pub type StartSenseDataProviderCompleteBD = unsafe extern "system" fn(
23827        session: Session,
23828        future: FutureEXT,
23829        completion: *mut FutureCompletionEXT,
23830    ) -> Result;
23831    #[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)"]
23832    pub type GetSenseDataProviderStateBD = unsafe extern "system" fn(
23833        provider: SenseDataProviderBD,
23834        state: *mut SenseDataProviderStateBD,
23835    ) -> Result;
23836    #[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)"]
23837    pub type QuerySenseDataAsyncBD = unsafe extern "system" fn(
23838        provider: SenseDataProviderBD,
23839        query_info: *const SenseDataQueryInfoBD,
23840        future: *mut FutureEXT,
23841    ) -> Result;
23842    #[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)"]
23843    pub type QuerySenseDataCompleteBD = unsafe extern "system" fn(
23844        provider: SenseDataProviderBD,
23845        future: FutureEXT,
23846        completion: *mut SenseDataQueryCompletionBD,
23847    ) -> Result;
23848    #[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)"]
23849    pub type DestroySenseDataSnapshotBD =
23850        unsafe extern "system" fn(snapshot: SenseDataSnapshotBD) -> Result;
23851    #[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)"]
23852    pub type GetQueriedSenseDataBD = unsafe extern "system" fn(
23853        snapshot: SenseDataSnapshotBD,
23854        get_info: *mut QueriedSenseDataGetInfoBD,
23855        queried_sense_data: *mut QueriedSenseDataBD,
23856    ) -> Result;
23857    #[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)"]
23858    pub type StopSenseDataProviderBD =
23859        unsafe extern "system" fn(provider: SenseDataProviderBD) -> Result;
23860    #[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)"]
23861    pub type DestroySenseDataProviderBD =
23862        unsafe extern "system" fn(provider: SenseDataProviderBD) -> Result;
23863    #[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)"]
23864    pub type CreateSpatialEntityAnchorBD = unsafe extern "system" fn(
23865        provider: SenseDataProviderBD,
23866        create_info: *const SpatialEntityAnchorCreateInfoBD,
23867        anchor: *mut AnchorBD,
23868    ) -> Result;
23869    #[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)"]
23870    pub type DestroyAnchorBD = unsafe extern "system" fn(anchor: AnchorBD) -> Result;
23871    #[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)"]
23872    pub type GetAnchorUuidBD =
23873        unsafe extern "system" fn(anchor: AnchorBD, uuid: *mut UuidEXT) -> Result;
23874    #[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)"]
23875    pub type CreateAnchorSpaceBD = unsafe extern "system" fn(
23876        session: Session,
23877        create_info: *const AnchorSpaceCreateInfoBD,
23878        space: *mut Space,
23879    ) -> Result;
23880    #[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)"]
23881    pub type CreateSpatialAnchorAsyncBD = unsafe extern "system" fn(
23882        provider: SenseDataProviderBD,
23883        info: *const SpatialAnchorCreateInfoBD,
23884        future: *mut FutureEXT,
23885    ) -> Result;
23886    #[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)"]
23887    pub type CreateSpatialAnchorCompleteBD = unsafe extern "system" fn(
23888        provider: SenseDataProviderBD,
23889        future: FutureEXT,
23890        completion: *mut SpatialAnchorCreateCompletionBD,
23891    ) -> Result;
23892    #[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)"]
23893    pub type PersistSpatialAnchorAsyncBD = unsafe extern "system" fn(
23894        provider: SenseDataProviderBD,
23895        info: *const SpatialAnchorPersistInfoBD,
23896        future: *mut FutureEXT,
23897    ) -> Result;
23898    #[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)"]
23899    pub type PersistSpatialAnchorCompleteBD = unsafe extern "system" fn(
23900        provider: SenseDataProviderBD,
23901        future: FutureEXT,
23902        completion: *mut FutureCompletionEXT,
23903    ) -> Result;
23904    #[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)"]
23905    pub type UnpersistSpatialAnchorAsyncBD = unsafe extern "system" fn(
23906        provider: SenseDataProviderBD,
23907        info: *const SpatialAnchorUnpersistInfoBD,
23908        future: *mut FutureEXT,
23909    ) -> Result;
23910    #[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)"]
23911    pub type UnpersistSpatialAnchorCompleteBD = unsafe extern "system" fn(
23912        provider: SenseDataProviderBD,
23913        future: FutureEXT,
23914        completion: *mut FutureCompletionEXT,
23915    ) -> Result;
23916    #[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)"]
23917    pub type ShareSpatialAnchorAsyncBD = unsafe extern "system" fn(
23918        provider: SenseDataProviderBD,
23919        info: *const SpatialAnchorShareInfoBD,
23920        future: *mut FutureEXT,
23921    ) -> Result;
23922    #[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)"]
23923    pub type ShareSpatialAnchorCompleteBD = unsafe extern "system" fn(
23924        provider: SenseDataProviderBD,
23925        future: FutureEXT,
23926        completion: *mut FutureCompletionEXT,
23927    ) -> Result;
23928    #[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)"]
23929    pub type DownloadSharedSpatialAnchorAsyncBD = unsafe extern "system" fn(
23930        provider: SenseDataProviderBD,
23931        info: *const SharedSpatialAnchorDownloadInfoBD,
23932        future: *mut FutureEXT,
23933    ) -> Result;
23934    #[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)"]
23935    pub type DownloadSharedSpatialAnchorCompleteBD = unsafe extern "system" fn(
23936        provider: SenseDataProviderBD,
23937        future: FutureEXT,
23938        completion: *mut FutureCompletionEXT,
23939    ) -> Result;
23940    #[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)"]
23941    pub type CaptureSceneAsyncBD = unsafe extern "system" fn(
23942        provider: SenseDataProviderBD,
23943        info: *const SceneCaptureInfoBD,
23944        future: *mut FutureEXT,
23945    ) -> Result;
23946    #[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)"]
23947    pub type CaptureSceneCompleteBD = unsafe extern "system" fn(
23948        provider: SenseDataProviderBD,
23949        future: FutureEXT,
23950        completion: *mut FutureCompletionEXT,
23951    ) -> Result;
23952    #[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)"]
23953    pub type ResumeSimultaneousHandsAndControllersTrackingMETA =
23954        unsafe extern "system" fn(
23955            session: Session,
23956            resume_info: *const SimultaneousHandsAndControllersTrackingResumeInfoMETA,
23957        ) -> Result;
23958    #[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)"]
23959    pub type PauseSimultaneousHandsAndControllersTrackingMETA = unsafe extern "system" fn(
23960        session: Session,
23961        pause_info: *const SimultaneousHandsAndControllersTrackingPauseInfoMETA,
23962    )
23963        -> Result;
23964    #[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)"]
23965    pub type EnumerateFacialSimulationModesBD = unsafe extern "system" fn(
23966        session: Session,
23967        mode_capacity_input: u32,
23968        mode_count_output: *mut u32,
23969        modes: *mut FacialSimulationModeBD,
23970    ) -> Result;
23971    #[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)"]
23972    pub type CreateFaceTrackerBD = unsafe extern "system" fn(
23973        session: Session,
23974        create_info: *const FaceTrackerCreateInfoBD,
23975        tracker: *mut FaceTrackerBD,
23976    ) -> Result;
23977    #[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)"]
23978    pub type DestroyFaceTrackerBD = unsafe extern "system" fn(tracker: FaceTrackerBD) -> Result;
23979    #[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)"]
23980    pub type GetFacialSimulationDataBD = unsafe extern "system" fn(
23981        tracker: FaceTrackerBD,
23982        info: *const FacialSimulationDataGetInfoBD,
23983        facial_data: *mut FacialSimulationDataBD,
23984    ) -> Result;
23985    #[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)"]
23986    pub type SetFacialSimulationModeBD =
23987        unsafe extern "system" fn(tracker: FaceTrackerBD, mode: FacialSimulationModeBD) -> Result;
23988    #[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)"]
23989    pub type GetFacialSimulationModeBD = unsafe extern "system" fn(
23990        tracker: FaceTrackerBD,
23991        mode: *mut FacialSimulationModeBD,
23992    ) -> Result;
23993    #[cfg(target_os = "android")]
23994    #[doc = "See [xrCreateTrackableImageDatabaseAsyncANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateTrackableImageDatabaseAsyncANDROID) - defined by [XR_ANDROID_trackables_image](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_image)"]
23995    pub type CreateTrackableImageDatabaseAsyncANDROID = unsafe extern "system" fn(
23996        session: Session,
23997        create_info: *const TrackableImageDatabaseCreateInfoANDROID,
23998        future: *mut FutureEXT,
23999    ) -> Result;
24000    #[cfg(target_os = "android")]
24001    #[doc = "See [xrCreateTrackableImageDatabaseCompleteANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateTrackableImageDatabaseCompleteANDROID) - defined by [XR_ANDROID_trackables_image](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_image)"]
24002    pub type CreateTrackableImageDatabaseCompleteANDROID = unsafe extern "system" fn(
24003        session: Session,
24004        future: FutureEXT,
24005        completion: *mut CreateTrackableImageDatabaseCompletionANDROID,
24006    ) -> Result;
24007    #[cfg(target_os = "android")]
24008    #[doc = "See [xrDestroyTrackableImageDatabaseANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyTrackableImageDatabaseANDROID) - defined by [XR_ANDROID_trackables_image](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_image)"]
24009    pub type DestroyTrackableImageDatabaseANDROID =
24010        unsafe extern "system" fn(database: TrackableImageDatabaseANDROID) -> Result;
24011    #[cfg(target_os = "android")]
24012    #[doc = "See [xrAddTrackableImageDatabaseANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrAddTrackableImageDatabaseANDROID) - defined by [XR_ANDROID_trackables_image](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_image)"]
24013    pub type AddTrackableImageDatabaseANDROID = unsafe extern "system" fn(
24014        tracker: TrackableTrackerANDROID,
24015        database: TrackableImageDatabaseANDROID,
24016    ) -> Result;
24017    #[cfg(target_os = "android")]
24018    #[doc = "See [xrRemoveTrackableImageDatabaseANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRemoveTrackableImageDatabaseANDROID) - defined by [XR_ANDROID_trackables_image](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_image)"]
24019    pub type RemoveTrackableImageDatabaseANDROID = unsafe extern "system" fn(
24020        tracker: TrackableTrackerANDROID,
24021        database: TrackableImageDatabaseANDROID,
24022    ) -> Result;
24023    #[cfg(target_os = "android")]
24024    #[doc = "See [xrGetTrackableImageANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetTrackableImageANDROID) - defined by [XR_ANDROID_trackables_image](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_image)"]
24025    pub type GetTrackableImageANDROID = unsafe extern "system" fn(
24026        tracker: TrackableTrackerANDROID,
24027        get_info: *const TrackableGetInfoANDROID,
24028        trackable: *mut TrackableImageANDROID,
24029    ) -> Result;
24030    #[cfg(target_os = "android")]
24031    #[doc = "See [xrEnumerateSpatialAnchorAttachableComponentsANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSpatialAnchorAttachableComponentsANDROID) - defined by [XR_ANDROID_spatial_entity_bound_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_entity_bound_anchor)"]
24032    pub type EnumerateSpatialAnchorAttachableComponentsANDROID =
24033        unsafe extern "system" fn(
24034            instance: Instance,
24035            system_id: SystemId,
24036            attachable_component_capacity_input: u32,
24037            attachable_component_count_output: *mut u32,
24038            attachable_components: *mut SpatialComponentTypeEXT,
24039        ) -> Result;
24040    #[cfg(target_os = "android")]
24041    #[doc = "See [xrCreateSpatialAnchorSpaceANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorSpaceANDROID) - defined by [XR_ANDROID_spatial_anchor_space](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_anchor_space)"]
24042    pub type CreateSpatialAnchorSpaceANDROID = unsafe extern "system" fn(
24043        session: Session,
24044        spatial_context: SpatialContextEXT,
24045        create_info: *const SpatialAnchorCreateInfoEXT,
24046        anchor_entity_id: *mut SpatialEntityIdEXT,
24047        anchor_space: *mut Space,
24048    ) -> Result;
24049    #[cfg(target_os = "android")]
24050    #[doc = "See [xrCreateSpatialAnchorSpaceFromIdANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorSpaceFromIdANDROID) - defined by [XR_ANDROID_spatial_anchor_space](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_anchor_space)"]
24051    pub type CreateSpatialAnchorSpaceFromIdANDROID = unsafe extern "system" fn(
24052        session: Session,
24053        spatial_context: SpatialContextEXT,
24054        create_info: *const SpatialAnchorSpaceFromIdCreateInfoANDROID,
24055        anchor_space: *mut Space,
24056    ) -> Result;
24057    #[doc = "See [xrSetTilePropertiesHintMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetTilePropertiesHintMETA) - defined by [XR_META_tile_properties_hint](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_tile_properties_hint)"]
24058    pub type SetTilePropertiesHintMETA = unsafe extern "system" fn(
24059        session: Session,
24060        properties: *const TilePropertiesHintMETA,
24061    ) -> Result;
24062    #[doc = "See [xrCreateEnvironmentRaycasterAsyncMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateEnvironmentRaycasterAsyncMETA) - defined by [XR_META_environment_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_raycast)"]
24063    pub type CreateEnvironmentRaycasterAsyncMETA = unsafe extern "system" fn(
24064        session: Session,
24065        info: *const EnvironmentRaycasterCreateInfoMETA,
24066        future: *mut FutureEXT,
24067    ) -> Result;
24068    #[doc = "See [xrCreateEnvironmentRaycasterCompleteMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateEnvironmentRaycasterCompleteMETA) - defined by [XR_META_environment_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_raycast)"]
24069    pub type CreateEnvironmentRaycasterCompleteMETA = unsafe extern "system" fn(
24070        session: Session,
24071        future: FutureEXT,
24072        completion: *mut EnvironmentRaycasterCreateCompletionMETA,
24073    ) -> Result;
24074    #[doc = "See [xrDestroyEnvironmentRaycasterMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyEnvironmentRaycasterMETA) - defined by [XR_META_environment_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_raycast)"]
24075    pub type DestroyEnvironmentRaycasterMETA =
24076        unsafe extern "system" fn(environment_raycaster: EnvironmentRaycasterMETA) -> Result;
24077    #[doc = "See [xrPerformEnvironmentRaycastMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPerformEnvironmentRaycastMETA) - defined by [XR_META_environment_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_raycast)"]
24078    pub type PerformEnvironmentRaycastMETA = unsafe extern "system" fn(
24079        environment_raycaster: EnvironmentRaycasterMETA,
24080        info: *const EnvironmentRaycastHitGetInfoMETA,
24081        hit_point: *mut EnvironmentRaycastHitMETA,
24082    ) -> Result;
24083    #[cfg(target_os = "android")]
24084    #[doc = "See [xrCreateSpatialRaycastSnapshotANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialRaycastSnapshotANDROID) - defined by [XR_ANDROID_spatial_discovery_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_discovery_raycast)"]
24085    pub type CreateSpatialRaycastSnapshotANDROID = unsafe extern "system" fn(
24086        spatial_context: SpatialContextEXT,
24087        create_info: *const SpatialRaycastSnapshotCreateInfoANDROID,
24088        snapshot: *mut SpatialSnapshotEXT,
24089    ) -> Result;
24090    #[doc = "See [xrGetHandGestureQCOM](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetHandGestureQCOM) - defined by [XR_QCOM_hand_tracking_gesture](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_QCOM_hand_tracking_gesture)"]
24091    pub type GetHandGestureQCOM = unsafe extern "system" fn(
24092        hand_tracker: HandTrackerEXT,
24093        time: Time,
24094        hand_gesture: *mut HandGestureQCOM,
24095    ) -> Result;
24096    #[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)"]
24097    pub type GetVulkanGraphicsRequirements2KHR = unsafe extern "system" fn(
24098        instance: Instance,
24099        system_id: SystemId,
24100        graphics_requirements: *mut GraphicsRequirementsVulkanKHR,
24101    ) -> Result;
24102    #[doc = "See [xrLocateSpacesKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLocateSpacesKHR)"]
24103    pub type LocateSpacesKHR = unsafe extern "system" fn(
24104        session: Session,
24105        locate_info: *const SpacesLocateInfo,
24106        space_locations: *mut SpaceLocations,
24107    ) -> Result;
24108}
24109pub const ALMALENCE_digital_lens_control_SPEC_VERSION: u32 = 1u32;
24110pub const ALMALENCE_DIGITAL_LENS_CONTROL_EXTENSION_NAME: &[u8] =
24111    b"XR_ALMALENCE_digital_lens_control\0";
24112#[cfg(target_os = "android")]
24113pub const ANDROID_trackables_SPEC_VERSION: u32 = 2u32;
24114#[cfg(target_os = "android")]
24115pub const ANDROID_TRACKABLES_EXTENSION_NAME: &[u8] = b"XR_ANDROID_trackables\0";
24116#[cfg(target_os = "android")]
24117pub const ANDROID_device_anchor_persistence_SPEC_VERSION: u32 = 1u32;
24118#[cfg(target_os = "android")]
24119pub const ANDROID_DEVICE_ANCHOR_PERSISTENCE_EXTENSION_NAME: &[u8] =
24120    b"XR_ANDROID_device_anchor_persistence\0";
24121#[cfg(target_os = "android")]
24122pub const ANDROID_face_tracking_SPEC_VERSION: u32 = 1u32;
24123#[cfg(target_os = "android")]
24124pub const ANDROID_FACE_TRACKING_EXTENSION_NAME: &[u8] = b"XR_ANDROID_face_tracking\0";
24125#[cfg(target_os = "android")]
24126pub const ANDROID_passthrough_camera_state_SPEC_VERSION: u32 = 1u32;
24127#[cfg(target_os = "android")]
24128pub const ANDROID_PASSTHROUGH_CAMERA_STATE_EXTENSION_NAME: &[u8] =
24129    b"XR_ANDROID_passthrough_camera_state\0";
24130#[cfg(target_os = "android")]
24131pub const ANDROID_composition_layer_passthrough_mesh_SPEC_VERSION: u32 = 1u32;
24132#[cfg(target_os = "android")]
24133pub const ANDROID_COMPOSITION_LAYER_PASSTHROUGH_MESH_EXTENSION_NAME: &[u8] =
24134    b"XR_ANDROID_composition_layer_passthrough_mesh\0";
24135#[cfg(target_os = "android")]
24136pub const ANDROID_raycast_SPEC_VERSION: u32 = 1u32;
24137#[cfg(target_os = "android")]
24138pub const ANDROID_RAYCAST_EXTENSION_NAME: &[u8] = b"XR_ANDROID_raycast\0";
24139#[cfg(target_os = "android")]
24140pub const ANDROID_performance_metrics_SPEC_VERSION: u32 = 1u32;
24141#[cfg(target_os = "android")]
24142pub const ANDROID_PERFORMANCE_METRICS_EXTENSION_NAME: &[u8] = b"XR_ANDROID_performance_metrics\0";
24143#[cfg(target_os = "android")]
24144pub const ANDROID_trackables_object_SPEC_VERSION: u32 = 2u32;
24145#[cfg(target_os = "android")]
24146pub const ANDROID_TRACKABLES_OBJECT_EXTENSION_NAME: &[u8] = b"XR_ANDROID_trackables_object\0";
24147#[cfg(target_os = "android")]
24148pub const ANDROID_unbounded_reference_space_SPEC_VERSION: u32 = 1u32;
24149#[cfg(target_os = "android")]
24150pub const ANDROID_UNBOUNDED_REFERENCE_SPACE_EXTENSION_NAME: &[u8] =
24151    b"XR_ANDROID_unbounded_reference_space\0";
24152#[cfg(target_os = "android")]
24153pub const ANDROID_anchor_sharing_export_SPEC_VERSION: u32 = 1u32;
24154#[cfg(target_os = "android")]
24155pub const ANDROID_ANCHOR_SHARING_EXPORT_EXTENSION_NAME: &[u8] =
24156    b"XR_ANDROID_anchor_sharing_export\0";
24157#[cfg(target_os = "android")]
24158pub const ANDROID_mouse_interaction_SPEC_VERSION: u32 = 1u32;
24159#[cfg(target_os = "android")]
24160pub const ANDROID_MOUSE_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_ANDROID_mouse_interaction\0";
24161#[cfg(target_os = "android")]
24162pub const ANDROID_trackables_marker_SPEC_VERSION: u32 = 1u32;
24163#[cfg(target_os = "android")]
24164pub const ANDROID_TRACKABLES_MARKER_EXTENSION_NAME: &[u8] = b"XR_ANDROID_trackables_marker\0";
24165#[cfg(target_os = "android")]
24166pub const ANDROID_trackables_qr_code_SPEC_VERSION: u32 = 1u32;
24167#[cfg(target_os = "android")]
24168pub const ANDROID_TRACKABLES_QR_CODE_EXTENSION_NAME: &[u8] = b"XR_ANDROID_trackables_qr_code\0";
24169#[cfg(target_os = "android")]
24170pub const ANDROID_trackables_image_SPEC_VERSION: u32 = 1u32;
24171#[cfg(target_os = "android")]
24172pub const ANDROID_TRACKABLES_IMAGE_EXTENSION_NAME: &[u8] = b"XR_ANDROID_trackables_image\0";
24173#[cfg(target_os = "android")]
24174pub const ANDROID_scene_meshing_SPEC_VERSION: u32 = 3u32;
24175#[cfg(target_os = "android")]
24176pub const ANDROID_SCENE_MESHING_EXTENSION_NAME: &[u8] = b"XR_ANDROID_scene_meshing\0";
24177#[cfg(target_os = "android")]
24178pub const ANDROID_spatial_object_tracking_SPEC_VERSION: u32 = 2u32;
24179#[cfg(target_os = "android")]
24180pub const ANDROID_SPATIAL_OBJECT_TRACKING_EXTENSION_NAME: &[u8] =
24181    b"XR_ANDROID_spatial_object_tracking\0";
24182#[cfg(target_os = "android")]
24183pub const ANDROID_spatial_discovery_raycast_SPEC_VERSION: u32 = 1u32;
24184#[cfg(target_os = "android")]
24185pub const ANDROID_SPATIAL_DISCOVERY_RAYCAST_EXTENSION_NAME: &[u8] =
24186    b"XR_ANDROID_spatial_discovery_raycast\0";
24187#[cfg(target_os = "android")]
24188pub const ANDROID_spatial_entity_bound_anchor_SPEC_VERSION: u32 = 2u32;
24189#[cfg(target_os = "android")]
24190pub const ANDROID_SPATIAL_ENTITY_BOUND_ANCHOR_EXTENSION_NAME: &[u8] =
24191    b"XR_ANDROID_spatial_entity_bound_anchor\0";
24192#[cfg(target_os = "android")]
24193pub const ANDROID_spatial_component_subsumed_by_SPEC_VERSION: u32 = 1u32;
24194#[cfg(target_os = "android")]
24195pub const ANDROID_SPATIAL_COMPONENT_SUBSUMED_BY_EXTENSION_NAME: &[u8] =
24196    b"XR_ANDROID_spatial_component_subsumed_by\0";
24197#[cfg(target_os = "android")]
24198pub const ANDROID_spatial_anchor_space_SPEC_VERSION: u32 = 1u32;
24199#[cfg(target_os = "android")]
24200pub const ANDROID_SPATIAL_ANCHOR_SPACE_EXTENSION_NAME: &[u8] = b"XR_ANDROID_spatial_anchor_space\0";
24201pub const BD_controller_interaction_SPEC_VERSION: u32 = 2u32;
24202pub const BD_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_BD_controller_interaction\0";
24203pub const BD_body_tracking_SPEC_VERSION: u32 = 1u32;
24204pub const BD_BODY_TRACKING_EXTENSION_NAME: &[u8] = b"XR_BD_body_tracking\0";
24205pub const BD_facial_simulation_SPEC_VERSION: u32 = 1u32;
24206pub const BD_FACIAL_SIMULATION_EXTENSION_NAME: &[u8] = b"XR_BD_facial_simulation\0";
24207pub const BD_spatial_sensing_SPEC_VERSION: u32 = 1u32;
24208pub const BD_SPATIAL_SENSING_EXTENSION_NAME: &[u8] = b"XR_BD_spatial_sensing\0";
24209pub const BD_spatial_anchor_SPEC_VERSION: u32 = 2u32;
24210pub const BD_SPATIAL_ANCHOR_EXTENSION_NAME: &[u8] = b"XR_BD_spatial_anchor\0";
24211pub const BD_spatial_anchor_sharing_SPEC_VERSION: u32 = 2u32;
24212pub const BD_SPATIAL_ANCHOR_SHARING_EXTENSION_NAME: &[u8] = b"XR_BD_spatial_anchor_sharing\0";
24213pub const BD_spatial_scene_SPEC_VERSION: u32 = 1u32;
24214pub const BD_SPATIAL_SCENE_EXTENSION_NAME: &[u8] = b"XR_BD_spatial_scene\0";
24215pub const BD_spatial_mesh_SPEC_VERSION: u32 = 1u32;
24216pub const BD_SPATIAL_MESH_EXTENSION_NAME: &[u8] = b"XR_BD_spatial_mesh\0";
24217pub const BD_future_progress_SPEC_VERSION: u32 = 1u32;
24218pub const BD_FUTURE_PROGRESS_EXTENSION_NAME: &[u8] = b"XR_BD_future_progress\0";
24219pub const BD_spatial_plane_SPEC_VERSION: u32 = 1u32;
24220pub const BD_SPATIAL_PLANE_EXTENSION_NAME: &[u8] = b"XR_BD_spatial_plane\0";
24221pub const BD_ultra_controller_interaction_SPEC_VERSION: u32 = 1u32;
24222pub const BD_ULTRA_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] =
24223    b"XR_BD_ultra_controller_interaction\0";
24224pub const BD_spatial_audio_rendering_SPEC_VERSION: u32 = 1u32;
24225pub const BD_SPATIAL_AUDIO_RENDERING_EXTENSION_NAME: &[u8] = b"XR_BD_spatial_audio_rendering\0";
24226pub const EPIC_view_configuration_fov_SPEC_VERSION: u32 = 2u32;
24227pub const EPIC_VIEW_CONFIGURATION_FOV_EXTENSION_NAME: &[u8] = b"XR_EPIC_view_configuration_fov\0";
24228pub const EXT_performance_settings_SPEC_VERSION: u32 = 4u32;
24229pub const EXT_PERFORMANCE_SETTINGS_EXTENSION_NAME: &[u8] = b"XR_EXT_performance_settings\0";
24230pub const EXT_thermal_query_SPEC_VERSION: u32 = 2u32;
24231pub const EXT_THERMAL_QUERY_EXTENSION_NAME: &[u8] = b"XR_EXT_thermal_query\0";
24232pub const EXT_debug_utils_SPEC_VERSION: u32 = 5u32;
24233pub const EXT_DEBUG_UTILS_EXTENSION_NAME: &[u8] = b"XR_EXT_debug_utils\0";
24234pub const EXT_eye_gaze_interaction_SPEC_VERSION: u32 = 2u32;
24235pub const EXT_EYE_GAZE_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_EXT_eye_gaze_interaction\0";
24236pub const EXT_view_configuration_depth_range_SPEC_VERSION: u32 = 1u32;
24237pub const EXT_VIEW_CONFIGURATION_DEPTH_RANGE_EXTENSION_NAME: &[u8] =
24238    b"XR_EXT_view_configuration_depth_range\0";
24239pub const EXT_conformance_automation_SPEC_VERSION: u32 = 3u32;
24240pub const EXT_CONFORMANCE_AUTOMATION_EXTENSION_NAME: &[u8] = b"XR_EXT_conformance_automation\0";
24241pub const EXT_hand_tracking_SPEC_VERSION: u32 = 4u32;
24242pub const EXT_HAND_TRACKING_EXTENSION_NAME: &[u8] = b"XR_EXT_hand_tracking\0";
24243#[cfg(windows)]
24244pub const EXT_win32_appcontainer_compatible_SPEC_VERSION: u32 = 1u32;
24245#[cfg(windows)]
24246pub const EXT_WIN32_APPCONTAINER_COMPATIBLE_EXTENSION_NAME: &[u8] =
24247    b"XR_EXT_win32_appcontainer_compatible\0";
24248pub const EXT_dpad_binding_SPEC_VERSION: u32 = 1u32;
24249pub const EXT_DPAD_BINDING_EXTENSION_NAME: &[u8] = b"XR_EXT_dpad_binding\0";
24250pub const EXT_hand_joints_motion_range_SPEC_VERSION: u32 = 1u32;
24251pub const EXT_HAND_JOINTS_MOTION_RANGE_EXTENSION_NAME: &[u8] = b"XR_EXT_hand_joints_motion_range\0";
24252pub const EXT_samsung_odyssey_controller_SPEC_VERSION: u32 = 1u32;
24253pub const EXT_SAMSUNG_ODYSSEY_CONTROLLER_EXTENSION_NAME: &[u8] =
24254    b"XR_EXT_samsung_odyssey_controller\0";
24255pub const EXT_hp_mixed_reality_controller_SPEC_VERSION: u32 = 1u32;
24256pub const EXT_HP_MIXED_REALITY_CONTROLLER_EXTENSION_NAME: &[u8] =
24257    b"XR_EXT_hp_mixed_reality_controller\0";
24258pub const EXT_palm_pose_SPEC_VERSION: u32 = 3u32;
24259pub const EXT_PALM_POSE_EXTENSION_NAME: &[u8] = b"XR_EXT_palm_pose\0";
24260pub const EXT_frame_synthesis_SPEC_VERSION: u32 = 1u32;
24261pub const EXT_FRAME_SYNTHESIS_EXTENSION_NAME: &[u8] = b"XR_EXT_frame_synthesis\0";
24262pub const EXT_uuid_SPEC_VERSION: u32 = 1u32;
24263pub const EXT_UUID_EXTENSION_NAME: &[u8] = b"XR_EXT_uuid\0";
24264pub const EXT_render_model_SPEC_VERSION: u32 = 1u32;
24265pub const EXT_RENDER_MODEL_EXTENSION_NAME: &[u8] = b"XR_EXT_render_model\0";
24266pub const EXT_interaction_render_model_SPEC_VERSION: u32 = 1u32;
24267pub const EXT_INTERACTION_RENDER_MODEL_EXTENSION_NAME: &[u8] = b"XR_EXT_interaction_render_model\0";
24268pub const EXT_hand_interaction_SPEC_VERSION: u32 = 2u32;
24269pub const EXT_HAND_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_EXT_hand_interaction\0";
24270pub const EXT_active_action_set_priority_SPEC_VERSION: u32 = 1u32;
24271pub const EXT_ACTIVE_ACTION_SET_PRIORITY_EXTENSION_NAME: &[u8] =
24272    b"XR_EXT_active_action_set_priority\0";
24273pub const EXT_local_floor_SPEC_VERSION: u32 = 1u32;
24274pub const EXT_LOCAL_FLOOR_EXTENSION_NAME: &[u8] = b"XR_EXT_local_floor\0";
24275pub const EXT_hand_tracking_data_source_SPEC_VERSION: u32 = 1u32;
24276pub const EXT_HAND_TRACKING_DATA_SOURCE_EXTENSION_NAME: &[u8] =
24277    b"XR_EXT_hand_tracking_data_source\0";
24278pub const EXT_plane_detection_SPEC_VERSION: u32 = 2u32;
24279pub const EXT_PLANE_DETECTION_EXTENSION_NAME: &[u8] = b"XR_EXT_plane_detection\0";
24280pub const EXT_future_SPEC_VERSION: u32 = 2u32;
24281pub const EXT_FUTURE_EXTENSION_NAME: &[u8] = b"XR_EXT_future\0";
24282pub const EXT_user_presence_SPEC_VERSION: u32 = 1u32;
24283pub const EXT_USER_PRESENCE_EXTENSION_NAME: &[u8] = b"XR_EXT_user_presence\0";
24284pub const EXT_composition_layer_inverted_alpha_SPEC_VERSION: u32 = 1u32;
24285pub const EXT_COMPOSITION_LAYER_INVERTED_ALPHA_EXTENSION_NAME: &[u8] =
24286    b"XR_EXT_composition_layer_inverted_alpha\0";
24287pub const EXT_spatial_entity_SPEC_VERSION: u32 = 1u32;
24288pub const EXT_SPATIAL_ENTITY_EXTENSION_NAME: &[u8] = b"XR_EXT_spatial_entity\0";
24289pub const EXT_spatial_plane_tracking_SPEC_VERSION: u32 = 1u32;
24290pub const EXT_SPATIAL_PLANE_TRACKING_EXTENSION_NAME: &[u8] = b"XR_EXT_spatial_plane_tracking\0";
24291pub const EXT_spatial_marker_tracking_SPEC_VERSION: u32 = 1u32;
24292pub const EXT_SPATIAL_MARKER_TRACKING_EXTENSION_NAME: &[u8] = b"XR_EXT_spatial_marker_tracking\0";
24293pub const EXT_spatial_anchor_SPEC_VERSION: u32 = 1u32;
24294pub const EXT_SPATIAL_ANCHOR_EXTENSION_NAME: &[u8] = b"XR_EXT_spatial_anchor\0";
24295pub const EXT_spatial_persistence_SPEC_VERSION: u32 = 1u32;
24296pub const EXT_SPATIAL_PERSISTENCE_EXTENSION_NAME: &[u8] = b"XR_EXT_spatial_persistence\0";
24297pub const EXT_spatial_persistence_operations_SPEC_VERSION: u32 = 1u32;
24298pub const EXT_SPATIAL_PERSISTENCE_OPERATIONS_EXTENSION_NAME: &[u8] =
24299    b"XR_EXT_spatial_persistence_operations\0";
24300pub const EXT_interaction_profile_battery_state_display_SPEC_VERSION: u32 = 1u32;
24301pub const EXT_INTERACTION_PROFILE_BATTERY_STATE_DISPLAY_EXTENSION_NAME: &[u8] =
24302    b"XR_EXT_interaction_profile_battery_state_display\0";
24303pub const EXT_loader_init_properties_SPEC_VERSION: u32 = 1u32;
24304pub const EXT_LOADER_INIT_PROPERTIES_EXTENSION_NAME: &[u8] = b"XR_EXT_loader_init_properties\0";
24305pub const EXT_view_configuration_views_change_SPEC_VERSION: u32 = 1u32;
24306pub const EXT_VIEW_CONFIGURATION_VIEWS_CHANGE_EXTENSION_NAME: &[u8] =
24307    b"XR_EXT_view_configuration_views_change\0";
24308pub const FB_composition_layer_image_layout_SPEC_VERSION: u32 = 1u32;
24309pub const FB_COMPOSITION_LAYER_IMAGE_LAYOUT_EXTENSION_NAME: &[u8] =
24310    b"XR_FB_composition_layer_image_layout\0";
24311pub const FB_composition_layer_alpha_blend_SPEC_VERSION: u32 = 3u32;
24312pub const FB_COMPOSITION_LAYER_ALPHA_BLEND_EXTENSION_NAME: &[u8] =
24313    b"XR_FB_composition_layer_alpha_blend\0";
24314#[cfg(target_os = "android")]
24315pub const FB_android_surface_swapchain_create_SPEC_VERSION: u32 = 1u32;
24316#[cfg(target_os = "android")]
24317pub const FB_ANDROID_SURFACE_SWAPCHAIN_CREATE_EXTENSION_NAME: &[u8] =
24318    b"XR_FB_android_surface_swapchain_create\0";
24319pub const FB_swapchain_update_state_SPEC_VERSION: u32 = 3u32;
24320pub const FB_SWAPCHAIN_UPDATE_STATE_EXTENSION_NAME: &[u8] = b"XR_FB_swapchain_update_state\0";
24321pub const FB_composition_layer_secure_content_SPEC_VERSION: u32 = 1u32;
24322pub const FB_COMPOSITION_LAYER_SECURE_CONTENT_EXTENSION_NAME: &[u8] =
24323    b"XR_FB_composition_layer_secure_content\0";
24324pub const FB_body_tracking_SPEC_VERSION: u32 = 1u32;
24325pub const FB_BODY_TRACKING_EXTENSION_NAME: &[u8] = b"XR_FB_body_tracking\0";
24326pub const FB_display_refresh_rate_SPEC_VERSION: u32 = 1u32;
24327pub const FB_DISPLAY_REFRESH_RATE_EXTENSION_NAME: &[u8] = b"XR_FB_display_refresh_rate\0";
24328pub const FB_color_space_SPEC_VERSION: u32 = 3u32;
24329pub const FB_COLOR_SPACE_EXTENSION_NAME: &[u8] = b"XR_FB_color_space\0";
24330pub const FB_hand_tracking_mesh_SPEC_VERSION: u32 = 3u32;
24331pub const FB_HAND_TRACKING_MESH_EXTENSION_NAME: &[u8] = b"XR_FB_hand_tracking_mesh\0";
24332pub const FB_hand_tracking_aim_SPEC_VERSION: u32 = 2u32;
24333pub const FB_HAND_TRACKING_AIM_EXTENSION_NAME: &[u8] = b"XR_FB_hand_tracking_aim\0";
24334pub const FB_hand_tracking_capsules_SPEC_VERSION: u32 = 3u32;
24335pub const FB_HAND_TRACKING_CAPSULES_EXTENSION_NAME: &[u8] = b"XR_FB_hand_tracking_capsules\0";
24336pub const FB_spatial_entity_SPEC_VERSION: u32 = 3u32;
24337pub const FB_SPATIAL_ENTITY_EXTENSION_NAME: &[u8] = b"XR_FB_spatial_entity\0";
24338pub const FB_foveation_SPEC_VERSION: u32 = 1u32;
24339pub const FB_FOVEATION_EXTENSION_NAME: &[u8] = b"XR_FB_foveation\0";
24340pub const FB_foveation_configuration_SPEC_VERSION: u32 = 1u32;
24341pub const FB_FOVEATION_CONFIGURATION_EXTENSION_NAME: &[u8] = b"XR_FB_foveation_configuration\0";
24342pub const FB_keyboard_tracking_SPEC_VERSION: u32 = 1u32;
24343pub const FB_KEYBOARD_TRACKING_EXTENSION_NAME: &[u8] = b"XR_FB_keyboard_tracking\0";
24344pub const FB_triangle_mesh_SPEC_VERSION: u32 = 2u32;
24345pub const FB_TRIANGLE_MESH_EXTENSION_NAME: &[u8] = b"XR_FB_triangle_mesh\0";
24346pub const FB_passthrough_SPEC_VERSION: u32 = 4u32;
24347pub const FB_PASSTHROUGH_EXTENSION_NAME: &[u8] = b"XR_FB_passthrough\0";
24348pub const FB_render_model_SPEC_VERSION: u32 = 4u32;
24349pub const FB_RENDER_MODEL_EXTENSION_NAME: &[u8] = b"XR_FB_render_model\0";
24350pub const FB_spatial_entity_query_SPEC_VERSION: u32 = 1u32;
24351pub const FB_SPATIAL_ENTITY_QUERY_EXTENSION_NAME: &[u8] = b"XR_FB_spatial_entity_query\0";
24352pub const FB_spatial_entity_storage_SPEC_VERSION: u32 = 1u32;
24353pub const FB_SPATIAL_ENTITY_STORAGE_EXTENSION_NAME: &[u8] = b"XR_FB_spatial_entity_storage\0";
24354pub const FB_foveation_vulkan_SPEC_VERSION: u32 = 1u32;
24355pub const FB_FOVEATION_VULKAN_EXTENSION_NAME: &[u8] = b"XR_FB_foveation_vulkan\0";
24356#[cfg(target_os = "android")]
24357pub const FB_swapchain_update_state_android_surface_SPEC_VERSION: u32 = 1u32;
24358#[cfg(target_os = "android")]
24359pub const FB_SWAPCHAIN_UPDATE_STATE_ANDROID_SURFACE_EXTENSION_NAME: &[u8] =
24360    b"XR_FB_swapchain_update_state_android_surface\0";
24361pub const FB_swapchain_update_state_opengl_es_SPEC_VERSION: u32 = 1u32;
24362pub const FB_SWAPCHAIN_UPDATE_STATE_OPENGL_ES_EXTENSION_NAME: &[u8] =
24363    b"XR_FB_swapchain_update_state_opengl_es\0";
24364pub const FB_swapchain_update_state_vulkan_SPEC_VERSION: u32 = 1u32;
24365pub const FB_SWAPCHAIN_UPDATE_STATE_VULKAN_EXTENSION_NAME: &[u8] =
24366    b"XR_FB_swapchain_update_state_vulkan\0";
24367pub const FB_touch_controller_pro_SPEC_VERSION: u32 = 1u32;
24368pub const FB_TOUCH_CONTROLLER_PRO_EXTENSION_NAME: &[u8] = b"XR_FB_touch_controller_pro\0";
24369pub const FB_spatial_entity_sharing_SPEC_VERSION: u32 = 1u32;
24370pub const FB_SPATIAL_ENTITY_SHARING_EXTENSION_NAME: &[u8] = b"XR_FB_spatial_entity_sharing\0";
24371pub const FB_space_warp_SPEC_VERSION: u32 = 2u32;
24372pub const FB_SPACE_WARP_EXTENSION_NAME: &[u8] = b"XR_FB_space_warp\0";
24373pub const FB_haptic_amplitude_envelope_SPEC_VERSION: u32 = 1u32;
24374pub const FB_HAPTIC_AMPLITUDE_ENVELOPE_EXTENSION_NAME: &[u8] = b"XR_FB_haptic_amplitude_envelope\0";
24375pub const FB_scene_SPEC_VERSION: u32 = 4u32;
24376pub const FB_SCENE_EXTENSION_NAME: &[u8] = b"XR_FB_scene\0";
24377pub const FB_scene_capture_SPEC_VERSION: u32 = 1u32;
24378pub const FB_SCENE_CAPTURE_EXTENSION_NAME: &[u8] = b"XR_FB_scene_capture\0";
24379pub const FB_spatial_entity_container_SPEC_VERSION: u32 = 2u32;
24380pub const FB_SPATIAL_ENTITY_CONTAINER_EXTENSION_NAME: &[u8] = b"XR_FB_spatial_entity_container\0";
24381pub const FB_face_tracking_SPEC_VERSION: u32 = 1u32;
24382pub const FB_FACE_TRACKING_EXTENSION_NAME: &[u8] = b"XR_FB_face_tracking\0";
24383pub const FB_eye_tracking_social_SPEC_VERSION: u32 = 1u32;
24384pub const FB_EYE_TRACKING_SOCIAL_EXTENSION_NAME: &[u8] = b"XR_FB_eye_tracking_social\0";
24385pub const FB_passthrough_keyboard_hands_SPEC_VERSION: u32 = 2u32;
24386pub const FB_PASSTHROUGH_KEYBOARD_HANDS_EXTENSION_NAME: &[u8] =
24387    b"XR_FB_passthrough_keyboard_hands\0";
24388pub const FB_composition_layer_settings_SPEC_VERSION: u32 = 1u32;
24389pub const FB_COMPOSITION_LAYER_SETTINGS_EXTENSION_NAME: &[u8] =
24390    b"XR_FB_composition_layer_settings\0";
24391pub const FB_touch_controller_proximity_SPEC_VERSION: u32 = 1u32;
24392pub const FB_TOUCH_CONTROLLER_PROXIMITY_EXTENSION_NAME: &[u8] =
24393    b"XR_FB_touch_controller_proximity\0";
24394pub const FB_haptic_pcm_SPEC_VERSION: u32 = 1u32;
24395pub const FB_HAPTIC_PCM_EXTENSION_NAME: &[u8] = b"XR_FB_haptic_pcm\0";
24396pub const FB_composition_layer_depth_test_SPEC_VERSION: u32 = 1u32;
24397pub const FB_COMPOSITION_LAYER_DEPTH_TEST_EXTENSION_NAME: &[u8] =
24398    b"XR_FB_composition_layer_depth_test\0";
24399pub const FB_spatial_entity_storage_batch_SPEC_VERSION: u32 = 1u32;
24400pub const FB_SPATIAL_ENTITY_STORAGE_BATCH_EXTENSION_NAME: &[u8] =
24401    b"XR_FB_spatial_entity_storage_batch\0";
24402pub const FB_spatial_entity_user_SPEC_VERSION: u32 = 1u32;
24403pub const FB_SPATIAL_ENTITY_USER_EXTENSION_NAME: &[u8] = b"XR_FB_spatial_entity_user\0";
24404pub const FB_face_tracking2_SPEC_VERSION: u32 = 1u32;
24405pub const FB_FACE_TRACKING2_EXTENSION_NAME: &[u8] = b"XR_FB_face_tracking2\0";
24406pub const HTC_vive_cosmos_controller_interaction_SPEC_VERSION: u32 = 1u32;
24407pub const HTC_VIVE_COSMOS_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] =
24408    b"XR_HTC_vive_cosmos_controller_interaction\0";
24409pub const HTC_facial_tracking_SPEC_VERSION: u32 = 3u32;
24410pub const HTC_FACIAL_TRACKING_EXTENSION_NAME: &[u8] = b"XR_HTC_facial_tracking\0";
24411pub const HTC_vive_focus3_controller_interaction_SPEC_VERSION: u32 = 2u32;
24412pub const HTC_VIVE_FOCUS3_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] =
24413    b"XR_HTC_vive_focus3_controller_interaction\0";
24414pub const HTC_hand_interaction_SPEC_VERSION: u32 = 1u32;
24415pub const HTC_HAND_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_HTC_hand_interaction\0";
24416pub const HTC_vive_wrist_tracker_interaction_SPEC_VERSION: u32 = 1u32;
24417pub const HTC_VIVE_WRIST_TRACKER_INTERACTION_EXTENSION_NAME: &[u8] =
24418    b"XR_HTC_vive_wrist_tracker_interaction\0";
24419pub const HTC_passthrough_SPEC_VERSION: u32 = 1u32;
24420pub const HTC_PASSTHROUGH_EXTENSION_NAME: &[u8] = b"XR_HTC_passthrough\0";
24421pub const HTC_foveation_SPEC_VERSION: u32 = 1u32;
24422pub const HTC_FOVEATION_EXTENSION_NAME: &[u8] = b"XR_HTC_foveation\0";
24423pub const HTC_anchor_SPEC_VERSION: u32 = 1u32;
24424pub const HTC_ANCHOR_EXTENSION_NAME: &[u8] = b"XR_HTC_anchor\0";
24425pub const HTC_body_tracking_SPEC_VERSION: u32 = 1u32;
24426pub const HTC_BODY_TRACKING_EXTENSION_NAME: &[u8] = b"XR_HTC_body_tracking\0";
24427pub const HUAWEI_controller_interaction_SPEC_VERSION: u32 = 1u32;
24428pub const HUAWEI_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] =
24429    b"XR_HUAWEI_controller_interaction\0";
24430#[cfg(target_os = "android")]
24431pub const KHR_android_thread_settings_SPEC_VERSION: u32 = 6u32;
24432#[cfg(target_os = "android")]
24433pub const KHR_ANDROID_THREAD_SETTINGS_EXTENSION_NAME: &[u8] = b"XR_KHR_android_thread_settings\0";
24434#[cfg(target_os = "android")]
24435pub const KHR_android_surface_swapchain_SPEC_VERSION: u32 = 4u32;
24436#[cfg(target_os = "android")]
24437pub const KHR_ANDROID_SURFACE_SWAPCHAIN_EXTENSION_NAME: &[u8] =
24438    b"XR_KHR_android_surface_swapchain\0";
24439pub const KHR_composition_layer_cube_SPEC_VERSION: u32 = 8u32;
24440pub const KHR_COMPOSITION_LAYER_CUBE_EXTENSION_NAME: &[u8] = b"XR_KHR_composition_layer_cube\0";
24441#[cfg(target_os = "android")]
24442pub const KHR_android_create_instance_SPEC_VERSION: u32 = 3u32;
24443#[cfg(target_os = "android")]
24444pub const KHR_ANDROID_CREATE_INSTANCE_EXTENSION_NAME: &[u8] = b"XR_KHR_android_create_instance\0";
24445pub const KHR_composition_layer_depth_SPEC_VERSION: u32 = 6u32;
24446pub const KHR_COMPOSITION_LAYER_DEPTH_EXTENSION_NAME: &[u8] = b"XR_KHR_composition_layer_depth\0";
24447pub const KHR_vulkan_swapchain_format_list_SPEC_VERSION: u32 = 5u32;
24448pub const KHR_VULKAN_SWAPCHAIN_FORMAT_LIST_EXTENSION_NAME: &[u8] =
24449    b"XR_KHR_vulkan_swapchain_format_list\0";
24450pub const KHR_composition_layer_cylinder_SPEC_VERSION: u32 = 4u32;
24451pub const KHR_COMPOSITION_LAYER_CYLINDER_EXTENSION_NAME: &[u8] =
24452    b"XR_KHR_composition_layer_cylinder\0";
24453pub const KHR_composition_layer_equirect_SPEC_VERSION: u32 = 3u32;
24454pub const KHR_COMPOSITION_LAYER_EQUIRECT_EXTENSION_NAME: &[u8] =
24455    b"XR_KHR_composition_layer_equirect\0";
24456pub const KHR_opengl_enable_SPEC_VERSION: u32 = 12u32;
24457pub const KHR_OPENGL_ENABLE_EXTENSION_NAME: &[u8] = b"XR_KHR_opengl_enable\0";
24458pub const KHR_opengl_es_enable_SPEC_VERSION: u32 = 10u32;
24459pub const KHR_OPENGL_ES_ENABLE_EXTENSION_NAME: &[u8] = b"XR_KHR_opengl_es_enable\0";
24460pub const KHR_vulkan_enable_SPEC_VERSION: u32 = 10u32;
24461pub const KHR_VULKAN_ENABLE_EXTENSION_NAME: &[u8] = b"XR_KHR_vulkan_enable\0";
24462#[cfg(windows)]
24463pub const KHR_D3D11_enable_SPEC_VERSION: u32 = 11u32;
24464#[cfg(windows)]
24465pub const KHR_D3D11_ENABLE_EXTENSION_NAME: &[u8] = b"XR_KHR_D3D11_enable\0";
24466#[cfg(windows)]
24467pub const KHR_D3D12_enable_SPEC_VERSION: u32 = 11u32;
24468#[cfg(windows)]
24469pub const KHR_D3D12_ENABLE_EXTENSION_NAME: &[u8] = b"XR_KHR_D3D12_enable\0";
24470#[cfg(target_vendor = "apple")]
24471pub const KHR_metal_enable_SPEC_VERSION: u32 = 3u32;
24472#[cfg(target_vendor = "apple")]
24473pub const KHR_METAL_ENABLE_EXTENSION_NAME: &[u8] = b"XR_KHR_metal_enable\0";
24474pub const KHR_visibility_mask_SPEC_VERSION: u32 = 2u32;
24475pub const KHR_VISIBILITY_MASK_EXTENSION_NAME: &[u8] = b"XR_KHR_visibility_mask\0";
24476pub const KHR_composition_layer_color_scale_bias_SPEC_VERSION: u32 = 5u32;
24477pub const KHR_COMPOSITION_LAYER_COLOR_SCALE_BIAS_EXTENSION_NAME: &[u8] =
24478    b"XR_KHR_composition_layer_color_scale_bias\0";
24479#[cfg(windows)]
24480pub const KHR_win32_convert_performance_counter_time_SPEC_VERSION: u32 = 1u32;
24481#[cfg(windows)]
24482pub const KHR_WIN32_CONVERT_PERFORMANCE_COUNTER_TIME_EXTENSION_NAME: &[u8] =
24483    b"XR_KHR_win32_convert_performance_counter_time\0";
24484pub const KHR_convert_timespec_time_SPEC_VERSION: u32 = 1u32;
24485pub const KHR_CONVERT_TIMESPEC_TIME_EXTENSION_NAME: &[u8] = b"XR_KHR_convert_timespec_time\0";
24486pub const KHR_loader_init_SPEC_VERSION: u32 = 2u32;
24487pub const KHR_LOADER_INIT_EXTENSION_NAME: &[u8] = b"XR_KHR_loader_init\0";
24488#[cfg(target_os = "android")]
24489pub const KHR_loader_init_android_SPEC_VERSION: u32 = 1u32;
24490#[cfg(target_os = "android")]
24491pub const KHR_LOADER_INIT_ANDROID_EXTENSION_NAME: &[u8] = b"XR_KHR_loader_init_android\0";
24492pub const KHR_vulkan_enable2_SPEC_VERSION: u32 = 4u32;
24493pub const KHR_VULKAN_ENABLE2_EXTENSION_NAME: &[u8] = b"XR_KHR_vulkan_enable2\0";
24494pub const KHR_composition_layer_equirect2_SPEC_VERSION: u32 = 1u32;
24495pub const KHR_COMPOSITION_LAYER_EQUIRECT2_EXTENSION_NAME: &[u8] =
24496    b"XR_KHR_composition_layer_equirect2\0";
24497pub const KHR_binding_modification_SPEC_VERSION: u32 = 1u32;
24498pub const KHR_BINDING_MODIFICATION_EXTENSION_NAME: &[u8] = b"XR_KHR_binding_modification\0";
24499pub const KHR_extended_struct_name_lengths_SPEC_VERSION: u32 = 2u32;
24500pub const KHR_EXTENDED_STRUCT_NAME_LENGTHS_EXTENSION_NAME: &[u8] =
24501    b"XR_KHR_extended_struct_name_lengths\0";
24502pub const KHR_swapchain_usage_input_attachment_bit_SPEC_VERSION: u32 = 3u32;
24503pub const KHR_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_EXTENSION_NAME: &[u8] =
24504    b"XR_KHR_swapchain_usage_input_attachment_bit\0";
24505pub const KHR_locate_spaces_SPEC_VERSION: u32 = 1u32;
24506pub const KHR_LOCATE_SPACES_EXTENSION_NAME: &[u8] = b"XR_KHR_locate_spaces\0";
24507pub const KHR_maintenance1_SPEC_VERSION: u32 = 1u32;
24508pub const KHR_MAINTENANCE1_EXTENSION_NAME: &[u8] = b"XR_KHR_maintenance1\0";
24509pub const KHR_generic_controller_SPEC_VERSION: u32 = 1u32;
24510pub const KHR_GENERIC_CONTROLLER_EXTENSION_NAME: &[u8] = b"XR_KHR_generic_controller\0";
24511pub const LOGITECH_mx_ink_stylus_interaction_SPEC_VERSION: u32 = 1u32;
24512pub const LOGITECH_MX_INK_STYLUS_INTERACTION_EXTENSION_NAME: &[u8] =
24513    b"XR_LOGITECH_mx_ink_stylus_interaction\0";
24514pub const META_foveation_eye_tracked_SPEC_VERSION: u32 = 1u32;
24515pub const META_FOVEATION_EYE_TRACKED_EXTENSION_NAME: &[u8] = b"XR_META_foveation_eye_tracked\0";
24516pub const META_local_dimming_SPEC_VERSION: u32 = 1u32;
24517pub const META_LOCAL_DIMMING_EXTENSION_NAME: &[u8] = b"XR_META_local_dimming\0";
24518pub const META_passthrough_preferences_SPEC_VERSION: u32 = 1u32;
24519pub const META_PASSTHROUGH_PREFERENCES_EXTENSION_NAME: &[u8] = b"XR_META_passthrough_preferences\0";
24520pub const META_virtual_keyboard_SPEC_VERSION: u32 = 1u32;
24521pub const META_VIRTUAL_KEYBOARD_EXTENSION_NAME: &[u8] = b"XR_META_virtual_keyboard\0";
24522pub const META_vulkan_swapchain_create_info_SPEC_VERSION: u32 = 1u32;
24523pub const META_VULKAN_SWAPCHAIN_CREATE_INFO_EXTENSION_NAME: &[u8] =
24524    b"XR_META_vulkan_swapchain_create_info\0";
24525pub const META_performance_metrics_SPEC_VERSION: u32 = 2u32;
24526pub const META_PERFORMANCE_METRICS_EXTENSION_NAME: &[u8] = b"XR_META_performance_metrics\0";
24527pub const META_detached_controllers_SPEC_VERSION: u32 = 1u32;
24528pub const META_DETACHED_CONTROLLERS_EXTENSION_NAME: &[u8] = b"XR_META_detached_controllers\0";
24529pub const META_headset_id_SPEC_VERSION: u32 = 2u32;
24530pub const META_HEADSET_ID_EXTENSION_NAME: &[u8] = b"XR_META_headset_id\0";
24531pub const META_spatial_entity_discovery_SPEC_VERSION: u32 = 1u32;
24532pub const META_SPATIAL_ENTITY_DISCOVERY_EXTENSION_NAME: &[u8] =
24533    b"XR_META_spatial_entity_discovery\0";
24534pub const META_hand_tracking_microgestures_SPEC_VERSION: u32 = 1u32;
24535pub const META_HAND_TRACKING_MICROGESTURES_EXTENSION_NAME: &[u8] =
24536    b"XR_META_hand_tracking_microgestures\0";
24537pub const META_recommended_layer_resolution_SPEC_VERSION: u32 = 1u32;
24538pub const META_RECOMMENDED_LAYER_RESOLUTION_EXTENSION_NAME: &[u8] =
24539    b"XR_META_recommended_layer_resolution\0";
24540pub const META_spatial_entity_persistence_SPEC_VERSION: u32 = 1u32;
24541pub const META_SPATIAL_ENTITY_PERSISTENCE_EXTENSION_NAME: &[u8] =
24542    b"XR_META_spatial_entity_persistence\0";
24543pub const META_passthrough_color_lut_SPEC_VERSION: u32 = 1u32;
24544pub const META_PASSTHROUGH_COLOR_LUT_EXTENSION_NAME: &[u8] = b"XR_META_passthrough_color_lut\0";
24545pub const META_spatial_entity_mesh_SPEC_VERSION: u32 = 1u32;
24546pub const META_SPATIAL_ENTITY_MESH_EXTENSION_NAME: &[u8] = b"XR_META_spatial_entity_mesh\0";
24547pub const META_automatic_layer_filter_SPEC_VERSION: u32 = 1u32;
24548pub const META_AUTOMATIC_LAYER_FILTER_EXTENSION_NAME: &[u8] = b"XR_META_automatic_layer_filter\0";
24549pub const META_body_tracking_full_body_SPEC_VERSION: u32 = 1u32;
24550pub const META_BODY_TRACKING_FULL_BODY_EXTENSION_NAME: &[u8] = b"XR_META_body_tracking_full_body\0";
24551pub const META_touch_controller_plus_SPEC_VERSION: u32 = 1u32;
24552pub const META_TOUCH_CONTROLLER_PLUS_EXTENSION_NAME: &[u8] = b"XR_META_touch_controller_plus\0";
24553pub const META_passthrough_layer_resumed_event_SPEC_VERSION: u32 = 1u32;
24554pub const META_PASSTHROUGH_LAYER_RESUMED_EVENT_EXTENSION_NAME: &[u8] =
24555    b"XR_META_passthrough_layer_resumed_event\0";
24556pub const META_body_tracking_calibration_SPEC_VERSION: u32 = 1u32;
24557pub const META_BODY_TRACKING_CALIBRATION_EXTENSION_NAME: &[u8] =
24558    b"XR_META_body_tracking_calibration\0";
24559pub const META_body_tracking_fidelity_SPEC_VERSION: u32 = 1u32;
24560pub const META_BODY_TRACKING_FIDELITY_EXTENSION_NAME: &[u8] = b"XR_META_body_tracking_fidelity\0";
24561pub const META_spatial_entity_sharing_SPEC_VERSION: u32 = 1u32;
24562pub const META_SPATIAL_ENTITY_SHARING_EXTENSION_NAME: &[u8] = b"XR_META_spatial_entity_sharing\0";
24563pub const META_environment_depth_SPEC_VERSION: u32 = 2u32;
24564pub const META_ENVIRONMENT_DEPTH_EXTENSION_NAME: &[u8] = b"XR_META_environment_depth\0";
24565pub const META_simultaneous_hands_and_controllers_SPEC_VERSION: u32 = 1u32;
24566pub const META_SIMULTANEOUS_HANDS_AND_CONTROLLERS_EXTENSION_NAME: &[u8] =
24567    b"XR_META_simultaneous_hands_and_controllers\0";
24568pub const META_spatial_entity_semantic_label_SPEC_VERSION: u32 = 1u32;
24569pub const META_SPATIAL_ENTITY_SEMANTIC_LABEL_EXTENSION_NAME: &[u8] =
24570    b"XR_META_spatial_entity_semantic_label\0";
24571pub const META_colocation_discovery_SPEC_VERSION: u32 = 1u32;
24572pub const META_COLOCATION_DISCOVERY_EXTENSION_NAME: &[u8] = b"XR_META_colocation_discovery\0";
24573pub const META_spatial_entity_group_sharing_SPEC_VERSION: u32 = 1u32;
24574pub const META_SPATIAL_ENTITY_GROUP_SHARING_EXTENSION_NAME: &[u8] =
24575    b"XR_META_spatial_entity_group_sharing\0";
24576pub const META_environment_raycast_SPEC_VERSION: u32 = 1u32;
24577pub const META_ENVIRONMENT_RAYCAST_EXTENSION_NAME: &[u8] = b"XR_META_environment_raycast\0";
24578pub const META_tile_properties_hint_SPEC_VERSION: u32 = 1u32;
24579pub const META_TILE_PROPERTIES_HINT_EXTENSION_NAME: &[u8] = b"XR_META_tile_properties_hint\0";
24580pub const ML_ml2_controller_interaction_SPEC_VERSION: u32 = 1u32;
24581pub const ML_ML2_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] =
24582    b"XR_ML_ml2_controller_interaction\0";
24583pub const ML_frame_end_info_SPEC_VERSION: u32 = 1u32;
24584pub const ML_FRAME_END_INFO_EXTENSION_NAME: &[u8] = b"XR_ML_frame_end_info\0";
24585pub const ML_global_dimmer_SPEC_VERSION: u32 = 1u32;
24586pub const ML_GLOBAL_DIMMER_EXTENSION_NAME: &[u8] = b"XR_ML_global_dimmer\0";
24587pub const ML_compat_SPEC_VERSION: u32 = 1u32;
24588pub const ML_COMPAT_EXTENSION_NAME: &[u8] = b"XR_ML_compat\0";
24589pub const ML_marker_understanding_SPEC_VERSION: u32 = 1u32;
24590pub const ML_MARKER_UNDERSTANDING_EXTENSION_NAME: &[u8] = b"XR_ML_marker_understanding\0";
24591pub const ML_localization_map_SPEC_VERSION: u32 = 1u32;
24592pub const ML_LOCALIZATION_MAP_EXTENSION_NAME: &[u8] = b"XR_ML_localization_map\0";
24593pub const ML_spatial_anchors_SPEC_VERSION: u32 = 1u32;
24594pub const ML_SPATIAL_ANCHORS_EXTENSION_NAME: &[u8] = b"XR_ML_spatial_anchors\0";
24595pub const ML_spatial_anchors_storage_SPEC_VERSION: u32 = 1u32;
24596pub const ML_SPATIAL_ANCHORS_STORAGE_EXTENSION_NAME: &[u8] = b"XR_ML_spatial_anchors_storage\0";
24597pub const ML_user_calibration_SPEC_VERSION: u32 = 1u32;
24598pub const ML_USER_CALIBRATION_EXTENSION_NAME: &[u8] = b"XR_ML_user_calibration\0";
24599pub const ML_system_notifications_SPEC_VERSION: u32 = 1u32;
24600pub const ML_SYSTEM_NOTIFICATIONS_EXTENSION_NAME: &[u8] = b"XR_ML_system_notifications\0";
24601pub const ML_world_mesh_detection_SPEC_VERSION: u32 = 1u32;
24602pub const ML_WORLD_MESH_DETECTION_EXTENSION_NAME: &[u8] = b"XR_ML_world_mesh_detection\0";
24603pub const ML_facial_expression_SPEC_VERSION: u32 = 1u32;
24604pub const ML_FACIAL_EXPRESSION_EXTENSION_NAME: &[u8] = b"XR_ML_facial_expression\0";
24605pub const ML_view_configuration_depth_range_change_SPEC_VERSION: u32 = 1u32;
24606pub const ML_VIEW_CONFIGURATION_DEPTH_RANGE_CHANGE_EXTENSION_NAME: &[u8] =
24607    b"XR_ML_view_configuration_depth_range_change\0";
24608pub const MND_headless_SPEC_VERSION: u32 = 3u32;
24609pub const MND_HEADLESS_EXTENSION_NAME: &[u8] = b"XR_MND_headless\0";
24610pub const MND_swapchain_usage_input_attachment_bit_SPEC_VERSION: u32 = 2u32;
24611pub const MND_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_EXTENSION_NAME: &[u8] =
24612    b"XR_MND_swapchain_usage_input_attachment_bit\0";
24613pub const MSFT_unbounded_reference_space_SPEC_VERSION: u32 = 1u32;
24614pub const MSFT_UNBOUNDED_REFERENCE_SPACE_EXTENSION_NAME: &[u8] =
24615    b"XR_MSFT_unbounded_reference_space\0";
24616pub const MSFT_spatial_anchor_SPEC_VERSION: u32 = 2u32;
24617pub const MSFT_SPATIAL_ANCHOR_EXTENSION_NAME: &[u8] = b"XR_MSFT_spatial_anchor\0";
24618pub const MSFT_spatial_graph_bridge_SPEC_VERSION: u32 = 2u32;
24619pub const MSFT_SPATIAL_GRAPH_BRIDGE_EXTENSION_NAME: &[u8] = b"XR_MSFT_spatial_graph_bridge\0";
24620pub const MSFT_hand_interaction_SPEC_VERSION: u32 = 1u32;
24621pub const MSFT_HAND_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_MSFT_hand_interaction\0";
24622pub const MSFT_hand_tracking_mesh_SPEC_VERSION: u32 = 4u32;
24623pub const MSFT_HAND_TRACKING_MESH_EXTENSION_NAME: &[u8] = b"XR_MSFT_hand_tracking_mesh\0";
24624pub const MSFT_secondary_view_configuration_SPEC_VERSION: u32 = 1u32;
24625pub const MSFT_SECONDARY_VIEW_CONFIGURATION_EXTENSION_NAME: &[u8] =
24626    b"XR_MSFT_secondary_view_configuration\0";
24627pub const MSFT_first_person_observer_SPEC_VERSION: u32 = 1u32;
24628pub const MSFT_FIRST_PERSON_OBSERVER_EXTENSION_NAME: &[u8] = b"XR_MSFT_first_person_observer\0";
24629pub const MSFT_controller_model_SPEC_VERSION: u32 = 2u32;
24630pub const MSFT_CONTROLLER_MODEL_EXTENSION_NAME: &[u8] = b"XR_MSFT_controller_model\0";
24631#[cfg(windows)]
24632pub const MSFT_perception_anchor_interop_SPEC_VERSION: u32 = 1u32;
24633#[cfg(windows)]
24634pub const MSFT_PERCEPTION_ANCHOR_INTEROP_EXTENSION_NAME: &[u8] =
24635    b"XR_MSFT_perception_anchor_interop\0";
24636#[cfg(windows)]
24637pub const MSFT_holographic_window_attachment_SPEC_VERSION: u32 = 1u32;
24638#[cfg(windows)]
24639pub const MSFT_HOLOGRAPHIC_WINDOW_ATTACHMENT_EXTENSION_NAME: &[u8] =
24640    b"XR_MSFT_holographic_window_attachment\0";
24641pub const MSFT_composition_layer_reprojection_SPEC_VERSION: u32 = 1u32;
24642pub const MSFT_COMPOSITION_LAYER_REPROJECTION_EXTENSION_NAME: &[u8] =
24643    b"XR_MSFT_composition_layer_reprojection\0";
24644pub const MSFT_scene_understanding_SPEC_VERSION: u32 = 2u32;
24645pub const MSFT_SCENE_UNDERSTANDING_EXTENSION_NAME: &[u8] = b"XR_MSFT_scene_understanding\0";
24646pub const MSFT_scene_understanding_serialization_SPEC_VERSION: u32 = 2u32;
24647pub const MSFT_SCENE_UNDERSTANDING_SERIALIZATION_EXTENSION_NAME: &[u8] =
24648    b"XR_MSFT_scene_understanding_serialization\0";
24649pub const MSFT_spatial_anchor_persistence_SPEC_VERSION: u32 = 2u32;
24650pub const MSFT_SPATIAL_ANCHOR_PERSISTENCE_EXTENSION_NAME: &[u8] =
24651    b"XR_MSFT_spatial_anchor_persistence\0";
24652pub const MSFT_scene_marker_SPEC_VERSION: u32 = 1u32;
24653pub const MSFT_SCENE_MARKER_EXTENSION_NAME: &[u8] = b"XR_MSFT_scene_marker\0";
24654#[cfg(target_os = "android")]
24655pub const OCULUS_android_session_state_enable_SPEC_VERSION: u32 = 1u32;
24656#[cfg(target_os = "android")]
24657pub const OCULUS_ANDROID_SESSION_STATE_ENABLE_EXTENSION_NAME: &[u8] =
24658    b"XR_OCULUS_android_session_state_enable\0";
24659pub const OCULUS_audio_device_guid_SPEC_VERSION: u32 = 1u32;
24660pub const OCULUS_AUDIO_DEVICE_GUID_EXTENSION_NAME: &[u8] = b"XR_OCULUS_audio_device_guid\0";
24661pub const OCULUS_external_camera_SPEC_VERSION: u32 = 1u32;
24662pub const OCULUS_EXTERNAL_CAMERA_EXTENSION_NAME: &[u8] = b"XR_OCULUS_external_camera\0";
24663pub const OPPO_controller_interaction_SPEC_VERSION: u32 = 1u32;
24664pub const OPPO_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_OPPO_controller_interaction\0";
24665pub const QCOM_tracking_optimization_settings_SPEC_VERSION: u32 = 1u32;
24666pub const QCOM_TRACKING_OPTIMIZATION_SETTINGS_EXTENSION_NAME: &[u8] =
24667    b"XR_QCOM_tracking_optimization_settings\0";
24668pub const QCOM_hand_tracking_gesture_SPEC_VERSION: u32 = 1u32;
24669pub const QCOM_HAND_TRACKING_GESTURE_EXTENSION_NAME: &[u8] = b"XR_QCOM_hand_tracking_gesture\0";
24670pub const ULTRALEAP_hand_tracking_forearm_SPEC_VERSION: u32 = 1u32;
24671pub const ULTRALEAP_HAND_TRACKING_FOREARM_EXTENSION_NAME: &[u8] =
24672    b"XR_ULTRALEAP_hand_tracking_forearm\0";
24673pub const VALVE_analog_threshold_SPEC_VERSION: u32 = 2u32;
24674pub const VALVE_ANALOG_THRESHOLD_EXTENSION_NAME: &[u8] = b"XR_VALVE_analog_threshold\0";
24675pub const VARJO_quad_views_SPEC_VERSION: u32 = 2u32;
24676pub const VARJO_QUAD_VIEWS_EXTENSION_NAME: &[u8] = b"XR_VARJO_quad_views\0";
24677pub const VARJO_foveated_rendering_SPEC_VERSION: u32 = 3u32;
24678pub const VARJO_FOVEATED_RENDERING_EXTENSION_NAME: &[u8] = b"XR_VARJO_foveated_rendering\0";
24679pub const VARJO_composition_layer_depth_test_SPEC_VERSION: u32 = 2u32;
24680pub const VARJO_COMPOSITION_LAYER_DEPTH_TEST_EXTENSION_NAME: &[u8] =
24681    b"XR_VARJO_composition_layer_depth_test\0";
24682pub const VARJO_environment_depth_estimation_SPEC_VERSION: u32 = 1u32;
24683pub const VARJO_ENVIRONMENT_DEPTH_ESTIMATION_EXTENSION_NAME: &[u8] =
24684    b"XR_VARJO_environment_depth_estimation\0";
24685pub const VARJO_marker_tracking_SPEC_VERSION: u32 = 1u32;
24686pub const VARJO_MARKER_TRACKING_EXTENSION_NAME: &[u8] = b"XR_VARJO_marker_tracking\0";
24687pub const VARJO_view_offset_SPEC_VERSION: u32 = 1u32;
24688pub const VARJO_VIEW_OFFSET_EXTENSION_NAME: &[u8] = b"XR_VARJO_view_offset\0";
24689pub const VARJO_xr4_controller_interaction_SPEC_VERSION: u32 = 2u32;
24690pub const VARJO_XR4_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] =
24691    b"XR_VARJO_xr4_controller_interaction\0";
24692pub const YVR_controller_interaction_SPEC_VERSION: u32 = 1u32;
24693pub const YVR_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_YVR_controller_interaction\0";
24694pub const EXTX_overlay_SPEC_VERSION: u32 = 5u32;
24695pub const EXTX_OVERLAY_EXTENSION_NAME: &[u8] = b"XR_EXTX_overlay\0";
24696pub const MNDX_egl_enable_SPEC_VERSION: u32 = 2u32;
24697pub const MNDX_EGL_ENABLE_EXTENSION_NAME: &[u8] = b"XR_MNDX_egl_enable\0";
24698pub const MNDX_force_feedback_curl_SPEC_VERSION: u32 = 1u32;
24699pub const MNDX_FORCE_FEEDBACK_CURL_EXTENSION_NAME: &[u8] = b"XR_MNDX_force_feedback_curl\0";
24700pub const HTCX_vive_tracker_interaction_SPEC_VERSION: u32 = 3u32;
24701pub const HTCX_VIVE_TRACKER_INTERACTION_EXTENSION_NAME: &[u8] =
24702    b"XR_HTCX_vive_tracker_interaction\0";
24703#[cfg(feature = "linked")]
24704unsafe extern "system" {
24705    #[link_name = "xrNegotiateLoaderRuntimeInterface"]
24706    pub fn negotiate_loader_runtime_interface(
24707        loader_info: *const NegotiateLoaderInfo,
24708        runtime_request: *mut NegotiateRuntimeRequest,
24709    ) -> Result;
24710    #[link_name = "xrNegotiateLoaderApiLayerInterface"]
24711    pub fn negotiate_loader_api_layer_interface(
24712        loader_info: *const NegotiateLoaderInfo,
24713        layer_name: *const c_char,
24714        api_layer_request: *mut NegotiateApiLayerRequest,
24715    ) -> Result;
24716    #[link_name = "xrCreateApiLayerInstance"]
24717    pub fn create_api_layer_instance(
24718        info: *const InstanceCreateInfo,
24719        layer_info: *const ApiLayerCreateInfo,
24720        instance: *mut Instance,
24721    ) -> Result;
24722    #[link_name = "xrGetInstanceProcAddr"]
24723    pub fn get_instance_proc_addr(
24724        instance: Instance,
24725        name: *const c_char,
24726        function: *mut Option<pfn::VoidFunction>,
24727    ) -> Result;
24728    #[link_name = "xrEnumerateApiLayerProperties"]
24729    pub fn enumerate_api_layer_properties(
24730        property_capacity_input: u32,
24731        property_count_output: *mut u32,
24732        properties: *mut ApiLayerProperties,
24733    ) -> Result;
24734    #[link_name = "xrEnumerateInstanceExtensionProperties"]
24735    pub fn enumerate_instance_extension_properties(
24736        layer_name: *const c_char,
24737        property_capacity_input: u32,
24738        property_count_output: *mut u32,
24739        properties: *mut ExtensionProperties,
24740    ) -> Result;
24741    #[link_name = "xrCreateInstance"]
24742    pub fn create_instance(
24743        create_info: *const InstanceCreateInfo,
24744        instance: *mut Instance,
24745    ) -> Result;
24746    #[link_name = "xrDestroyInstance"]
24747    pub fn destroy_instance(instance: Instance) -> Result;
24748    #[link_name = "xrResultToString"]
24749    pub fn result_to_string(instance: Instance, value: Result, buffer: *mut c_char) -> Result;
24750    #[link_name = "xrStructureTypeToString"]
24751    pub fn structure_type_to_string(
24752        instance: Instance,
24753        value: StructureType,
24754        buffer: *mut c_char,
24755    ) -> Result;
24756    #[link_name = "xrGetInstanceProperties"]
24757    pub fn get_instance_properties(
24758        instance: Instance,
24759        instance_properties: *mut InstanceProperties,
24760    ) -> Result;
24761    #[link_name = "xrGetSystem"]
24762    pub fn get_system(
24763        instance: Instance,
24764        get_info: *const SystemGetInfo,
24765        system_id: *mut SystemId,
24766    ) -> Result;
24767    #[link_name = "xrGetSystemProperties"]
24768    pub fn get_system_properties(
24769        instance: Instance,
24770        system_id: SystemId,
24771        properties: *mut SystemProperties,
24772    ) -> Result;
24773    #[link_name = "xrCreateSession"]
24774    pub fn create_session(
24775        instance: Instance,
24776        create_info: *const SessionCreateInfo,
24777        session: *mut Session,
24778    ) -> Result;
24779    #[link_name = "xrDestroySession"]
24780    pub fn destroy_session(session: Session) -> Result;
24781    #[link_name = "xrDestroySpace"]
24782    pub fn destroy_space(space: Space) -> Result;
24783    #[link_name = "xrEnumerateSwapchainFormats"]
24784    pub fn enumerate_swapchain_formats(
24785        session: Session,
24786        format_capacity_input: u32,
24787        format_count_output: *mut u32,
24788        formats: *mut i64,
24789    ) -> Result;
24790    #[link_name = "xrCreateSwapchain"]
24791    pub fn create_swapchain(
24792        session: Session,
24793        create_info: *const SwapchainCreateInfo,
24794        swapchain: *mut Swapchain,
24795    ) -> Result;
24796    #[link_name = "xrDestroySwapchain"]
24797    pub fn destroy_swapchain(swapchain: Swapchain) -> Result;
24798    #[link_name = "xrEnumerateSwapchainImages"]
24799    pub fn enumerate_swapchain_images(
24800        swapchain: Swapchain,
24801        image_capacity_input: u32,
24802        image_count_output: *mut u32,
24803        images: *mut SwapchainImageBaseHeader,
24804    ) -> Result;
24805    #[link_name = "xrAcquireSwapchainImage"]
24806    pub fn acquire_swapchain_image(
24807        swapchain: Swapchain,
24808        acquire_info: *const SwapchainImageAcquireInfo,
24809        index: *mut u32,
24810    ) -> Result;
24811    #[link_name = "xrWaitSwapchainImage"]
24812    pub fn wait_swapchain_image(
24813        swapchain: Swapchain,
24814        wait_info: *const SwapchainImageWaitInfo,
24815    ) -> Result;
24816    #[link_name = "xrReleaseSwapchainImage"]
24817    pub fn release_swapchain_image(
24818        swapchain: Swapchain,
24819        release_info: *const SwapchainImageReleaseInfo,
24820    ) -> Result;
24821    #[link_name = "xrBeginSession"]
24822    pub fn begin_session(session: Session, begin_info: *const SessionBeginInfo) -> Result;
24823    #[link_name = "xrEndSession"]
24824    pub fn end_session(session: Session) -> Result;
24825    #[link_name = "xrRequestExitSession"]
24826    pub fn request_exit_session(session: Session) -> Result;
24827    #[link_name = "xrEnumerateReferenceSpaces"]
24828    pub fn enumerate_reference_spaces(
24829        session: Session,
24830        space_capacity_input: u32,
24831        space_count_output: *mut u32,
24832        spaces: *mut ReferenceSpaceType,
24833    ) -> Result;
24834    #[link_name = "xrCreateReferenceSpace"]
24835    pub fn create_reference_space(
24836        session: Session,
24837        create_info: *const ReferenceSpaceCreateInfo,
24838        space: *mut Space,
24839    ) -> Result;
24840    #[link_name = "xrCreateActionSpace"]
24841    pub fn create_action_space(
24842        session: Session,
24843        create_info: *const ActionSpaceCreateInfo,
24844        space: *mut Space,
24845    ) -> Result;
24846    #[link_name = "xrLocateSpace"]
24847    pub fn locate_space(
24848        space: Space,
24849        base_space: Space,
24850        time: Time,
24851        location: *mut SpaceLocation,
24852    ) -> Result;
24853    #[link_name = "xrEnumerateViewConfigurations"]
24854    pub fn enumerate_view_configurations(
24855        instance: Instance,
24856        system_id: SystemId,
24857        view_configuration_type_capacity_input: u32,
24858        view_configuration_type_count_output: *mut u32,
24859        view_configuration_types: *mut ViewConfigurationType,
24860    ) -> Result;
24861    #[link_name = "xrEnumerateEnvironmentBlendModes"]
24862    pub fn enumerate_environment_blend_modes(
24863        instance: Instance,
24864        system_id: SystemId,
24865        view_configuration_type: ViewConfigurationType,
24866        environment_blend_mode_capacity_input: u32,
24867        environment_blend_mode_count_output: *mut u32,
24868        environment_blend_modes: *mut EnvironmentBlendMode,
24869    ) -> Result;
24870    #[link_name = "xrGetViewConfigurationProperties"]
24871    pub fn get_view_configuration_properties(
24872        instance: Instance,
24873        system_id: SystemId,
24874        view_configuration_type: ViewConfigurationType,
24875        configuration_properties: *mut ViewConfigurationProperties,
24876    ) -> Result;
24877    #[link_name = "xrEnumerateViewConfigurationViews"]
24878    pub fn enumerate_view_configuration_views(
24879        instance: Instance,
24880        system_id: SystemId,
24881        view_configuration_type: ViewConfigurationType,
24882        view_capacity_input: u32,
24883        view_count_output: *mut u32,
24884        views: *mut ViewConfigurationView,
24885    ) -> Result;
24886    #[link_name = "xrBeginFrame"]
24887    pub fn begin_frame(session: Session, frame_begin_info: *const FrameBeginInfo) -> Result;
24888    #[link_name = "xrLocateViews"]
24889    pub fn locate_views(
24890        session: Session,
24891        view_locate_info: *const ViewLocateInfo,
24892        view_state: *mut ViewState,
24893        view_capacity_input: u32,
24894        view_count_output: *mut u32,
24895        views: *mut View,
24896    ) -> Result;
24897    #[link_name = "xrEndFrame"]
24898    pub fn end_frame(session: Session, frame_end_info: *const FrameEndInfo) -> Result;
24899    #[link_name = "xrWaitFrame"]
24900    pub fn wait_frame(
24901        session: Session,
24902        frame_wait_info: *const FrameWaitInfo,
24903        frame_state: *mut FrameState,
24904    ) -> Result;
24905    #[link_name = "xrApplyHapticFeedback"]
24906    pub fn apply_haptic_feedback(
24907        session: Session,
24908        haptic_action_info: *const HapticActionInfo,
24909        haptic_feedback: *const HapticBaseHeader,
24910    ) -> Result;
24911    #[link_name = "xrStopHapticFeedback"]
24912    pub fn stop_haptic_feedback(
24913        session: Session,
24914        haptic_action_info: *const HapticActionInfo,
24915    ) -> Result;
24916    #[link_name = "xrPollEvent"]
24917    pub fn poll_event(instance: Instance, event_data: *mut EventDataBuffer) -> Result;
24918    #[link_name = "xrStringToPath"]
24919    pub fn string_to_path(
24920        instance: Instance,
24921        path_string: *const c_char,
24922        path: *mut Path,
24923    ) -> Result;
24924    #[link_name = "xrPathToString"]
24925    pub fn path_to_string(
24926        instance: Instance,
24927        path: Path,
24928        buffer_capacity_input: u32,
24929        buffer_count_output: *mut u32,
24930        buffer: *mut c_char,
24931    ) -> Result;
24932    #[link_name = "xrGetReferenceSpaceBoundsRect"]
24933    pub fn get_reference_space_bounds_rect(
24934        session: Session,
24935        reference_space_type: ReferenceSpaceType,
24936        bounds: *mut Extent2Df,
24937    ) -> Result;
24938    #[link_name = "xrGetActionStateBoolean"]
24939    pub fn get_action_state_boolean(
24940        session: Session,
24941        get_info: *const ActionStateGetInfo,
24942        state: *mut ActionStateBoolean,
24943    ) -> Result;
24944    #[link_name = "xrGetActionStateFloat"]
24945    pub fn get_action_state_float(
24946        session: Session,
24947        get_info: *const ActionStateGetInfo,
24948        state: *mut ActionStateFloat,
24949    ) -> Result;
24950    #[link_name = "xrGetActionStateVector2f"]
24951    pub fn get_action_state_vector2f(
24952        session: Session,
24953        get_info: *const ActionStateGetInfo,
24954        state: *mut ActionStateVector2f,
24955    ) -> Result;
24956    #[link_name = "xrGetActionStatePose"]
24957    pub fn get_action_state_pose(
24958        session: Session,
24959        get_info: *const ActionStateGetInfo,
24960        state: *mut ActionStatePose,
24961    ) -> Result;
24962    #[link_name = "xrCreateActionSet"]
24963    pub fn create_action_set(
24964        instance: Instance,
24965        create_info: *const ActionSetCreateInfo,
24966        action_set: *mut ActionSet,
24967    ) -> Result;
24968    #[link_name = "xrDestroyActionSet"]
24969    pub fn destroy_action_set(action_set: ActionSet) -> Result;
24970    #[link_name = "xrCreateAction"]
24971    pub fn create_action(
24972        action_set: ActionSet,
24973        create_info: *const ActionCreateInfo,
24974        action: *mut Action,
24975    ) -> Result;
24976    #[link_name = "xrDestroyAction"]
24977    pub fn destroy_action(action: Action) -> Result;
24978    #[link_name = "xrSuggestInteractionProfileBindings"]
24979    pub fn suggest_interaction_profile_bindings(
24980        instance: Instance,
24981        suggested_bindings: *const InteractionProfileSuggestedBinding,
24982    ) -> Result;
24983    #[link_name = "xrAttachSessionActionSets"]
24984    pub fn attach_session_action_sets(
24985        session: Session,
24986        attach_info: *const SessionActionSetsAttachInfo,
24987    ) -> Result;
24988    #[link_name = "xrGetCurrentInteractionProfile"]
24989    pub fn get_current_interaction_profile(
24990        session: Session,
24991        top_level_user_path: Path,
24992        interaction_profile: *mut InteractionProfileState,
24993    ) -> Result;
24994    #[link_name = "xrSyncActions"]
24995    pub fn sync_actions(session: Session, sync_info: *const ActionsSyncInfo) -> Result;
24996    #[link_name = "xrEnumerateBoundSourcesForAction"]
24997    pub fn enumerate_bound_sources_for_action(
24998        session: Session,
24999        enumerate_info: *const BoundSourcesForActionEnumerateInfo,
25000        source_capacity_input: u32,
25001        source_count_output: *mut u32,
25002        sources: *mut Path,
25003    ) -> Result;
25004    #[link_name = "xrGetInputSourceLocalizedName"]
25005    pub fn get_input_source_localized_name(
25006        session: Session,
25007        get_info: *const InputSourceLocalizedNameGetInfo,
25008        buffer_capacity_input: u32,
25009        buffer_count_output: *mut u32,
25010        buffer: *mut c_char,
25011    ) -> Result;
25012    #[link_name = "xrLocateSpaces"]
25013    pub fn locate_spaces(
25014        session: Session,
25015        locate_info: *const SpacesLocateInfo,
25016        space_locations: *mut SpaceLocations,
25017    ) -> Result;
25018    #[link_name = "xrLocateSpacesKHR"]
25019    pub fn locate_spaces_khr(
25020        session: Session,
25021        locate_info: *const SpacesLocateInfo,
25022        space_locations: *mut SpaceLocations,
25023    ) -> Result;
25024}